50 likes | 131 Vues
Dive into the differences between testing and debugging, static and dynamic testing, and various types of faults. Learn about creating effective test cases, test strategies, and the levels of testing. Explore the traditional software testing process and different kinds of testing methodologies.
E N D
General Testing Background CISC 879 Spring 2007 Lori Pollock
Key Points * Software Testing versus Debugging? * Static versus Dynamic Testing? * Error -> Fault -> Failure - Not one-to-one * What is a bug? Error or Fault. * Kinds of faults: incorrect implementation vs omission vs surprise
Test Cases • For a given Implementation under test (IUT): • Pretest state • Test inputs or conditions • Expected outputs IUT: method, object, class, component, system Levels of Testing: unit testing, integration testing, system testing Interesting test case – good chance of revealing a fault. Test Strategy – heuristic/algorithm to create test cases Test Design – create a test suite with a test strategy
Application Representation Test Case Generator Test Cases Application Implementation Test Cases Replay Tool Actual Results Expected Results Pass/ Fail Oracle Traditional Software Testing Process Application Specification
Kinds of Testing 1. Fault-directed: intended to reveal faults through failures (unit/integration) 2. Conformance-based: intended to show conformance with required capabilities (system) Today’s paper and talks – test designs