Save time -- automate
Sure, you do software testing. But is the testing automated? This tip, by Elfriede Dustin, the author of Automated Software Testing: Introduction, Management, and Performance (Addison Wesley), discusses some of the prerequisites for automating software testing. This tip is excerpted from
The test team initiates the test tool introduction process by analyzing the organization's current test process. Generally, some method of performing tests is in place, and therefore the exercise of defining the process may actually result in process improvement. In any case, process improvement begins with process definition.
The test process must be documented in such a way that it can be communicated to others. If the test process is not documented, it can't be communicated or executed in a repeatable fashion. If the test process can't be communicated or isn't documented, it's less likely to be implemented. In addition, if the process isn't documented, it can't be consciously and uniformly improved. On the other hand, if a process is documented it can be measured and therefore be improved.
If the organization's overall test process is not yet documented, or is documented but outdated or inadequate, the test team may need to adopt part or all of an existing test process. As the organization's test process, the test team may adopt the Automated Test Lifecycle Methodology (ATLM) outlined in Automated Software Testing: Introduction, Management, and Performance. When defining or tailoring a test process, it may prove useful for the test engineer to review the organization's product-development or software-development process document, when available.
The test engineer needs to analyze the existing development and testing process. During this analytical phase, the test engineer determines whether the current test process meets the following defined prerequisites:
- The testing goals and objectives have been defined.
- The testing strategies have been defined.
- The required tools are available to implement planned strategies.
- A testing methodology has been defined.
- The test process is communicated and documented.
- The test process is being measured.
- The test process implementation is audited.
- Users are involved throughout the test program.
- The test team is involved from the beginning of the system development lifecycle.
- Testing is conducted parallel to the system development lifecycle.
- The schedule allows for process implementation.
- The budget allows for process implementation.
- The organization is seeking to comply with industry quality and process maturity guidelines (CMM, ISO).
The purpose of analyzing the organization's test process is to identify test goals, objectives, and strategies that may be inherent in the test process. These elements of test planning are the cornerstones for which a project's test program develops. The purpose of documenting the test tool introduction process is to ensure that the test team has a clearly defined strategy for implementing automated testing, so that the team can fully leverage the functionality and time-saving features of the automated test tool.
The additional time and cost associated with the documentation and implementation of a test tool introduction process is sometimes an issue. A well-planned and well-executed process will pay for itself many times over by ensuring a higher level of defect detection and fielded software fixes, shortening product-development cycles, and providing labor savings. A test team will perform well if it is disciplined in defining test goals and reflecting the test goals within defined processes, the skills of test team staff, and the selection of a test tool. This kind of discipline, exercised incrementally, supports the test team's (and the entire organization's) advancement in quality and maturity from one level to the next.
To read this entire tip, click over to InformIT. You have to register there, but it's free.
Did you like this tip? Email us and let us know.
Effective Methods for Software Testing, 2nd Ed.
Author : William Perry
Publisher : John Wiley & Sons
Published : Feb 2000
Software testing is an essential part of developing computer systems and applications--you've got to make sure that programs work as they were intended to. If they don't, you've got unhappy customers and company employees, lost productivity, and lost revenue. A company can even face lawsuits if its software doesn't work as advertised. There are a lot of methods of software testing--not all are effective. Effective Methods of Software Testing, Second Edition, selects proven testing techniques and organizes them into a complete testing program that will ensure that the software works in the way it was designed. Testing is done at many levels. In some companies, there are people who have software testing as a job responsiblity. In other cases, it may be a programmer or software developer who has to take over some testing functions. This book is intended mainly for software testers, but it certainly is useful for others with testing responsibilities.
This was first published in June 2001