The Testing Process
Review iterative process structure
Define the testing lifecycle in an iterative project
Define testing concepts: stages and types of testing
Identify testing roles, skills, activities and artifacts
Explore how use cases and design models are leveraged for testing
Developing A Test Plan
Determine types of tests to run: functional, stress, load, etc.
Plan test levels and rigor against project timeline
Define test coverage goals
Establish regression testing strategy
Determine test automation plan
Examine test plan template
Lab: Define test plan to meet project objectives
Identifying Test Cases
Determine test objectives and potential test cases
Identifying test case sources
Use cases
Information architecture
Activity diagrams
Class diagrams
Component diagrams
Sequence diagrams
State models
Deployment diagrams
Define how test cases are identified from each source
Lab: Test cases from use cases
Tips for testing user interfaces
Determine test types to use for different test sources
Lab: Test cases from state models
Writing Test Cases
Examine test case template
Define test case objectives
Specify success and failure criteria
Write test case scenarios
Specify test inputs and expected outputs
Lab: Write effective test cases
Define test case variations
Lab: Identify test case variations
Designing Tests
Establish and control needed test environments
Hardware configurations
Software configurations
Test stubs
Required test data
Lab: Define test environment
Executing Tests
Setup test environment
Verify test stability
Execute tests and record results
Evaluate results
Respond to test results
Filing defect reports
When to file a change request?
Is the project plan affected? Need to revise the plan?
What test assets need to be enhanced for future testing?
Manage defects and change requests
Automating Testing
Types and examples of test tools
Criteria for using testing tools
Avoiding automation pitfalls