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

Software Testing Notes

The document outlines the fundamentals of software testing, emphasizing its role as an engineering activity focused on defect prevention and quality assurance through defined processes. It details test case design strategies, levels of testing, and the importance of systematic approaches to ensure software meets requirements. Key concepts include the definitions of errors, defects, and failures, as well as various testing methods and the necessity of multiple testing levels for large systems.
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

Software Testing Notes

The document outlines the fundamentals of software testing, emphasizing its role as an engineering activity focused on defect prevention and quality assurance through defined processes. It details test case design strategies, levels of testing, and the importance of systematic approaches to ensure software meets requirements. Key concepts include the definitions of errors, defects, and failures, as well as various testing methods and the necessity of multiple testing levels for large systems.
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

Software Testing Notes

I. Testing Basics

1. Testing as an Engineering Activity


- Systematic activity to ensure software meets requirements.
- Focus on defect prevention, detection, and removal.

2. Role of Process in Software Quality


- Quality is built, not tested at the end.
- Defined processes = predictable, consistent outcomes.

3. Testing as a Process
- Planned activity: Planning → Designing → Execution → Reporting → Closure.

4. Basic Definitions
- Error: Mistake by developer.
- Defect (Bug): Flaw in code.
- Failure: Deviation from expected result.
- Test Case: Inputs + Conditions + Expected result.

5. Software Testing Principles


1. Testing shows presence, not absence of defects.
2. Exhaustive testing impossible.
3. Early testing saves cost & time.
4. Defects cluster in few modules.
5. Repeated tests lose effectiveness.
6. Testing is context-dependent.
7. Bug-free ≠ useful software.

6. Tester’s Role
- Independent validation, defect reporting, collaboration.

7. Origins of Defects
- Human errors, process gaps, environment, communication.

8. Defect Classes
- Requirements, Design, Code, Test defects.

9. Defect Repository
- Centralized database of defects, aids analysis & prevention.

10. Defect Examples


- Wrong calculation, UI issue, security loophole.

11. Developer/Tester Support


- Tools: JIRA, Bugzilla, Redmine.

------------------------------------------------------------

II. Test Case Design

1. Test Design
- Goal: Efficient coverage with minimum test cases.

2. Smarter Tester
- Focus on risk-based testing.

3. Test Case Strategies


- Black Box: Requirement-based.
- White Box: Structure-based.
4. Black Box Methods
- Random Testing, Equivalence Partitioning, BVA, State Transition, Decision Tables.

5. COTS Testing
- Black box useful where code unavailable.

6. White Box Methods


- Adequacy criteria, coverage (statement, branch, path).
- Control flow graphs, loop testing, data flow testing.

7. Evaluating Adequacy
- Balance cost vs effectiveness.

------------------------------------------------------------

III. Levels of Testing

1. Need
- Large systems need multiple test levels.

2. Unit Testing
- Test smallest component (function/class).
- Test harness: drivers + stubs.

3. Integration Testing
- Ensures modules work together.
- Strategies: Top-down, Bottom-up, Big-bang.

4. System Testing
- Full system validation: functional + non-functional + regression.

5. Acceptance Testing
- Alpha: Developer environment.
- Beta: User environment.
- Customer acceptance: Final approval.

You might also like