
This tutorial covers area 1 & 2 of the Certified Software Test Professional requirements. This tutorial also counts as an elective towards the requirements of the Certified Test Manager (CTM) certification.

This course is essential to every software professional involved in software
testing. For example, programmers interested in performing effective unit testing, development
or test managers wanting to gain better control over the different test activities
and the quality of the software product, test engineers and test analysts
interested in performing effective planning, designing, and monitoring all
test activities. This course offers a systematic approach to effective software
testing.
Whether you have been doing testing for a number of years or you have just
started, you need this course. You will learn a number of testing practices
that you might not have seen before. The course will also cover the different
types of testing performed at each phase of the software lifecycle and issues
involved in these types of tests.
The course will also cover the test design phase of the testing lifecycle.
It starts with in-depth coverage of test case design techniques both for black
and glass box testing. This includes Equivalence Class Partitioning, Boundary
Value Analysis, Cause-Effect Diagram, Decision Tables and Decision Trees.
The last part of the course will cover test design activities and writing
Test Design Specifications including documenting test conditions, test cases,
test scripts and procedures, and expected results.
Upon completing this course, you should have all that you need to start doing testing in a more systematic manner.

- Principles of Software Testing
- Testing defined and terminology
- Requirements
- Test condition
- Test cases
- Test scripts/procedures
- Testware relationships
- Blackbox/Glass Testing
- Disciplined Software Testing Practices
- Requirements are crucial for effective testing
- Test both functional and quality requirements
- Adopt Model-Based requirements
- Formally design your tests
- Perform both positive and negative testing
- Trace requirements to test components
- Trace test cases to database components
- Perform thorough regression testing
- Define your test process
- Select tools to support your process
- Perform both static and dynamic testing
- Continue formal education
- Testing Levels
- Unit testing
- Integration testing
- System testing
- Major areas of systems testing
- Usability and GUI testing
- GUI Navigation Diagrams
- User acceptance
- Regression testing
- The structured testing pyramid
- The object-oriented testing pyramid
- System Test Planning
- Why plan?
- Developing a test strategy
- Test documentation
- Components of a test plan
- A test plan template
- Creating a systems test plan
- Identification of the test plan
- Systems test environment
- Systems test objectives and scope
- Systems test approach
- Systems test staffing and responsibilities
- Hardware/software/network requirements
- Testing tools
- Systems test deliverables
- Systems test tasks
- Test Case Design Techniques
- Strategies for generating test cases
- Black Box testing
- Equivalence Class Partitioning
- Boundary Value Analysis
- Cause-Effect Diagram
- Decision Tables
- Glass Box testing
- Statement/decision/condition coverage
- Path coverage
- Program complexity and basis path coverage
- Systems Test Design
- Test design basics
- Test design activities
- Deliverables of the test design phase
- Conditions and test cases
- Procedures and expected results
- Major areas of system testing
- Business requirement testing
- Preparing the Test Design Specification
- Defining test conditions
- Testing for missing business requirements
- Defining test cases
- Identifying data needed to execute tests
- Defining baseline data
- Determining expected results
- Defining test cycles
- A Systems Test Specification template
|