0% found this document useful (0 votes)
19 views2 pages

1 4

The document outlines key concepts in software testing, including test cases, test suites, and their components. It emphasizes the importance of well-designed test cases over random inputs, details various testing strategies, and highlights the role of unit testing in early bug detection. Additionally, it covers test documentation, execution, and the significance of a structured test plan.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views2 pages

1 4

The document outlines key concepts in software testing, including test cases, test suites, and their components. It emphasizes the importance of well-designed test cases over random inputs, details various testing strategies, and highlights the role of unit testing in early bug detection. Additionally, it covers test documentation, execution, and the significance of a structured test plan.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

1.

Test Cases & Test Suites

• Test Case: A specific scenario with input, system state, and expected output.
• Test Suite: A collection of test cases to validate software functionality.
• Coverage-Based Testing: Ensures specific program elements (statements,
conditions) are executed.
• Fault-Based Testing: Focuses on detecting and exposing software bugs.

2. Test Case Components

• Test Input (Data): Values provided to test functionality.


• State (S): The software's condition before input is applied.
• Expected Output (O): The result that should be observed.

3. Positive vs. Negative Test Cases

• Positive Test Cases: Verify that software works with valid inputs.
• Negative Test Cases: Check how software handles invalid/unexpected inputs (e.g.,
entering letters instead of numbers).

4. Test Documentation & Execution

• Test Case Documentation: Includes test case ID, author, purpose, preconditions,
input, expected output, postconditions, execution date, tester, results, and fix status.
• Types of Testers: Includes test planners, scenario designers, case designers,
executors, result analysts, tool support specialists, and external testers (e.g., usability
experts).

5. Importance of Designed Test Cases vs. Random Inputs

• Random testing may not effectively uncover different types of bugs.


• Well-designed test cases ensure diverse test coverage with fewer test cases.
• Example: Testing a max(x, y) function with only larger values of x will not expose an
incorrect condition handling bug.

6. Test Plan

• Purpose: A roadmap for testing activities.


• Includes:
o Features to test/not test.
o Test strategies (black-box, white-box, usage-based).
o Stopping criteria (e.g., core features must work before others are tested).
o Testing schedule and effort estimation.

7. Test Strategies & Planning

• Multiple strategies needed: Each strategy detects different bug types.


• Effort allocation: More time spent on strategies and modules with higher defect
rates.
• Defect Clustering: Bugs often appear in clusters; certain modules require more
rigorous testing.

8. Unit Testing

• Definition: Testing individual software units (functions, classes, components) in


isolation.
• Purpose: Detects bugs early, making them easier and cheaper to fix.
• Unit Testing vs. System Testing:
o System testing can reveal failures but is more expensive due to debugging
complexity.
o Unit testing catches errors in smaller, localized code sections.
• Drivers & Stubs:
o Drivers: Simulate higher-level modules that call the unit being tested.
o Stubs: Simulate lower-level modules called by the unit.

You might also like