Introduction and Role of a manual testing in a SDLC


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction and Role of a manual testing in a SDLC

  1. 1. 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.
  2. 2. 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 
  3. 3. 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. 
  4. 4. 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 
  5. 5. 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 
  6. 6.            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
  7. 7.  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.
  8. 8. Requirement Analysis  Planning  Design and specification  Coding  Testing and Release 
  9. 9. Planning  Analysis  Design  Code/Develop  Testing cycle  Implementation and final testing 
  10. 10. 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 
  11. 11. Develop testcase format  Develop test cycles  Define area of stress and performance  Define procedures for data maintenance: backup and restore etc  Review documentation 
  12. 12. Revise test plan  Revise test cycle timelines  Risk assesment criterion  Test plan validation for database  Finalize the testplan and test cycle for time estimations 
  13. 13. 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 
  14. 14. 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 
  15. 15. 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
  16. 16. BUG LIFE CYCLE Developer accepts the bug filed YES Developer fixes the bug Tester files the bug YES Tester verifies it and it works NO NO
  17. 17.       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.
  18. 18.  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.
  19. 19. 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. 
  20. 20.  Below is an example of testcase template with different fields in a column format: TestCase ID Test Case Input Description data/Test Steps Expected Results Pass/Fail Status 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 
  21. 21. 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 
  22. 22. ◦ 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.
  23. 23.  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 
  24. 24.  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.
  25. 25. 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. 