View
548
Download
0
Category
Tags:
Preview:
Citation preview
Quality assurance is a planned systematic approach of testing a product or a service that assures full confidence that it meets the end user needs and conforms to the specific features and requirements.
Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable. Testing is context based and risk driven
It is a process that identifies the correctness, completeness and quality of software
Software testing is targeted as a detection process to test a system with a controlled set of conditions and compare the expected output to evaluate it.
It can be a process of input values to a system to make it or break it using normal and abnormal conditions.
A coding error that causes and unexpected fault in a computer program that can lead to failure.
If a program/product/service does not work as intended is considered as a big
No clarity of requirements (poor requirements)
No communication or miscommunication Software complexity People ego Change in requirements Time pressure for delivery (unrealistic
deadlines) Poorly designed or architecture form code
perspective programming errors
Technology Savvy and should have different domain knowledge
Perfectionist and realistic attitude Persuasive and diplomatic Explorer ,risk taking and should be creative Problem solving and troubleshooting skills Well organized Team Player and good understanding and
communication skills Act as a gate keeper for the software release Accurate and Precise in observations Act as an end customer Understanding that No Application is 100 % bug
free
Verification is the process of reviewing the specifications and requirements and doing a walkthrough that the software is build according to the specifications.
Validation is the process of actually running the testcases. It ensures that the software operates as planned in the requirements phase by executing it, running predefined test cases and measuring the output with expected results.
Requirement Analysis Planning Design and specification Coding Testing and Release
Planning Analysis Design Code/Develop Testing cycle Implementation and final testing
High level Test plan for the project Test Strategy for project including
regression testing Acceptance criterion QA goals Database selection Defect measurement criterion and tools
manual Vs Automation for testing
Develop testcase format Develop test cycles Define area of stress and performance Define procedures for data maintenance:
backup and restore etc Review documentation
Revise test plan Revise test cycle timelines Risk assesment criterion Test plan validation for database Finalize the testplan and test cycle for time
estimations
Implement the design as per requirements Unit testing phase Test using automated system Run through QA acceptance to make it QA
ready Finish all testcases to be executed
Run the testcases (back end & Front end) Bug Reporting Verifications for bugs Meet the schedule for test plan and test
cycle as per release timeline
This is the cycle that starts during testing when you start testing the software first time when delivered by developers for QA ready stage.
Points to remember when a bug is found:◦ Communicate it to developer◦ Assign a developer to get it fixed◦ Re-test the fix after the fix is provided◦ Re-test the areas that can be affected as a result
of the fix
Developer accepts the bug filed
Tester verifies it
and it works
Tester files the
bug
YES NO
Developer fixes the bug
YESNO
BUG LIFE CYCLE
Priority means how urgently the issue can be fixed.
Priority is related to scheduling to resolve the problem.
Severity means how severe it is affecting the functionality.
The priority status is set based on the customer requirements.
Product manager is to decide the Priority to fix a bug.
Based on ‘Project Priorities the product fixes are done has to fix it at the earliest.
The severity type is defined by the tester based on the written test cases and functionality.
Is related to technical aspect of the product. It reflects on how bad the bug is for the system.
It is totally related to the quality standard or devotion to standard.
Severity means how big functionality is affecting of the product.
Based on Bug Severity the product fixes are done.
A testcase is a step by step detailed process that describes the action to take to test a scenario and explains about what is the expected result for that scenario/use case for that feature
A use case is a scenario that describes the behavior under various conditions as per the specifications or requirements.
Below is an example of testcase template with different fields in a column format:
Lets take an example for a website link to write sample testcases.
Test Use case is to test the functionality of a link “Join for Free” for the website http://www.sears.com
TestCase ID
Test Case Description
Input data/Test Steps
Expected Results
Pass/Fail Status
There will be 6 fields when you click on the link.
The 6 fields will be namely Zip code should error out if alphabets are
entered Email should contain the domain name and
error out if incorrect email without domain name is provided
◦ Test Case#2:Enter a series of alphabets for the zip code field and click on join.
◦ Expected output: The 5 Digit zip code you entered should include only numbers. Please try again.Below screen shows it is passed.
Follow and execute all the testcases designed and follow the test plan written.
Follow the process and steps for the Bug Life cycle if some testcases failed.
File a bug if bug is found Follow up with the developer in terms of
acceptance and fix date. Manage the deadlines for completing the testing
and testcase execution Constant communication with the development
team on any issues found and any blockers found
Prepare infrastructure in terms of Browser testing if there is need to test on different browsers
Cover all the use cases including any corner cases.
Re-test any bugs fixed. Do a regression testing when all testcases are
passed so that the build is tested for pre release and is accepted by the team and product managers.
Complete remaining tasks for testing. Update the Development and Management
Teams with the Test progress Complete steps and update team if
software is ready for build and code can be frozen.
Prepare for the release build.
Recommended