This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Software Testing, Quality Assurance and Maintenance Winter 2010 Lecture 4 January 11, 2010 Patrick Lam version 2 Some binary distinctions Lets digress for a bit and define some older terms which we wont use much in this course, but which we should discuss briefly. Black-box testing. Deriving tests from external descriptions of software: specifications, re- quirements, designs; anything but the code. White-box testing. Deriving tests from the source code, e.g. branches, conditions, statements. Our model-based approach makes this distinction less important. Two ideologies for constructing tests: Top-down testing. Constructing tests of behaviour starting with main() . Bottom-up testing. Constructing tests of behaviour starting at the leaves of the call graph. Neither of these techniques work out completely in practice; top-down is impractical because its hard to control each leaf procedure individuall from main() , and bottom-up because its hard to test methods working together. Usually we use middle-out approaches. Two different approaches to quality assurance: Static: approaches that dont involve running the code, e.g. type checking, code reviews. Dynamic: usual testing-based approaches; we focus on these in this course....
View Full Document
This note was uploaded on 03/19/2010 for the course CS 447 taught by Professor Lam during the Winter '10 term at Waterloo.
- Winter '10