180 likes | 295 Views
Software Test Termination. 1209. Testing is expensive. When do we terminate testing?. Finding all the bugs. Fault Seeding. Seed (add) errors to code Use standard techniques to identify errors Estimate total errors based on fraction of seeded errors found. Fault Seeding.
E N D
Fault Seeding Seed (add) errors to code Use standard techniques to identify errors Estimate total errors based on fraction of seeded errors found
Fault Seeding ST: total seeded faults SD: Seeded faults detected NT: Total faults that were not seeded ND: Detected faults that were not seeded SD/ST = Fraction of seeded faults found ND/NT = Fraction of non-seeded faults found SD/ST = ND/NT
Example: We seed 20 faults in a system. The testing group finds 38 faults, 8 of which were seeded. How many unseeded faults remain?
Measures of Software Quality: Usability Ship when product is usable enough based on customer usability studies
Measures of Software Quality: Reliability, Availability, Maintainability • Reliability: • Availability: • Maintainability:
Measures • MTTF: Mean time to failure • MTTR: Mean time to repair • MTBF: Mean time between failure MTBF = MTTF + MTTR Failure Failure System repaired Time TTF TTR TBF
Software Reliability Models • Statistical models of reliability • Track the first N failures • Look for a probability distribution that matches this data • Example models include • Basic execution time • Logarithmic Poisson Execution Time
Failures, not faults • Time • Execution time (more accurate) • Calendar time (more useful)
Non-static failure behavior • Faults are repaired when the system fails • The probability of failure changes over time
Developing models • Track failures and execution time • Time to failure • Time between failure • Fit to statistical distribution • Estimate distribution parameters • Estimate reliability for some future time
Need to Ship: Factors • Market-driven need (need to be first to market) • Business need • Need to market product to generate revenue • Lack of resources (money) to continue testing • Cost/benefit analysis is positive • Political factors
Retire the System • “retirement” here may mean “terminate maintenance”