07-02-TestingStrategies-notes

07-02-TestingStrategies-notes - Outline Testing Terminology...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSE 435: Software Engineering B. Cheng Testing CSE 435: Software Engineering B. Cheng Outline • Terminology • Types of errors • Dealing with errors • Quality assurance vs Testing • Component Testing – Unit testing – Integration testing • Testing Strategy • Design Patterns & Testing • System testing – Function testing – Structure Testing – Performance testing – Acceptance testing – Installation testing CSE 435: Software Engineering B. Cheng Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from the specified behavior. Error: The system is in a state such that further processing by the system will lead to a failure. Fault (Bug): The mechanical or algorithmic cause of an error. There are many different types of errors and different ways for how we can deal with them. CSE 435: Software Engineering B. Cheng What is this?
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 CSE 435: Software Engineering B. Cheng Erroneous State (“Error”) CSE 435: Software Engineering B. Cheng Algorithmic Fault CSE 435: Software Engineering B. Cheng Mechanical Fault CSE 435: Software Engineering B. Cheng How do we deal with Errors and Faults?
Background image of page 2
3 CSE 435: Software Engineering B. Cheng Verification? B. Cheng Modular Redundancy? CSE 435: Software Engineering B. Cheng Declaring the Bug as a Feature? CSE 435: Software Engineering B. Cheng Patching?
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 CSE 435: Software Engineering B. Cheng Testing? CSE 435: Software Engineering B. Cheng Examples of Faults and Errors • Faults in the Interface specification – Mismatch between what the client needs and what the server offers – Mismatch between requirements and implementation • Algorithmic Faults – Missing initialization – Branching errors (too soon, too late) – Missing test for nil Mechanical Faults (very hard to find) – Documentation does not match actual conditions or operating procedures Errors – Stress or overload errors – Capacity or boundary errors – Timing errors – Throughput or performance errors CSE 435: Software Engineering B. Cheng Dealing with Errors Verification: – Assumes hypothetical environment that does not match real environment – Proof might be buggy (omits important constraints; simply wrong) Modular redundancy: – Expensive Declaring a bug to be a “feature” – Bad practice Patching – Slows down performance • Testing (this lecture) – Testing is never good enough CSE 435: Software Engineering B. Cheng Another View on How to Deal with Errors Error prevention (before the system is released): – Use good programming methodology to reduce complexity – Use version control to prevent inconsistent system – Apply verification to prevent algorithmic bugs Error detection (while system is running): – Testing: Create failures in a planned way – Debugging: Start with unplanned failures – Monitoring: Deliver information about state. Find performance bugs Error recovery
Background image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 17

07-02-TestingStrategies-notes - Outline Testing Terminology...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online