Gain an overview of some key practices that help make software testing successful within the general context of an iterative development life cycle. Hands-on exercises reinforce the practices with concrete examples.

Using the structure provided by the Rational Unified Process (RUP), explore a number of testing practices that can be applied in various contexts including:

  • Defining the mission of the test team
  • Examining various testing types and techniques
  • Analyzing and reporting defects effectively
  • Assessing and reporting the extent of testing

Below is the two days course outline of our trainings:

Course Name: Rational Principles of Software Testing for Testers
Duration: 2 days
Skill Level: Basic


Software developers, who want to understand the goals and tactics of functional testing, and software managers, who need to better understand the goals and methods of the testers who work on their projects.


You should have experience performing software testing with either six months on the job experience or significant experience in some other software development role.

Skills taught:

  • Understand and describe the basic concepts of functional (black box) software testing
  • Identify a number of test styles and techniques and assess their usefulness in your context
  • Understand the basic application of techniques used to identify useful ideas for tests
  • Help determine the mission and communicate the status of your testing with the rest of your project team
  • Characterize a good bug report, peer-review the reports of your colleagues, and improve your own report writing
  • Understand where key testing concepts apply within the context of the RUP

Course outline:

  • Software engineering practices
  • Terminology of RUP, the testing discipline in RUP, and the testing workflow structure within an iteration
  • The mission of the test team
  • Identifying the goal of test documentation
  • Test ideas, test idea catalogs, and test matrices
  • Test techniques and styles of functional testing
  • Effective problem investigation and change request (defect) writing
  • Status reporting on the extent of testing
  • Verifying your test approach, validating the stability of a build, and ongoing maintenance and improvements to test assets