You are on page 1of 23

Quality Assurance

Boot Camp
Nirajan Shrestha

Objective

To know the importance of software testing


To understand software testing basics & terminologies
Be aware of how testing involved in software lifecycle
Have a basic understanding about different types of testing
Know some concepts related to testing

Quality Awareness Discussion Objectives

As a member of a Software development team I want to learn what Quality is,


so that I would understand the overall quality expectation set by the clients.
As a member of a Software development team I want to know how my role is
expected to improve quality, so that I would know how to maintain our level of
quality.
As a member of a Software development team I want to know the major factors
which impact the quality, so that I can pay attention to these factors to improve
quality continuously.

Note: Working software is the primary measure of progress.

What is Quality?

The quality of a product or service refers to the perception of the


degree to which the product or service meets the customer's
expectations.

Be aware that sometimes customers have no idea what they want.

What do we want to deliver to our client?


Always deliver what they want.
If they have no idea what they want, then propose the idea to them
basing on your understanding.

What customer wants?

Cost of Defect

What is software testing?

Software testing is an investigation conducted to provide stakeholders


with information about the quality of the product or service under test.

Software testing verifies and validates whether a deliverable


(software/applications) deviates from the business requirement.

Reasons software testing is important:


To discover defects
To avoid users detecting problems
To ensure the product works as expected
To determine the reliability of the application
To detect defects early, which helps in reducing the cost to fix them
To deliver a high quality product to the client
11/17/15

Software Testing

Case Study

Facebook Login functionality

Business Requirements
BR1 User shall be able to view login page when a desired URL
is entered.
BR2 User shall have the ability to provide username and
password
BR3 User shall have the ability to login after providing username
and password
BR4 System shall validate that username is a required field
BR5 System shall validate that password is a required field
BR6 System shall allow the user to login if correct username and
password is provided.

11/17/15

Forms of Testing
Unit Testing Performed by Developers
Application Testing Performed by QA team (sometimes BA is in
QA team)
Smoke Testing
Regression Testing

Integration Testing Performed by QA team


Performance Testing Performed by performance testing team
Security Testing Performed by Security testing team
User Acceptance Testing Performed by Business users (facilitated
by BA)
11/17/15

10

Deliverables of QA efforts

Test Plan

Test Scenarios

Test Scripts/Test Steps

Defects/Issues

Quality deliverables

11/17/15

11

Test Plan/ Test Strategy


Test Plan

Document detailing the systematic approach to testing a system.

Test Plan includes the following information:


a. What will be tested
b. How will it be tested
a.

Tools

b.

Approach

c.

Deliverables

c. Who will be doing the testing


d. Timeline for testing

11/17/15

12

Test Scenario
TS-001: Validate that user can view the login page when user enters
www.facebook.com
TS-002: Validate that username and password fields are available in
the login page
TS-003: Validate that no other fields are available in the login page.
Test scenario refers to different scenarios required to test a particular
business requirement
Positive scenario and Negative scenario
Dev vs QA vs Staging vs Prod
11/17/15

13

Traceability Matrix

Traceability Matrix: To make sure that there is at least one test


scenario for each business requirement.

Business
TS-001
Requiremen
t
BR1
BR2

11/17/15

TS-002

TS-003

X
X

14

Test Scripts

Needs to provide the detailed steps conducted to completely


test a test scenario
Test Data data required to run any test scripts.

Test
Scenari
o
Preconditions Steps
1. Enter
www.facebook.com in
TS-001 N/A
the browser
Login page is
opened in the 1. Verify that username
TS-002 browser
field is available

11/17/15

Actual
Result

Expected Result

Defect
/Notes

Status

Login page is opened

Username field is available


as a textbox

2. Verify that password Password field is available as

field is available
a textbox

3. Enter some text in


the username field

User is able to enter text in


username field

4. Enter some text in


password field

User is able to enter text in


password field

15

Manual vs. Automated Testing

Manual Testing

Test scripts may be poorly written or simply break

Continuous execution

during playback

Faster than manual

Can only test what the scripts have been


programmed to test

Automated Testing

testing

Easily repeatable

Manual testers can find new bugs while ensuring that


old bugs do not reappear, while an automated test
can only ensure the latter

11/17/15

16

Defects

Need to report if any of the test scenario does not result to


expected outcome.

Business owners and Project managers need to know which


functionality is not working as expected and hence the health
of the deliverables.

Developers need to know about the defects so that they can


work to fix the issue.

11/17/15

17

Format of Defects

A good defect contains the following:


Summary
Steps to recreate the defect
Expected outcome
Actual outcome
Images/screenshots (if possible)

11/17/15

18

Example of a Defect

11/17/15

19

General QA Process

11/17/15

20

Defect Life Cycle

11/17/15

21

Testing Best Practices


Best Practices

A Test Case traces back to a requirement always


The more test cases, the more scenarios, the more thorough your testing will be
Make sure to test the happy paths AND all the exceptions
You are the LAST LINE OF DEFENSE before the client gets their hands on our

application during User Acceptance Testing


A developer cannot fix a bug/defect without a really solid explanation as to what you

found, why it is wrong, how to duplicate it, and what the expected result should have
been
Testing is a worthless exercise without good test data. It is your job to identify early

in the project where the test data is, who will provide it, and what kind of data you
need to prove out your cases
Testing time is often sacrificed on the project when the development effort runs long

be prepared for a shortened test cycle, so have good cases and data ready to go!

11/17/15

22

A story about whose job is it?

23

This is a story about four people named Everybody, Somebody, Anybody and
Nobody.

There was an important job to be done and Everybody was sure Somebody
would do it. Anybody could have done it, but Nobody did it. Somebody got
angry about that because it was Everybodys job.

Everybody thought Somebody could do it but Nobody realized Everybody


wouldnt do it.

In the end Everybody blamed Somebody


when Nobody did what Anybody could have
done.

You might also like