5 minutes of smart: Explore the test management process
A key element in a software development project is the testing effort— creating and executing tests and managing the results in order to make effective development decisions. Understanding the testing effort in an ongoing project adds a major tool to your software developer toolbox.
There are several ways you can parse the testing effort; one way is to look at it as two parts:
- The testing process: A set of steps that include developing test artifacts, running tests, and submitting defects. The role is traditionally defined as tester. Explore this process
- The test management process: A set of steps that include preparing for the test effort, developing test plans, and tracking the tests. The role is generally defined as test manager or test lead.
“IBM Rational Quality Manager provides testing automation so you can accelerate project schedules; the resulting metrics make your release decisions more informed.”
Let's explore the test management process in more detail.
Here are six major tasks you can associate with the test management process. The steps are listed in logical workflow order.
- Identify and define requirements: Requirements are an essential input to test planning. You often begin the test management process by identifying the project requirements used in the development effort. Requirements can be created by anyone on the cross-functional team. As a test lead, your job is to ensure that your testing effort adequately covers all requirements by linking requirements to your test plans and test cases. You create links from test artifacts to requirements and you can create requirement collections (requirements that are associated by attributes or scheduling). Explore this concept
- Develop test plans: A test plan describes the scope
of the total testing effort and provides a record of the process. It
captures the set of test cases required to validate a software
release. You are expected to:
- Develop a checklist of the basic tasks that are involved in the plan, then develop a plan that captures the elements of a test cycle — test requirements, test cases, test execution criteria, and other information.
- Make adjustments to the plan as necessary, ensuring that the plan was linked out to necessary resources (other plans, requirement repositories, etc.).
- Combine several smaller plans ("child" plans) into a "master" test plan.
- Determine the parameters of the testing environments by defining your platform coverage and setting up environment types.
- Estimate the total effort required by the plan in terms of time, human, physical, and virtual resources; ensure those resources are available to share.
- Establish quality objectives for the plan.
- Develop test cases: Create a variety of
test artifacts, including test cases, suites, scripts, and execution records:
- A test case usually answers the question "What am I testing?" A typical test case can be defined as using the same test script to test multiple configurations.
- A test suite is a collection of test cases that are combined for test execution purposes.
- A test script is a manual or automated script with the instructions for implementing a test case. Although a test case is usually associated with a test script, it doesn't have to be.
- Monitor test construction: In tracking tests, you might want to establish both traceability and execution views. A traceability view helps you track the status of requirements and development plans that are associated with specific tests. An execution view helps track test case and test suite execution progress, especially for individual test plans. Explore this concept
- Plan test execution and recording: When it comes to creating and managing test case and suite execution records, you can build them manually or automatically, build them from a test plan, or edit existing test case and test suite execution records. You can create multiple records from a single test case or suite or only generate a single record. Explore this concept
- Track test efforts: This task is a repeat of the monitoring test construction step; in test management, it occurs again at the end of the process. Explore this concept
Having a working knowledge of the testing and test management processes will enhance your skills as a developer since the testing function in the overall software development process is integrated into the development function. One quick way to get up to speed on development-in-process testing is to experiment with a an automated testing system; the Jazz.net community has a trial download for the IBM Rational Quality Manager system.