Software as a stand alone product or embedded within a system plays an integral role in our world today. As a consequence, it is essential that software works as expected. This requires software testing which entails answering both the verification question: “Are we building the product right?” and the validation question: “Are we building the right product?”. Understanding these questions is crucial for developing good test cases. This course is for anyone involved in testing software at any level starting from code modules to system testing. Strategies and techniques are presented for both testing software as well as planning and tracking testing efforts.
Specific topics covered include:
- Testing background
- Testing process activities
- Requirements based testing techniques Structure based testing techniques System testing
- Testing tools
- Reliability models Statistical testing
- Test planning
- Tracking testing progress
- Test documentation
- Test process improvement
Learners completing this course will be able to:
- Explain how testing activities fit within leading software development process models Understand and apply best practices for software testing
- Create test cases based on commonly used requirements based testing techniques Create test cases to achieve control and data flow structure based coverage
- Apply static analysis techniques to identify code anomalies
- Create test cases that demonstrate system-level quality requirements are being met
- Identify appropriate testing tools for applications
- Predict software reliability based on operational profile testing and reliability models Describe activities to perform for improving testing processes
- Analyze testing needs to create a plan to achieve test objectives
- Track testing progress against a plan