What you will learn:
You will get practical answers to the following questions: When should you start testing and when can you stop testing? How do you predict software bug rates? Which defects are acceptable and why? What software metrics should be collected to measure testing progress? How do you plan for testing, debugging, and fixing software? What can you look for in code to verify that software reliability has been designed into the software? This course prepares you to create better software and to evaluate software produced by others.
Abstract:
The course provides a detailed view of testing principles and software errors. It describes testing techniques and tools, and presents strategies for allocating resources to testing and debugging. In longer courses a representative test plan is developed in class. The course also contains an extensive discussion of software reliability and quality assurance, including software developed under MIL-STD-2167A or J-STD-016.
Who should attend:
Software faults affect everyone. Product development teams, both software and hardware, need to know about software test and quality. Test engineers should also attend.
Detail:
Course Outline:
Testing Fundamentals
- Fault, Failure, Error, Debug...
- Examples of Software Errors
- Objectives of Software Test
- Four Views of Testing
Test Techniques and Strategies
- Types of Testing
- Boundary Value Analysis
- Equiv. Class Partitioning
- Error Guessing
- Decision Tables
- Top-Down, Bottom-Up
- Static vs. Dynamic Strategies
- Black Box vs. Glass Box
Example Problems in Testing
Managing Test
Software Reliability
Software Quality Assurance
Software Quality Measures
- MIL-STD-2167A
- Configuration Management
- Verification vs. Validation
- Reviews, Audits, Checklists, Inspections, Witnessing
- Automated Traceability Tools
- Software Metrics