Automated Testing Based on a Prioritized Feature Schedule
Structuring a clear and concise schedule of testing features and timing can be challenging. Frequent changes can have a direct impact on the stability of a software release, requiring rework and affecting both development and testing. However, testing feature reprioritization is common for automated testing efforts as other factors such as business changes or new technologies come into play.
While the testing cycle is ideally iterative and incremental (in Agile development efforts), given limited budgets and schedules, test teams can use several guiding principles to fine tune test feature lists and choose priorities, as follows:
- Highest risk to lowest risk—Risks need to be considered when developing a testing schedule and an automated testing strategy.
- Highest to lowest complexity—Like risk, prioritizing by complexity allows teams to develop and test the most complex features first, frontloading the time commitment and minimizing schedule overruns
- Customer needs—Feature delivery based on customer needs is always an important consideration in the development of priorities.
- Budget constraints—It may be that the testing budget constrains testing to only the higher priority tests. In this scenario, some features will be more important to the success of a program than others. These must be weighed.
- Time constraints—Similarly, the testing timeframe may constrain testing to only the higher priority tests. Again, features that are important to the success of the program are the priority.
- Personnel constraints—Available personnel and associated expertise are also important factors to consider when choosing priorities for the feature schedule.
Typically, a combination of several of these factors influences the final automated software testing feature schedule. Each feature can be examined based on risk, complexity, customer needs, budget, time and personnel. A score can be attributed to each feature. The list can then be sorted based on scores to arrive at a prioritized list of features to test and automate.
This is one approach to feature prioritization. An experienced testing partner, like Innovative Defense Technologies (IDT), can also be very helpful in weighing options and pinpointing the tests and features that should be prioritized when testing.
For more information about feature prioritization, or any other questions about your automated software testing effort, please contact IDT.
Some information taken from: Dustin, Elfriede, Thom Garrett, and Bernie Gauf. Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality. Upper Saddle River, NJ: Addison-Wesley, 2009. This book was authored by three current IDT employees and is a comprehensive resource on AST. Blog content may also reflect interviews with the authors.