Software Testing Boot Camp
This is a comprehensive workshop in software testing for people just getting into the field of software testing, or for people who just need a refresher course or validation for their current testing techniques. This is a practical hands-on seminar to cover the major phases and types of testing. You will learn and practice the testing process from beginning to end.
Your instructor will be an experienced practitioner and trainer in the QA and testing field. You will learn the terminology, process, and challenges of testing in the real world. As a result of attending this seminar, you should have a good working knowledge of software testing and what it takes to design and conduct an effective test of software, regardless of the technology.
Software Testing Boot Camp will help you become more comfortable and confident in testing software applications at just about any level of detail: unit, integration, system, and user acceptance. You will emerge from this workshop knowing how to develop test cases and test plans. You will also leave with the knowledge of how tools can help you perform testing.
Sometimes people feel intimidated by the technical aspects of software testing and lack the confidence they need to be credible testers in their organization. Learn the issues and processes for effectively testing software by attending this hands-on course.
This course is presented on an in-house basis. Please contact us for booking.
Who Should Attend
- Test analysts
- Test and Developers
Return on Investment
- Learn how to find costly and embarrassing problems before your customers find them.
- Understand the key issues in testing software applications.
- Learn how to design tests that adequately cover requirements and business events.
- Get the most out of your existing investment in testing and how to leverage that investment.
- Advance your career by reinforcing your testing expertise.
This program requires no previous testing knowledge. Basic information technology experience is helpful.
Day 1 - Intro to Testing
Module 1 - The Top Ten Challenges of Software Testing (STBA) – 1.25 Hrs.
- The Top 10 Challenges
- Solutions to Each Challenge
Module 2 - Test Terminology (STBB) – 1 Hr.
- The Deming Workbench Model
- Software Life Cycle
- Test Terminology
Module 3 - Test Processes and Standards – 1 Hr.
- The Role of Process in Effective Testing
- What is Process Maturity and How Does it Impact Testing?
- What are the Stages of Test Process Maturity?
- How to Define a Process in About an Hour: The Workbench Approach
- Where do Standards Fit in?
- Test Process Maturity
Module 4 - Economics of Testing (STBC) - .25 Hr.
- Where Defects Originate
- Where Testing Resources are Used
- The Relative Cost of Fixing Defects
Module 5 - Testable Requirements (IQAH) – 1.5 Hrs.
- The Importance of Requirements
- Quality Requirements
- Testable Requirements
- Identifying Needs
- Ambiguity in Requirements
- The Importance of Inflection
- The Importance of Word Meanings
- Word Games
- The Right People – Who Do We Involve?
- Dealing with Change
- How to Control Change
- Requirements Reviews
- Special Considerations For Existing Software Requirements
- Exercise: Improving a Requirement
Module 6 - Risk Assessment (UATD) – 1 Hr.
- Three Views of Risk
- Project Risk
- Building the Risk Assessment Team
- Presenting the Risk Assessment Tutorial
- Completing the Risk Questionnaires
- Scoring the Risk Assessment
- Reporting the Risk Assessment Results
- Summarizing the Risk Findings
- Presenting the Risk Findings
- Technical Risk
- Assessing the Risk
- Likelihood of Failure
- Impact of Failure
- Understanding the Assessment Results
- Mission Risk
- Spreadsheet with Mission Criteria
Module 7 - Test Planning Overview (STBD) – 1.5 Hrs.
- High level test strategies and planning
- Basic Testing Principles
- The Basic Testing Process
- What is a Test Strategy?
- The Components and Format of a Test Strategy
- Identifying Critical Success Factors
- Defining Test Objectives
- The Components and Format of a System-level Test Plan
- Major Elements of a Test Plan
- How Much Time Should be Spent on Test Planning?
- Planning Time Guidelines
- Tips for Test Planning
Module 8 – The Basic Test Planning Process (STBE) – 1.5 Hrs.
- Key Test Planning Components
- Major Test Planning Tasks
- Task 1 - Develop Test Strategy
- Task 2 - Define Test Objectives
- Task 3 - Identify Needed Test Resources
- Task 4 - Plan Test Environment
- Task 5 - Define Test Procedures
- Task 6 - Identify Functions To Be Tested
- Task 7 - Identify Interfaces With Other Systems or Components
- Task 8 - Write Test Scripts
- Task 9 - Define Test Cases
- Task 10 - Design Test Data
- Task 11 - Build Test Matrix
- Task 12 - Determine Test Schedules
- Task 13 - Assemble Information
- Task 14 - Finalize the Plan
Module 9 - Test Execution (STBG) – 1 Hr.
- General processes and environments
- Automated TestingTest Execution - Manual Methods
- Risks of Not Automating Testing
- Risks of Automating Testing
- Where Do Tools Fit In?
- The Major Issues
- “Top 10” Test Tools
- Critical Success Factors
- Test/Function Matrix
- Building the Test Environment
- How to Create and Maintain Test Data
- Test Data Cycle
- The Process for Configuration/Release Management
- Pitfalls to Avoid
Module 10 - Test Evaluation and Reporting (STBI) – 1.5 Hr.
- Prerequisites for Test Evaluation
- Test Evaluation and Reporting Process
- Test Reporting Attributes
- Types of Test Reporting
- Defect reports
- Status reports
- Final report
- System Test Evaluation - Defect ReportingStatus Reporting
- Defect tracking tools
- The role of the defect administrator
- The Defect Life Cycle
- Defect Tracking - Things You Need to KnowSample Defect Categories
- What is a defect?
- How is a defect reported?
- What are the defect categories?
- How much detail should be reported?
- What does the tester do when the defect is fixed?
- Sample Defect Priorities
- Final Reporting
- Test Summary Report
- How Can This Data be Used?
Module 11 - The Role of Test Tools (IQAF) – 1 Hr.
- What is a Test Tool?
- The Risks of Not Automating Testing
- The Risks of Automating Testing
- Where Do Tools Fit In?
- The Major Issues
- The Top 10 Test ToolsSteps in Selecting a Test Tool
- Interactive Test/Debug
- File and Code Comparison
- Stress and Load Testing
- Defect Tracking
- Test Data Generators
- Test Management
- Complexity Analyzers
- Coverage Analyzers
- Critical Success Factors
Module 12 – Surviving the Top Ten Challenges of Test Automation – 1 Hr.
- Basis of Research
- The Role of Test Tools
- Challenge #10 – Buying the Wrong Tool
- Challenge #9 – Inadequate Coverage of Test Types
- Challenge #8 - Lack of Tool Compatibility and Interoperability
- Challenge #7 – Lack of Configuration Management Processes
- Challenge #6 – Lack of a Basic Testing Process or Understanding What to Test
- Challenge #5 – Lack of Tool Ownership and Acceptance
- Challenge #4 – Inadequate Tool Training
- Challenge #3 – Inadequate Test Team Organization
- Challenge #2 – Lack of Management Support
- Challenge #1 – Unrealistic Expectations
Day 3 - Phases of Testing - Unit, System and UAT
Module 13 - Unit Testing (IQAC) – .5 Hr.
- What is Unit Testing?
- When is Unit Testing Performed?
- How Much Preparation is Necessary?
- Why Create a Unit Test Plan?
- Unit Test Case Design - Functional Tests
- Unit Test Case Design - Structural Tests
- The Unit Test Process
- How to Document Functional Unit Test Cases
- How to Design Structural Tests
- How to Document Unit Interfaces
- Example: Unit Test Overview
- Unit Test Execution - Procedural Software
- Unit Test Execution - Event-driven Software
- Unit Test Execution - Case-developed Software
- Automated Methods for Unit Testing
- Unit Test Tools
- Manual Methods of Unit Testing
- Unit Test Defect Reporting
- Unit Test Summary Report
- Example: Unit Test Summary Report
Module 14 - System Testing (IQAD) – 1 Hr.
- What is System Testing?
- System Test Planning
- Identifying System Test Objectives
- Identifying System Functions to Test
- Example: System Function Worksheet
- Identifying Critical Requirements
- Example: Critical Requirements Worksheet
- Identifying System Interfaces
- Example: System Interface Worksheet
- Writing System Test Scripts
- Example: System Test Script
- Writing System Test Cases
- Example: System Test Case Worksheet
- Profiling for Performance Testing
- Example: System Performance Profile Worksheet
- Example: Test Timing Worksheets
- Building the System Test Matrix
- Example: System Test Matrix
- Identifying System Test Schedules and Resources
- Example: System Test Schedule
- Finalizing the System Test Plan
- A Representative System Test Plan Outline
Module 15 - User Acceptance Testing (IQAE) – 1.5 Hrs.
- User Acceptance Testing
- What is User Acceptance Testing?
- Methods of User Acceptance Testing
- The User’s Role in Testing
- An Overview of the Structured User Acceptance Testing Process
- The Structured User Acceptance Testing Process
- Phase 1 - Plan Tests
- Setting Acceptance Test Objectives
- Organizational responsibilities
- Defining Acceptance Criteria
- Planning Acceptance Test Scenarios
- Example - Processing an Insurance Claim
- Example - Scenarios
- Developing Acceptance Test Scripts
- Defining Operational Cases
- Example - Operational Cases
- Functional Test Cases
- Normal Cases
- Boundary Cases
- Maximum and minimum values
- Invalid Cases
- Special Cases
- The Test/Cycle Matrix
- What is a Test Cycle?
- Why Use Test Cycles?
- Traditional Test Cycle
- Critical items for acceptance testing
- Finalizing the Acceptance Test Plan
- Phase 2 - Execute Tests
- Step 1 - Select tools
- Step 2 - Train team members
- Step 3 - Execute test plan
- Step 4 - Track progress
- Step 5 - Perform regression testing
- Step 6 - Document test results
- Phase 3 - Evaluate Tests
- Recording of Test Results
Day 4 - Types of Testing - Integration, Interoperability, Compatibility, Usability, Performance
Module 16 - What is Integration and Interoperability Testing? (IITA) - 1 Hr.
- Scope of Testing
- Special Considerations – COTS, Internationalization, etc.
- Compliance to Interoperability Standards
Module 17 - Usability Testing (ISTC) - 1 Hr.
- The People
- The Process
- The Tools
- How to Measure Usability
- How to Interpret the Test Results
- Usability Standards
Module 18 - Performance Testing (ISTD) - .75 Hrs.
- Key Concerns
- The Challenge
- Hitting the Performance Wall
- Performance Testing
- Load Levels
- Load Levels with Response
- Type of Technology
- Web Load Testing – Connection Speed Makes a Difference
- Web Load Testing – Audience Location Makes a Difference
- An E-Commerce Schematic
- Client/Server Load Testing
- Mainframe Load Testing
- Manual vs. Automated Tools
- Which Tools are Applicable?
- How Can Tools Help?
- Common Problems and Pitfalls
- Memory Leak
- Anatomy of a Boundary Violation
- Anatomy of a Memory Leak
- A Performance Testing Process
- Define Objectives
- Prepare Test Plan
- Profile Performance Levels
- Define Processes to be Tested
- Execute Tests / Record Performance Data
- Analyze Performance Test Results
- Building and Controlling the Performance Test Environment
Module 19 - Test Measurement and Metrics (TTLF) – 1 Hr.
- What are the Most Effective Measurements and Metrics for Testing?
- What are Function Points?
- Benefits of Testing Metrics and Measurements
- What Needs to be in Place to Capture Measurements and Metrics
- Tools and Techniques for Measuring Testing Activities
- Tracking and Understanding Defect Trends
Module 20 – Walkthroughs and Inspections (INSB & INSD) - 2 hrs.
- Roles and Responsibilities
- Keys to Success
- Introduction to the Fagan Process
Module 21 - Teamwork in Testing (.5 Hr.)
- The Role of Testing in a Project
- Working with Developers
- Working with Users
- Keeping Management Informed of Progress
- Managing Expectations
- What Can a Tester Reasonably Assess or Recommend?
Module 22 - An Internet Testing Strategy (WTOB) - 1 hr.
- Key Areas of Concern
- Who Does What?
- Test Environment Considerations
Module 23 - COTS testing (COTA) – .5 Hr.
- What is COTS?
- Variations of COTS – COTS-based, GOTS
- What is the Purpose of COTS?
- Why are the Challenges of COTS Applications?
- What are the Challenges of Testing COTS Applications?
- What are the Risks of Implementing COTS Applications?
- Key Terminology
- An Introduction to the COTS Lifecycle
- Roles and Responsibilities for COTS
Module 24 – A COTS Testing Framework (COTB) - .5 Hr.
- A COTS Testing Framework
- The COTS Testing Framework Explained
- How the COTS Testing Framework Fits Into the Overall COTS Lifecycle
- The Evolutionary Nature of the COTS Lifecycle and How it Impacts Testing
Module 25 – Course Summary - .25 hr
- Top Ten Course Points
- Final Q&A