Testing for Programmers
Benefits
You will learn how to deal with testing tasks that are part of the development process effectively and in accordance with the development process at hand.
General Description
From the popularity of the new agile methodologies that emphasize a „test first“ approach to programming, to the long-established importance of solid programmer testing before handing the system to an independent test team, it’s clear that programmers need to understand the fundamentals of unit and integration testing. What are the key techniques, skills and ideas programmers need? Based on professional experience and a survey of techniques, the course, developed by Rex Black, will introduce programmers to successful unit and integration testing techniques.
Objectives
Through presentation, discussion and hands-on exercises attendees will learn to:
- Design and develop tests based on expected behavior (black box), using various techniques
- Measure and enhance test coverage based on inmplementation details (white box), using various techniques
- Perform effective and efficient reviews
- Understand how testing fits into the development lifecycle
- Design and develop appropriate integration tests, using various techniques
- Select appropriate unit and integration test automation strategies, using tools like:
- API test harnesses (e.g. xUnit)
- CLI test scripts (e.g. Korn-shell)
- GUI "screen scrapers" (e.g. QuickTest Professional)
Course Materials
This course includes the following materials:
- Course outline
- Noteset
- Test requirement catalog:
- General-purpose clues (developer version) that are useful in a wide range of programs
- Project source documents for course exercises: Specifications used in the realistic sample project used during the course exercises
- A set of scripts and programs which are used to demonstrate the topics and techniques described
- Bibliography and resources
Contents: |
||
|---|---|---|
The units tested in the course are written in C or C++, using both procedural and object-oriented techniques. Each has known bugs hiding in it. Clients may choose to customize the course by supplying their own code for testing. Customization charges will apply. Attendees will need access to computers running Microsoft Visual C++ 6.0 or later.

