8-20101025 - Introduction to OO Program Design Software College of SCU Instructor Shu Li Email [email protected] Unit 2.1 Implementing Classes 2.1.4 Unit

8-20101025 - Introduction to OO Program Design Software...

This preview shows page 1 - 18 out of 71 pages.

Introduction to OO Program Design Software College of SCU Instructor: Shu Li Email: [email protected]
Image of page 1
2 Unit 2.1 Implementing Classes 2.1.4 Unit Testing 2.1.4.1 Overview of Software Testing 2.1.4.2 Software Testing Methods 2.1.4.3 Software Test Types 2.1.4.4 Unit Test
Image of page 2
3 2.1.4 Unit Testing 2.1.4.1 Overview of Software Testing 2.1.4.2 Software Testing Methods 2.1.4.3 Software Test Types 2.1.4.4 Unit Test
Image of page 3
4 2.1.4.1 Overview of Software Testing Purpose of Software Testing Role of Testers Truths and Realities
Image of page 4
5 Software Testing Any activity designed to evaluate an attribute or capability of a program to determine that it meets required standards.
Image of page 5
6 Purpose of Software Testing Measure Quality Validation: Prove it works (Do the right thing) Verification: Do it right Provide information To development and management For risk evaluation Watching the process not just the product
Image of page 6
7 Software Quality Doing the right things right at the right time Conformance to applicable standards Customer focus Features vs. Flaws Engineering focus Maintainability, sustainability, testability, etc. Quality is defined as conformance to requirements, not as “goodness” or “elegance” Quality also means “meet customer needs”
Image of page 7
8 Role of Testers Find Bugs Break Software Keep Developers Honest Defect Prevention Quality Measurement Drive quality upstream Customer focus Goal: ensure the quality
Image of page 8
9 Truths and Realities The earlier a bug is fixed, the less costly it is. Before code review By code review By testing By Beta testers After product is released Prevention vs. Detection “The mere act of designing a test is a powerful bug preventer”
Image of page 9
10 Truths and Realities Thorough Testing vs. Risk-based testing Thorough Testing: testing for everything Risk-based Testing Identify and analyze risks to enable informed and calculated decisions Look for the best use of test resource Risks can be categorized by severity and likelihood.
Image of page 10
11 2.1.4 Unit Testing 2.1.4.1 Overview of Software Testing 2.1.4.2 Software Testing Methods 2.1.4.3 Software Test Types 2.1.4.4 Unit Test
Image of page 11
12 Software Testing Methods Black-box Testing White-box Testing Risk-based Testing
Image of page 12
13 Black-box Testing Doesn’t require explicit knowledge of the internal structure of the system Primarily focuses on functional requirements User-perspective Validates the spec Input Output
Image of page 13
14 White-box testing Requires knowledge of the internal structure Primarily focuses on code coverage ( o ) e.g. write tests to “cover” internal paths Good for testing individual functions Developer’s tests Input Output
Image of page 14
15 Risk-based Testing Used to determine: What to test Test priority Test coverage
Image of page 15
16 Risk-based Testing
Image of page 16
17 Risk-based Testing Two basic factors for determining risk: Impact to the customer Probability of customer experiencing issues
Image of page 17
Image of page 18

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture