Testing Computer Software

This three-day course focuses on strategic and tactical approaches to software testing. The course surveys the essential theory and foundations of software quality, as well as the practical skill building necessary to be an effective and active contributor to the software development process. It covers software testing and test project management techniques that are applied daily by successful software development companies.

Smarter testing leads to improved quality. To test smarter, we start by looking at how various development methods affect testing and test documentation. We then cover a wide variety of test methods from regression and acceptance testing to exploratory and scenario testing. This course includes requirements-based testing, as well as requirements stability and traceability. The goal here is to arm you with the best practices for efficient test design and test case documentation. You will learn how to create useful test matrices, and decision tables. In addition, we focus on effective defect communication.

---

"Testing Computer Software is an excellent course. My entire staff is encouraged to take this course."
Emily Campbell, Product Test Manager - Perkin Elmer

---


Who Should Attend:

Software testers, business analysts, test managers, test specialists, quality assurance specialists, project managers and software knowledgeable individuals who want to develop practical testing and test result reporting skills — anyone who wants to improve effectiveness in testing, test case design, test-planning, project management, and test-group management.

Course Materials (included):

A complimentary copy of Testing Computer Software by Cem Kaner, Jack Falk and Hung Q. Nguyen, (2nd Edition, Wiley, 1999) is included with this course. The bestselling software testing book of all time, Testing Computer Software set the standard for test engineering.

A handbook (approximately 500 pages) is also provided. The handbook includes copies of the course slides, sample test plan materials (including several testing templates), a few recent publications, and a list of useful print and online resources.

You Will Learn:

  • Essentials of product development
  • The role of test engineers in product development
  • The importance and use of phase milestone criteria
  • How and where testing fits in the software development lifecycle
  • Value of quality & cost of quality and testing
  • Boundary value analysis & equivalence class partitioning
  • Objectives and limits of testing; testing coverage
  • Distinctions of white box, black box & gray box testing
  • Test terminology
  • Essential test types and test methodologies
  • Requirements-based, regression, fault injection/forced error handling, and other test methods
  • Understanding software errors, types of errors
  • How to report software errors
  • Techniques for analyzing and reproducing errors
  • Good black box test case design
  • To create decision tables and other test case documentation
  • Basic testing tools
  • Basic uses of test automation
  • The objectives of test planning
  • Test plans and a review of test plan templates

Course Outline:

  • Lessons Learned in Software Testing
  • An overview of product development
  • The software development lifecycle
  • An overview of a testing organization
  • Costs associated with testing and quality
  • An example test series: The program’s first tests
  • The impossibility of complete testing / problems of coverage
  • Objectives of testing
  • Getting started - terminology, test types and test methods
  • Software errors
  • How to report software errors
  • Analyzing software errors
  • Reproducing software errors
  • Introduction to black, gray and white box testing
  • Test planning materials
  • Black box test case design
  • Essential test case development methods
  • Combination testing
  • Model-based Testing
  • A brief survey of software testing tools
  • Basics of test automation
  • The test plan

Optional/Reference

  • Testing product documentation
  • Testing the installer
  • Testing printers and other devices

Prerequisites:

There are no formal prerequisites for this course. The course assumes familiarity with computers and a strong practical interest in software development or quality assurance. This course is multi-layered. It provides a strong introduction for those who have just accepted jobs as software test engineers, and offers material of interest to senior test engineers, test managers, programmers, and project managers.

Download software testing white papers