1 / 26

Software Testing

Explore why and how software testing is done, the responsibilities of a software tester, common software problems users encounter, testing levels, methods, and techniques, including verification and validation processes. Discover the software testing lifecycle phases, from requirements study to test closure, and understand the testing levels like unit testing, integration testing, system testing, and acceptance testing. Gain insights into a strategy for testing conventional software systems and the importance of testing at each phase in the software development process.

sbarksdale
Download Presentation

Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing

  2. Software Process Model

  3. Contents • Why do we do testing? • What is testing? • Who does testing? • What are levels of testing? • What are different methods/techniques of testing? • How to test a software?

  4. Common software problems! • What are the problems you encounter as software users? • Incorrect calculation • Incorrect data edits & ineffective data edits • Incorrect matching and merging of data • Data searches that yield incorrect results • Incorrect processing of data relationship • Incorrect coding/processing of business rules • Inadequate software performance • Confusing or misleading data • Inconsistent processing • Unreliable results or performance • Incorrect or inadequate interfaces with other systems • Incorrect file handling

  5. Who is responsible for testing?

  6. Objectives of a software tester • Find bugs as early as possible and make sure they get fixed • To understand the application well • Study the functionality in detail to find where the bugs are likely to occur. • Study the code to ensure that each and every line of code is tested. • Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable

  7. Objectives of testing • Executing a program with the intent of finding an error • To check if the system meets the requirements and be executed successfully in the Intended environment • To check if the system is “ Fit for purpose” • To check if the system does what it is expected to do • A good test case is one that has a probability of finding an as yet undiscovered error • A good test is not redundant • A good test should neither be too simple nor too complex

  8. Confusing but related!!! • Verification (Are the algorithms coded correctly?) • The set of activities that ensure that software correctly implements a specific function or algorithm • Involves reviews and meeting to evaluate documents, plans, code, requirements, and specifications. • Usually done with checklists, issues lists, walkthroughs, and inspection meeting. • Validation (Does it meet user requirements?) • The set of activities that ensure that the software that has been built is traceable to customer requirements • Involves actual testing and takes place after verifications are completed. • Validation and Verification process continue in a cycle till the software becomes defects free.

  9. S/W Testing lifecycle phases • Requirements study • Analysis and planning • Test Case Design and Development • Test Execution • Test Closure • Test Process Analysis

  10. Requirements study • Testing Cycle starts with the study of client’s requirements. • Understanding of the requirements is very essential for testing the product – Why?.

  11. Analysis & Planning • Test objective and coverage • Overall schedule • Standards and Methodologies • Resources required, including necessary training • Roles and responsibilities of the team members • Tools used

  12. Test Case Design and Development • Component Identification • Test Specification Design • Test Specification Review

  13. Test Execution • Code Review • Test execution and evaluation • Performance and simulation

  14. Test Closure • Test summary report • Project De-brief • Project Documentation

  15. Test Process Analysis • On the reports • To improve the application’s performance by implementing new technology and additional features

  16. A Strategy for Testing Conventional Software System Testing Narrow to Broader scope Validation Testing Integration Testing Unit Testing Code Abstract to concrete Design Requirements System Engineering

  17. Testing levels • Unit testing • Integration testing • System testing • Acceptance testing

  18. Unit testing • The most ‘micro’ scale of testing. • Tests done on particular functions or code modules. • Requires knowledge of the internal program design and code. • Done by Programmers (not by testers).

  19. Unit Testing

  20. Incremental integration testing • Continuous testing of an application as and when a new functionality is added. • Application’s functionality aspects are required to be independent enough to work separately before completion of development. • Done by programmers or testers.

  21. Integration Testing • Testing of combined parts of an application to determine their functional correctness. • ‘Parts’ can be • code modules • individual applications • client/server applications on a network.

  22. Integration Testing

  23. System Testing

  24. Systems Integration Testing

  25. Acceptance Testing

  26. Summary • Software testing • Why do we do testing? • When it is done? • Who does it? • Software testing process / phases in software testing • Levels of testing

More Related