Fundamentals! Tusha Pavuluri August 16, 2017 About Tusha Tusha - - PowerPoint PPT Presentation

fundamentals
SMART_READER_LITE
LIVE PREVIEW

Fundamentals! Tusha Pavuluri August 16, 2017 About Tusha Tusha - - PowerPoint PPT Presentation

Software Quality Assurance - Foundations and Fundamentals! Tusha Pavuluri August 16, 2017 About Tusha Tusha leads the QA department at HelloSign.com, one of the major key players in the field of electronic signatures. Along with a Masters in


slide-1
SLIDE 1

Software Quality Assurance - Foundations and Fundamentals!

Tusha Pavuluri August 16, 2017

slide-2
SLIDE 2

About Tusha

Tusha 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!

slide-3
SLIDE 3

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.
slide-4
SLIDE 4

Software Development Life Cycle (SDLC)

  • What is SDLC?
  • Phases of SDLC
  • Models of SDLC
  • Waterfall
  • Spiral
  • V&V
  • Iterative
  • Big Bang
  • Agile
slide-5
SLIDE 5

Waterfall Model

slide-6
SLIDE 6

Spiral Model example

slide-7
SLIDE 7

Iterative Model

slide-8
SLIDE 8

Agile Model

slide-9
SLIDE 9

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.

slide-10
SLIDE 10

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

slide-11
SLIDE 11

Acceptance Criteria - Deep Dive

Example 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.
slide-12
SLIDE 12

Agile Management Tools

Some of the common Agile Management tools:

  • JIRA
  • Rally
  • Version One
  • Pivotal Tracker

JIRA:

  • Workflow Stages
slide-13
SLIDE 13

JIRA - Workflows/User Story

Practical example of using JIRA to create a user story (to be presented in the session..)

slide-14
SLIDE 14

Jira User Story

slide-15
SLIDE 15

Jira User Story (cont’d)

slide-16
SLIDE 16

Jira User Story (cont’d)

slide-17
SLIDE 17

Jira User Story (cont’d)

slide-18
SLIDE 18

Jira User Story (cont’d)

slide-19
SLIDE 19

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.

slide-20
SLIDE 20

Jira States

Jira states..

slide-21
SLIDE 21

Jira Workflow Screens

slide-22
SLIDE 22

Jira Workflow Screens

slide-23
SLIDE 23

Jira Workflow Screens

slide-24
SLIDE 24

Jira Workflow Screens

slide-25
SLIDE 25

Jira Workflow Screens

slide-26
SLIDE 26

Jira Workflow Screens

slide-27
SLIDE 27

Jira Workflow Screens

slide-28
SLIDE 28

Jira Workflow Screens

slide-29
SLIDE 29

Jira Workflow Screens

slide-30
SLIDE 30

Jira Workflow Screens

slide-31
SLIDE 31

Jira Workflow States Diagram

slide-32
SLIDE 32

Collaboration

  • Role of QA in a software project.

○ Importance of QA/Test team.

  • Collaboration with Dev team.ç
  • Association between QA and Product teams
slide-33
SLIDE 33

Automation

➢ The Whys ○ Why should we automate? ➢ The Whens ○ When should we automate? ➢ The Whats ○ What should be automated?

slide-34
SLIDE 34

Web/UI Automation Tools

➔QTP ➔Selenium ➔TestComplete ➔Watir ➔CasperJS ➔Capybara ➔etc...

slide-35
SLIDE 35

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)

slide-36
SLIDE 36

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
slide-37
SLIDE 37

Selenium - Maven Dependency

slide-38
SLIDE 38

WebDriver - Example Class (Java)

slide-39
SLIDE 39

Tools/Add-ons to locate UI elements

slide-40
SLIDE 40

Webelement Lookup

slide-41
SLIDE 41

Webelement Lookup (Cont’d)

slide-42
SLIDE 42

WebDriver - Page Object Model

Example - Folder Structure ➢Maven project (Java)

○ Main/Java ■ Core ■ Utilities ■ Locators ■ Implementation ■ Page Objects ■ Test Data ○ JUnit/TestNG ■ Test classes

slide-43
SLIDE 43

Page object model - contd..

➢ Core ➢ Utilities ➢ Locators ➢ Implementation Interfaces ➢ Page Objects ➢ Test Data

slide-44
SLIDE 44

Page Object Model - Cont’d..

slide-45
SLIDE 45

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.

slide-46
SLIDE 46

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).

slide-47
SLIDE 47

Sample Test Report

slide-48
SLIDE 48

Q&A