Fundamentals of Software Testing and Quality Assurance
Overview
This two day course provides an introduction to Software Testing and Quality Assurance concepts
needed to provide a good background to testing. Participants will be introduced to various testing
models and processes enabling them to make efficient and effective use of their time. A Case Study is
included to demonstrate the techniques.
Objectives
After the completion of the course, participants would be able to:
- Why testing is completed
- Quality characteristics
- Various development methodologies
- How to write a test plan
- Test types to be considered
- Effective and efficient test writing techniques
- Test execution
- Defect creation
- Coverage measurement
- Exploratory testing
Audience
Junior Testers with between 1 and 3 years of experience.
Developers needing to know something about testing.
Test Automators who require an understanding of the theory and practice of testing.
Test Leads or Managers without a background in testing.
Course duration
2 Days
Course outline
Section A - Introduction
- Logistics and introductions of instructor and participants.
- Course expectations from participants.
Section B - What is testing and what is testing trying to accomplish?
- Definitions and Purpose of Quality and Testing
- Characteristics of Quality
Section C - Development Methodologies
- Waterfall - description and impact on testing
- V-Model - description and impact on testing
- W-Model - description and impact on testing
- Agile Methods; Agile Testing Quadrants and Testing requirements
- Test Driven Development - three laws; development impacts; advantages
Section D - Test Planning
- Test Plans - Why; IEEE definition
- Test Plans in the SDLC
- Contents of a Test Plan
- Test Techniques - Intuition and Experience; Requirement and Specification Testing; All Pairs;
- Code Based Testing; Fault Based Testing; Combining Techniques
- Black, White and Grey Box Testing
- Testing Techniques
- Verification and Validation
- Peer Reviews
- Desk Checks, Reviews, and Walkthroughs
- Inspection Processes
- Matrices
- Definitions and uses of the following types of testing: Integration; System-Integration; Smoke;
- Non-Functional; Configuration; Compatibility; Conversion; Functionality; User Acceptance;
- Volume; Stress; Response Time; Load; Storage; Usability; Reliability; Recovery; Documentation;
- Procedure
- Purpose of Testing
- Relative cost of errors
- Testing Trap
- Regression Testing
Section E - Test Case Contents
- Static Information
- Dynamic Information
- Traceability to Requirements
- Examples of Bad and Good Test Cases
Section F - Writing Test Cases - Equivalence Classes
- Definition of Equivalence Classes
- Exercise on Equivalence Classes
Section G - Writing Test Cases - Boundary Value Analysis
- Definition of Boundary Value Analysis
- Exercise on Boundary Value Analysis
Section H - Writing Test Cases - Based on Requirements
- Objective Method
- Exercise on Objective Method
Section I - Executing Test Cases
- Test Suites
- Test Scenarios
- Test Runs
Section J - Defect Contents
- Defect Contents
- Non . Defect Contents
- Examples of Bad and Good Defects
Section K - Coverage Techniques
- Black Box Coverage
- White Box Coverage
- Classification of Testcases
- Exercise on Classification of Testcases
Section L - Exploratory Testing; Pair Testing
- Pair testing process
- Exploratory Testing
- Exercise on Exploratory Testing
Section M - Review and Wrap Up
- Improve the process
- Review and wrap up