ba boot camp - testing 7-1

Upload: nirajan-shrestha

Post on 06-Mar-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Slide 1

Quality AssuranceBoot CampNirajan ShresthaObjectiveTo know the importance of software testingTo understand software testing basics & terminologiesBe aware of how testing involved in software lifecycleHave a basic understanding about different types of testingKnow some concepts related to testing

Quality Awareness Discussion ObjectivesAs 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.4What 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.

4Be aware of that sometime customers have no idea what they want. If thats the case, then what we should do?

What customer wants?

56Cost of Defect

6Generally speaking, the cost of fixing a defect will be higher and higher as the project proceeds.

How to improve the process and lower the cost of defect? The answer is Agile testing

Earlier testing efforts engagement will greatly help developers understand the requirement better.What is software testing?Software testingis 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 defectsTo avoid users detecting problemsTo ensure the product works as expectedTo determine the reliability of the applicationTo detect defects early, which helps in reducing the cost to fix themTo deliver a high quality product to the client

7/1/20157Software Testing

---

8Case StudyFacebook Login functionality

Business RequirementsBR1 User shall be able to view login page when a desired URL is entered.BR2 User shall have the ability to provide username and passwordBR3 User shall have the ability to login after providing username and passwordBR4 System shall validate that username is a required fieldBR5 System shall validate that password is a required fieldBR6 System shall allow the user to login if correct username and password is provided.7/1/20159Forms of TestingUnit Testing Performed by Developers

Application Testing Performed by QA team (sometimes BA is in QA team)Smoke TestingRegression 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)7/1/20151010Deliverables of QA effortsTest Plan

Test Scenarios

Test Scripts/Test Steps

Defects/Issues

Quality deliverables7/1/201511Test Plan/ Test StrategyTest PlanDocument detailing the systematic approach to testing a system.

Test Plan includes the following information:What will be testedHow will it be testedToolsApproach DeliverablesWho will be doing the testingTimeline for testing

7/1/20151212Test ScenarioTS-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 7/1/201513Traceability MatrixTraceability Matrix: To make sure that there is at least one test scenario for each business requirement.

7/1/201514Business RequirementTS-001TS-002TS-003BR1XBR2XXNeeds to provide the detailed steps conducted to completely test a test scenarioTest Data data required to run any test scripts.

7/1/201515Test ScriptsTest ScenarioPreconditionsStepsExpected ResultActual ResultStatusDefect /NotesTS-001N/A1. Enter www.facebook.com in the browserLogin page is openedTS-002Login page is opened in the browser1. Verify that username field is availableUsername field is available as a textbox2. Verify that password field is availablePassword field is available as a textbox3. Enter some text in the username fieldUser is able to enter text in username field4. Enter some text in password fieldUser is able to enter text in password fieldManual vs. Automated Testing

7/1/201516Manual Testing Automated TestingTest scripts may be poorly written or simply break during playbackCan only test what the scripts have been programmed to testManual testers can find new bugs while ensuring that old bugs do not reappear, while an automated test can only ensure the latterContinuous execution Faster than manual testingEasily repeatable

DefectsNeed 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. 7/1/201517Format of DefectsA good defect contains the following:SummarySteps to recreate the defectExpected outcomeActual outcomeImages/screenshots (if possible)7/1/20151818Example of a Defect7/1/201519

General QA Process

7/1/201520Defect Life Cycle7/1/201521

Testing Best PracticesBest PracticesA Test Case traces back to a requirement alwaysThe more test cases, the more scenarios, the more thorough your testing will beMake sure to test the happy paths AND all the exceptionsYou are the LAST LINE OF DEFENSE before the client gets their hands on our application during User Acceptance TestingA 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 beenTesting 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 casesTesting 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!

7/1/201522A story about whose job is it?23This 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 Somebodywhen Nobody did what Anybody could havedone.