Audience
The course is designed for software testers and test managers.
Prerequisites
A basic knowledge of software.
The course is generic and not based on any software or hardware platform.
Duration
3 days.
Lecture presentations are supported by exercises allowing reinforcement of learning and enhancing the understanding process.
This course is available on site only. Please call for details.
Course Objectives
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 development method and its phases are detailed and practiced.
At the end of the course attendees 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 plans, execute them efficiently.
- Ensure that the testing effort is appropriate, relevant and effective in the improvement of software quality.
Course Content
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.
Test Design
Tests, test conditions, test cases, test procedures.
Standards for test specifications.
Static techniques:
• Informal reviews.
• Walkthroughs.
• Inspections.
• The review process.
• Static analysis by tools.
Black-box techniques:
• Equivalence partitioning.
• Boundary value analysis.
• Decision table and decision tree testing.
• State transition testing, switch coverage.
• Use case testing.
White-box techniques:
• Statement testing and coverage.
• Decision testing and coverage.
• Control flow graphs.
Mapping test cases to requirements.
Exploratory testing.
Error guessing.
Regression testing.
Testing without requirements.
Test Management
Test organisation.
Test planning.
IEEE standard for test documentation – master and detailed test plans.
Contents of a test plan.
Risk analysis.
Test approach.
Pass and fail criteria.
Suspension and resumption criteria.
Exit criteria.
Test estimation.
Test deliverables.
Test Preparation and Execution
Test environment.
Test data.
Test incident reports.
Defect tracking and analysis.
When to stop testing.
Test reporting.
Test Automation
Why automate.
Cost of automation.
Return on investment.
Tool issues.
Tool selection.
Open source tools.