![Page 1: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/1.jpg)
Software Quality Assurance - Foundations and Fundamentals!
Tusha PavuluriAugust 16, 2017
![Page 2: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/2.jpg)
About TushaTusha leads the QA department at HelloSign.com, one of the major key players in the field of electronic
signatures. Along with a Masters in Computer Science, I have several (12+) years of software industry
experience in the areas of both quality assurance and development. My career spans from being a Java
developer to a Management professional, during which I have been passionate about not only coding in
Java and C#, but also the many facets of quality assurance like UI/API/Automation. I also have been
playing a key role in advocating the importance of various Agile techniques in determining the ultimate
quality of the software product, thereby strengthening the Product/Development/QA teams!
![Page 3: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/3.jpg)
Objectives
●The main purpose of this presentation is to focus on the end to end practical
knowledge of SQA - it’s role, deliverables and the processes involved in SDLC
(Software Development Life Cycle)
●Key takeaways include:
●Understanding how SDLC works in different methodologies.
●Fundamental knowledge of Different roles of QA in a product life cycle.
●Team collaboration between Dev/Product/QA.
●Software QA deliverables.
●Practical approach to deliver a high-quality product on time.
![Page 4: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/4.jpg)
Software Development Life Cycle (SDLC)
- What is SDLC?
- Phases of SDLC
- Models of SDLC
- Waterfall
- Spiral
- V&V
- Iterative
- Big Bang
- Agile
![Page 5: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/5.jpg)
Waterfall Model
![Page 6: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/6.jpg)
Spiral Model example
![Page 7: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/7.jpg)
Iterative Model
![Page 8: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/8.jpg)
Agile Model
![Page 9: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/9.jpg)
Agile - Process
Important Keywords and Concepts:
● User stories
● Scrum Boards
● Sprint Backlogs
● Burn down charts (and other charts)
Standard Sprint workflow:
User Stories -> Implementation/Functional Testing (QA env) -> Deployment to
Staging/Preprod -> Regression tests (manual/automated) on Staging -> Release to
Prod -> Sanity tests (manual/automated) on Prod.
![Page 10: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/10.jpg)
User Stories
● What is a user story?
● How is an user story useful in an Agile?
● Why is the user story the most “crucial” component for testing?
○ Acceptance Criteria
![Page 11: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/11.jpg)
Acceptance Criteria - Deep DiveExample user story:
As an existing user of HelloSign, I want to be able to see the signed signature requests from signers, so
that I know that my signature requests have been signed.
Example acceptance criteria:
● The Documents page is displayed.
● The Documents page should have sections that indicate different statuses'.
● The Documents page should display a section with with Completed signature requests.
● The Completed signature request should have options to Preview/Download the signature request.
![Page 12: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/12.jpg)
Agile Management Tools
Some of the common Agile Management tools:
● JIRA
● Rally
● Version One
● Pivotal Tracker
JIRA:
● Workflow Stages
![Page 13: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/13.jpg)
JIRA - Workflows/User Story
Practical example of using JIRA to create a user story (to be presented in the
session..)
![Page 14: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/14.jpg)
Jira User Story
![Page 15: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/15.jpg)
Jira User Story (cont’d)
![Page 16: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/16.jpg)
Jira User Story (cont’d)
![Page 17: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/17.jpg)
Jira User Story (cont’d)
![Page 18: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/18.jpg)
Jira User Story (cont’d)
![Page 19: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/19.jpg)
JIRA Workflows
Practical example as to the workflow states that follow upon creating a user story
in a Sprint: (to be presented in the session..)
Note that these states can be customized further.
![Page 20: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/20.jpg)
Jira States
Jira states..
![Page 21: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/21.jpg)
Jira Workflow Screens
![Page 22: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/22.jpg)
Jira Workflow Screens
![Page 23: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/23.jpg)
Jira Workflow Screens
![Page 24: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/24.jpg)
Jira Workflow Screens
![Page 25: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/25.jpg)
Jira Workflow Screens
![Page 26: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/26.jpg)
Jira Workflow Screens
![Page 27: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/27.jpg)
Jira Workflow Screens
![Page 28: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/28.jpg)
Jira Workflow Screens
![Page 29: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/29.jpg)
Jira Workflow Screens
![Page 30: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/30.jpg)
Jira Workflow Screens
![Page 31: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/31.jpg)
Jira Workflow States Diagram
![Page 32: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/32.jpg)
Collaboration
● Role of QA in a software project.
○ Importance of QA/Test team.
● Collaboration with Dev team.ç
● Association between QA and Product teams
![Page 33: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/33.jpg)
Automation
➢ The Whys
○ Why should we automate?
➢ The Whens
○ When should we automate?
➢ The Whats
○ What should be automated?
![Page 34: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/34.jpg)
Web/UI Automation Tools
➔QTP
➔Selenium
➔TestComplete
➔Watir
➔CasperJS
➔Capybara
➔etc...
![Page 35: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/35.jpg)
Selenium - Introduction & Basics➢ Open source
○ Originally developed at ThoughtWorks.
○ Free.
○ Download and install.
➢ Multiple language support
○ Java, Php, Ruby, C#, Python etc.
➢ Selenium IDE
○ UI Based tool. FireFox add-on. Record & Play. Generates code/script which can be modified.
➢ Selenium RC
○ Server written in Java.
○ Client drivers in different languages.
○ Deprecated now.
➢ Selenium WebDriver
○ Uses a Client API to send commands to browser via drivers (Firefox, Chrome, Edge, IE etc.,)
○ HtmlUnit browser or Headless browser.
➢ Selenium Grid
○ Server that enables web browser instances to run on remote machines.
○ Hub -> Servers -> WebDriver nodes (browser instances)
![Page 36: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/36.jpg)
WebDriver - Basics
An web element (UI element) can be located using:
1. By ID
2. By CSS
3. By xPath
4. By Tag Name
5. By Class Name
6. By Name
7. By Link Text
![Page 37: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/37.jpg)
Selenium - Maven Dependency
![Page 38: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/38.jpg)
WebDriver - Example Class (Java)
![Page 39: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/39.jpg)
Tools/Add-ons to locate UI elements
![Page 40: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/40.jpg)
Webelement Lookup
![Page 41: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/41.jpg)
Webelement Lookup (Cont’d)
![Page 42: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/42.jpg)
WebDriver - Page Object Model
Example - Folder Structure
➢Maven project (Java)○ Main/Java
■ Core
■ Utilities
■ Locators
■ Implementation
■ Page Objects
■ Test Data
○ JUnit/TestNG
■ Test classes
![Page 43: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/43.jpg)
Page object model - contd..
➢ Core
➢ Utilities
➢ Locators
➢ Implementation Interfaces
➢ Page Objects
➢ Test Data
![Page 44: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/44.jpg)
Page Object Model - Cont’d..
![Page 45: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/45.jpg)
Page Object model - contd..
JUnit/TestNG Test Classes
Example - GoogleSearchTest.java
This will the test implementations of the page object methods. In this example, the
methods - searchForHelloSign() and selectHelloSign() will be run as tests.
A single test case can be created individually or test suite can be created.
![Page 46: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/46.jpg)
Reports in Automation
While there are a few plugins available to report inbuilt reports in automation, below is one of the most
common plugin - SureFire, where the test results can be generated in HTML format.
Maven Surefire plugin and below is the screenshot as to how to integrate it as a dependency within the
Maven configuration (pom.xml).
![Page 47: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/47.jpg)
Sample Test Report
![Page 48: Software Quality Assurance - Foundations and Fundamentals! · 2017-09-03 · knowledge of SQA - it’s role, deliverables and the processes involved in SDLC (Software Development](https://reader033.vdocument.in/reader033/viewer/2022042223/5ec9a7127c3455151d652c5a/html5/thumbnails/48.jpg)
Q&A