Structured Approach to Software Testing (SST)
This course incorporates a structured software testing approach that may be utilised by an individual or a team. Testing is handled as an integral part of the development method using the same systems engineering discipline as software development. In addition, testing techniques appropriate to the testing approach are explained and practiced.
The course is instructor-led with lecture presentations being supported by practical work allowing reinforcement of learning and enhancing the understanding process.
The course is designed for software testers and test managers.
A basic knowledge of software. The course is generic and not based on any software or hardware platform.
Upon successful completion of this course, students will be able to:
Design tests, test cases and test scripts, using industry-standard techniques, that find defects in an efficient and effective manner.
Develop effective testing strategies and execute them efficiently.
Ensure that the testing effort is appropriate, relevant and effective in the improvement of software quality.
Fundamentals of Testing
What is testing?
Why is testing necessary
Causes of software defects
Testing and quality
Software quality, ISO 9126
Testing in the Software Development Process
Development processes (waterfall, incremental, RAD, Spiral, Sync and Stabilise, RUP, Agile)
Levels of test (unit, integration, system, acceptance)
The testing process
Types of test
Tests, test conditions, test cases, test procedures
Standards for test specifications
The review process
Static analysis by tools
Boundary value analysis
Decision table and decision tree testing
State transition testing, switch coverage
Use case testing
Statement testing and coverage
Decision testing and coverage
Control flow graphs
Mapping test cases to requirements
Testing without requirements
IEEE standard for test documentation master and detailed test plans
Contents of a test plan
Pass and fail criteria
Suspension and resumption criteria
Test Preparation and Execution
Test incident reports
Defect tracking and analysis
When to stop testing
Cost of automation
Return on investment
Open source tools