Upload
vudieu
View
220
Download
2
Embed Size (px)
Citation preview
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!
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.
Software Development Life Cycle (SDLC)
- What is SDLC?
- Phases of SDLC
- Models of SDLC
- Waterfall
- Spiral
- V&V
- Iterative
- Big Bang
- Agile
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.
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
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.
Agile Management Tools
Some of the common Agile Management tools:
● JIRA
● Rally
● Version One
● Pivotal Tracker
JIRA:
● Workflow Stages
JIRA - Workflows/User Story
Practical example of using JIRA to create a user story (to be presented in the
session..)
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.
Collaboration
● Role of QA in a software project.
○ Importance of QA/Test team.
● Collaboration with Dev team.ç
● Association between QA and Product teams
Automation
➢ The Whys
○ Why should we automate?
➢ The Whens
○ When should we automate?
➢ The Whats
○ What should be automated?
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)
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
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 object model - contd..
➢ Core
➢ Utilities
➢ Locators
➢ Implementation Interfaces
➢ Page Objects
➢ Test Data
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.
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).