Introduction to OO Program DesignSoftware College of SCUInstructor: Shu LiEmail: [email protected]
2Unit 2.1 Implementing Classes•2.1.4 Unit Testing–126.96.36.199 Overview of Software Testing–188.8.131.52 Software Testing Methods–184.108.40.206 Software Test Types–220.127.116.11 Unit Test
32.1.4 Unit Testing•18.104.22.168 Overview of Software Testing•22.214.171.124 Software Testing Methods•126.96.36.199 Software Test Types•188.8.131.52 Unit Test
184.108.40.206 Overview of Software Testing•Purpose of Software Testing •Role of Testers •Truths and Realities
5Software Testing•Any activity designed to evaluate an attribute or capability of a program to determine that it meets required standards.
6Purpose 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
7Software 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”
9Truths 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”
10Truths 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.
112.1.4 Unit Testing•220.127.116.11 Overview of Software Testing•18.104.22.168 Software Testing Methods•22.214.171.124 Software Test Types•126.96.36.199 Unit Test
13Black-box Testing•Doesn’t require explicit knowledge of the internal structure of the system•Primarily focuses on functional requirements–User-perspective–Validates the specInputOutput
14White-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 testsInputOutput
15Risk-based Testing•Used to determine:–What to test–Test priority–Test coverage
17Risk-based Testing•Two basic factors for determining risk:–Impact to the customer–Probability of customer experiencing issues