1 / 13

Software Testing: Importance, Bug Definition, and Cost Analysis

Discover the significance of software testing in ensuring quality and identifying bugs, the definition of a bug, the costs associated with different stages of the software life cycle, and the challenges in achieving high-quality software.

boyettk
Download Presentation

Software Testing: Importance, Bug Definition, and Cost Analysis

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. Testing More In CS430

  2. About Testing • The reason the program is in testing is that it probably doesn’t work! • We test to find bugs before our users and hope that the developers will fix them • A test that reveals a problem is a successful one Testing

  3. Define “Bug” • A bug, or defect, in software is something that cause the software to behave in a manner that is inconsistent with the requirements or the needs of customers Testing

  4. Software Life Cycle Costs • Requirement Analysis 3% • Specification 3% • Design 5% • Coding 7% • Testing 15% • Operation & Maintenance 67% Testing

  5. Cost of Finding & Fixing Software Errors The sooner a bug is found & fixed, the cheaper Cost Requirements Coded Released Testing

  6. High Quality Software • One measure of the quality of software is delivered defect density -- the number of defects per unit size in the delivered software. Testing

  7. Quality Control V.S. Quality Assurance • Quality control focuses on finding (through testing and reviewing) and removing defects. • Quality Assurance is to verify that applicable procedures and standards are followed so the software’s quality is somewhat controlled Testing

  8. When Defects Are Introduced • Defect can be introduced during • Requirement specification • Design both high level and detailed • Coding • Bug fixing • Why? • Software development is a highly people oriented activity and hence error-prone Testing

  9. Activities for Defect Removal • Are: • Requirement reviews • Code reviews (walk through) • Unit testing • Integration testing • system testing • alpha test -- within the team • beta -- out side the team • Acceptance test Testing

  10. You Can NOT find all the bugs • No matter how careful and thorough a job you do, you will never find the last bug in a program • Or if you do, you won’t know it Testing

  11. Some Wrong Concepts • We can fully test a program • With testing, we can ensure the correctness of a program • The tester’s mission is to assure program correctness by doing a complete testing. Testing

  12. You cannot test a program completely • Reason: • The domain of possible input is too large to test • There are too many possible paths through the program to test • The user interface issue are too complex to completely test Testing

  13. You cannot test a program completely • Myers, 1976, described a 100-line program that had 1018 unique paths. • Note that the universe is only 4x1017 seconds old! Testing

More Related