Software testing.ppt


Published on

Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.

Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
• meets the requirements that guided its design and development,
• works as expected,
• can be implemented with the same characteristics,
• and satisfies the needs of stakeholders.

Software Development Process Cycle:-

 PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
 DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
 CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
 ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Software testing.ppt

  1. 1. A PRESENTATION ON SOFTWARE TESTING Presented By:- komal Garg
  2. 2. Project Overview Introduction Good testing process  Principle of software testing Myths of software testing Levels of Testing Black-box testing white-box testing Alpha testing Beta testing
  3. 3. INTRODUCTION “Testing is the process of executing a program with the intention of finding errors.” – Myers “Testing can show the presence of bugs but never their absence.” – Dijkstra
  4. 4. Software testing can be stated as the process of validating and verifying that computer program/application/product: meets the requirements that guided its design and development, works as expected, can be implemented with the same characteristics, and satisfies the needs of stakeholders.
  5. 5. Good Testing Practices A good test case is one that has a high probability of detecting an undiscovered defect, not one that shows that the program works correctly It is impossible to test your own program A necessary part of every test case is a description of the expected result
  6. 6. Avoid non-reproducible or on-the-fly testing Write test cases for valid as well as invalid input conditions. Thoroughly inspect the results of each test As the number of detected defects in a piece of software increases, the probability of the existence of more undetected defects also increases
  7. 7. Assign your best people to testing Ensure that testability is a key objective in your software design Never alter the program to make testing easier Testing, like almost every other activity, must start with objectives
  8. 8. Principle of software testing:  Testing should be based on use requirements.  Time & resources are limited  Impossible to test everything  Use effective resources to test  Test planning should be done early.  Testing should begin at module  Done by an independent party  Keep s/w static during test  Documents test case and result
  9. 9. Testing Myths  Testing is time consuming.  Testing is too expensive.  Testing cannot be started if the product is not fully developed.  Complete Testing is Possible.  Missed defects are due to Testers.  Testers should be responsible for the quality of a product  Any one can test a Software application.  A tester’s task is only to find bugs.
  10. 10. Levels of Testing
  11. 11. Unit Testing:- Unit Testing is a level of the software testing process where individual units/components of a software/system are tested. The purpose is to validate that each unit of the software performs as designed.
  12. 12. A good unit test is:  Able to be fully automated  Has full control over all the pieces running (Use mocks or stubs to achieve this isolation when needed)  Can be run in any order if part of many other tests  Runs in memory (no DB or File access, for example)  Consistently returns the same result (You always run the same test, so no random numbers, for example. save those for integration or range tests)  Runs fast  Tests a single logical concept in the system  Readable  Maintainable  Trustworthy (when you see its result, you don’t need to debug the code just to be sure)
  13. 13. Benefits of Unit testing:- Find problems early Facilitates change Simplifies integration Documentation Design
  14. 14. Integration testing:- Integration Testing is a level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.
  15. 15. Types of integration testing:- 1. Big Bang 2. Top down 3. Bottom up
  16. 16. 1. Big Bang Big Bang Integration testing approach used to find the bugs when all the developed modules are interacted with each other and create a complete software system then its produced result satisfying with original requirement. 2. Top down In Top down integrated testing approach, all Top level integrated modules are tested first and its sub modules tested from top to down step by step. 3. Bottom up In Bottom up integrated testing approach, all bottom (Sub Modules) level integrated sub modules are tested first and its main modules tested from bottom to up step by step.
  17. 17. Why Integration Testing Is Necessary:-  One module can have an adverse effect on another  Sub-functions, when combined, may not produce the desired major function  Individually acceptable imprecision in calculations may be magnified to unacceptable levels  Interfacing errors not detected in unit testing may appear  Timing problems (in real-time systems) are not detectable by unit testing  Resource contention problems are not detectable by unit testing
  18. 18. System Testing:- with the specified requiremeSystem Testing is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate the system’s compliance nts
  19. 19. Why system testing is important: the first level of testing where the System is tested as a whole. check if system meets functional requirement or not. validate and verify both the Application Architecture and Business requirements
  20. 20. Acceptance Testing:- Acceptance Testing is a level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.
  21. 21. Why acceptance testing requires:- In acceptance test, tester goes through the application and verifies its each and every functionality with requirement documents. Acceptance testing is final testing and is performed before the delivery of application or software to end user for use. Its main purpose is to find the bugs but to get the confidence of end users requirements are fulfilled or not. Acceptance test is the last phase of STLC. After that, maintenance testing is performed on software or application if required.
  22. 22. Black-box testing A software testing technique whereby the internal workings of the item being tested are not known by the tester.
  23. 23. Methods of Black box Testing 1. Graph Based Testing Methods 2. Error Guessing 3. Boundary Value Analysis
  24. 24. White-box testing White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing).
  25. 25. Three basic steps that white- box testing:- i. Input ii. Processing Unit iii. Output
  26. 26. White-box test design techniques  Control flow testing  Data flow testing  Branch testing  Path testing  Statement coverage  Decision coverage.
  27. 27. Advantages:- I. Side effects of having the knowledge of the source code. II. Optimization of code by revealing hidden errors and being able to remove these possible defects. III.Gives the programmer introspection
  28. 28. Disadvantages:- White-box testing brings complexity it is not realistic to be able to test every single existing condition of the application and some conditions will be untested
  29. 29. Alpha testing Testing done when development is nearing completion; minor design changes may still be made as a result of such testing.
  30. 30. Beta Testing Testing when development and testing are essentially completed and final bugs and problems need to be found before release
  31. 31. Thank you…….