ba boot camp - testing 7-1
DESCRIPTION
Testing, Business Analyst, Quality AssuranceTRANSCRIPT
Quality Assurance
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.
4
What customer wants?
5
Cost of Defect
6
04/22/2023 7
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
Software Testing
04/22/2023 9
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.
04/22/2023 10
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)
04/22/2023 11
Deliverables of QA efforts• Test Plan
• Test Scenarios
• Test Scripts/Test Steps
• Defects/Issues
• Quality deliverables
04/22/2023 12
Test Plan/ Test StrategyTest 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
04/22/2023 13
Test 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
04/22/2023 14
Traceability Matrix
Traceability Matrix: To make sure that there is at least one test scenario for each business requirement.
Business Requirement
TS-001 TS-002 TS-003
BR1 X
BR2 X X
04/22/2023 15
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 Scenario Preconditions Steps Expected Result
Actual Result Status
Defect /Notes
TS-001 N/A1. Enter www.facebook.com in the browser Login page is opened
TS-002
Login page is opened in the browser
1. Verify that username field is available
Username field is available as a textbox
2. Verify that password field is available
Password field is available as 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
04/22/2023 16
Manual vs. Automated Testing
Manual Testing Automated Testing
• Test scripts may be poorly written or simply break during playback
• Can only test what the scripts have been programmed to test
• Manual testers can find new bugs while ensuring that old bugs do not reappear, while an automated test can only ensure the latter
• Continuous execution
• Faster than manual testing
• Easily repeatable
04/22/2023 17
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.
04/22/2023 18
Format of Defects• A good defect contains the following:
• Summary
• Steps to recreate the defect
• Expected outcome
• Actual outcome
• Images/screenshots (if possible)
04/22/2023 19
Example of a Defect
04/22/2023 20
General QA Process
04/22/2023 21
Defect Life Cycle
04/22/2023 22
Testing Best PracticesBest 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!
A story about whose job is it?
• 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 Everybody’s job.
• Everybody thought Somebody could do it but Nobody realized Everybody wouldn’t do it.
• In the end Everybody blamed Somebody
when Nobody did what Anybody could have
done.
23