Testing overview
•	Attributes of testing approaches
•	Deming and Quality Analysis
Black-box (functional) testing
•	Does program satisfy requirements?
•	Usu. cannot test all possibilities
•	Various methods select different input scenarios
•	Does not cover all code
•	Ex: "Easter eggs", Unix login
White-box (structural) testing
•	Covers details of the code
•	Ex: every line of code must be executed in >= 1 test case
•	Does not test if code satisfies requirements
•	Gray-box testing combines black-box and white-box
Other options
•	Manual (human) vs. automated (computer)
•	Static (does not execute code)
•	vs. Dynamic (execute or simulate execution)
•	Ex: Read through code for syntax errors (static) vs. keep track of values of variables if inputs are "dog" and "0" (dynamic)
Deming
•	Importance of:
•	statistics (implies need for metrics)
•	focus: 80/20 rules
•	understanding process
Carnegie-Mellon’s Software Engineering Institute (SEI)’s Capability Maturity Models (CMM’s)
•	Does not suggest a single process model
•	Goal: show how to improve any model
•	Success should not depend on the personnel
•	5 levels of maturity (http://www.sei.cmu.edu/)
1	Initial -- ad hoc
2	Repeatable -- keeping track of costs, schedule
3	Defined -- standardized, documented process used for whole organization
4	Managed -- detailed measurements, process is “understood”
5	Optimizing -- standardize how to improve process
Deming Quality principles and CMM
•	Compare Pts. 1, 2, 5, 14 with CMM
•	Pt. 3: CMM: improve process, not for individual product
•	Pt. 4: CMM and QA do have a cost
•	Pts. 6-13: Importance of people: training, placement, appropriate encouragement
•	Pts. 10-11: Statistics are means to an end (quality)
Plan-Do-Check-Act (Deming/Shewhart Cycle)
•	How to achieve quality
•	Plan: objectives, policies, conditions
•	Do: ensure project members understand responsibilities, train them
•	Check: Evaluate
•	Act: Carry out plan
•	Repeat cycle
Life Cycle Testing Review (intro)
•	Testing should not be limited to the final project phase
•	Different testing activities at different software process phases
•	Ex: Once requirements are done, can plan black-box tests, but not white-box tests (Why?)
•	Will be able to actually do white-box tests first
Homework 1 (individual assignment)