Software Testing Curriculum

There are many books, videos and courses designed to improve the knowledge of software testers. Some are linked to certifications that require testers to demonstrate what they have learnt. In spite of this, many organisations still struggle with poor software quality. Becoming a good tester requires skill as well as knowledge.

The Software Testing Curriculum is a practical curriculum based on proven software testing strategies that work in the real world. It has been designed to improve the the skills as well as the knowledge of software testers. The curriculum consists of four 2-day courses that can be attended in any order, when time permits, or as a single 5-day course covering the entire curriculum.

The courses are aligned with the ISTQB's Seven Principles of Software Testing and share a common approach to developing test strategies. Exploratory testing and test automation are themes that are discussed throughout all of the courses. The four courses share a common financial system case study that provides a focus for discussion and workshop exercises.
The Software Testing Curriculum
Strategy

The common approach used to define a test strategy is based on five simple questions:
  • What will be tested?
  • Why perform this test?
  • How will the test cases be designed?
  • Who (or what) will perform the test?
  • How will the test be executed?
These questions provide the basis of the Software Testing Canvas which is a visual tool for defining software testing strategies.

Exploratory Testing

The curriculum covers the five common approaches to exploratory testing.
  • Strategy Based
  • Scenario Based
  • Freestyle
  • Feedback
  • Session Based
It also covers the use of capture-replay tools to support exploratory testing and the importance of exploratory testing as a means of rectifying some of the weaknesses associated with test automation.

Test Automation

Test automation strategies must be aligned with an overall test strategy. Common mistakes are a failure to understand the business case for test automation and allowing technology to become the driver of test automation strategy.

The Test Automation Reference Model (TARM) is a conceptual framework for understanding, comparing and selecting test automation tools. It identifies the common features and components of a test automation framework and can also be used as a reference architecture for developing in-house frameworks.

Test Case Design Techniques: Designing Effective Tests for Manual, Automated and Exploratory Testing

Based on the test case design techniques described in the ISO 29119 Software Testing standard, the main focus of this course is designing test cases for checking that stakeholder expectations have been satisfied and exploring the risk of poor quality. The course covers both black box and white box approaches to testing, including a discussion of relevant test coverage criteria. The exploratory testing topic introduces students to the simultaneous design and execution of test cases.

More details can be found in the course outline for Test Case Design Techniques

Software Testing Techniques for User Acceptance and System Integration Testing

Based on real world experience, the main focus of this course is checking that stakeholder expectations have been satisfied. The course covers defining customised strategies for User Acceptance Testing (UAT) and System Integration Testing (SIT), Model Based Testing and the role of test automation during UAT and SIT. The exploratory testing topic introduces students to the Scenario Based approach to exploratory testing.

More details can be found in the full course outline for Software Testing Techniques for User Acceptance and System Integration Testing

Risk Based Testing: Balancing Acceptable Quality With Schedules and Budgets
Based on a standard Risk Analysis Activity Model, the main focus of this course is exploring the risk of poor quality. The course covers identifying and assessing software risks, aligning test strategies with risk and predicting risks based on an analysis of past errors. The exploratory testing topic introduces students to the Freestyle, Feedback and Session Based approaches to exploratory testing.

More details can be found in the full course outline for Risk Based Testing

Concepts of Automated Software Testing: Theory and Practice of Test Automation Strategies, Tools and Frameworks

Based on the Test Automation Reference Model (TARM), the main focus of this course is the automation of software testing. The course covers defining test strategies that balance automated testing an other forms of testing, developing a business case for test automation and using the TARM as the basis for selecting and implementing test automation tools. The exploratory testing topic introduces students to the Pesticide Paradox and the importance of exploratory testing as a means of rectifying some of the weaknesses associated with test automation.

More details can be found in the full course outline for Concepts of Automated Software Testing