Addressing Five Core Questions Surrounding Software Testing
原始链接请见:http://www.logigear.com/newsletter/addressing_five_core_questions_surrounding_software_testing.asp
Introduction
Many executives have some very basic questions about software testing. These questions address the elements of quality (customer satisfaction) and money (spending the least amount of money to prevent future loss). The basic questions that executive have about software testing include:
1. Why care about and spend money on testing?
2. Why should testing be treated as a strategic effort?
3. Why should testing have its own properly funded budget, separate from development?
4. Why must you have better visibility into quality and testing effectiveness?
5. Why is Global Test Automation the best-practice solution?
The bottom line in business is making more money and/or spending less. Ultimately, the benefits of effective software testing boil down to increasing revenue and/or decreasing costs, both of which directly impact a company's bottom line.
1) Why care about and spend money on testing?
The objective of testing is to improve the quality of your software. Testing done properly leads to better customer satisfaction, lower costs, and higher revenue. Testing also takes time, effort, and costs money. Testing is a classic example of the need to spend money to avoid potentially much higher costs in the future. Testing must be done to avoid the greater expenses that can be caused by product failure, product quality problems, and customer satisfaction problems. Spending money on testing will help to keep total costs down and improve profitability. Given that, it is still important for companies to minimize the time and money devoted to testing while achieving product quality and customer satisfaction goals (The book Global Software Test Automation: A Discussion of Software Testing for Executives discusses in great detail how to speed up testing and reduce the costs associated with testing).
2) Why should testing be treated as a strategic effort?
Testing is an integral part of the product development process for software applications. Ensuring that your product meets its quality objectives is necessary, so that it will meet your customer's expectations and be commercially successful. Testing is actually a large part of the overall product release budget. Studies have shown that software development accounts for up to 40% of the typical product release budget, and software testing accounts for up to 40% of the software development budget for companies that develop software for sale.
With consistent quality products that meet customer needs in a user-friendly manner, you end up with the following benefits:
1. Happy customers
2. Happy sales staff
3. Living up to your marketing claims
4. Timely delivery to sales channels and customers
5. Elimination of embarrassments
Treating software testing as a strategic effort will allow you to turn quality into a competitive advantage.
3) Why should testing have its own properly funded budget, separate from development?
In many companies, software testing is still tacked onto the end of the software development project. This is absolutely inappropriate! With the services that testing performs that differentiate it from software development, and the relatively large amount of financial resources that are devoted to it in relation to software development, it really should be treated as a project of its own. This will allow the software testing team to effectively interface with the software development team instead of being subservient to them. To do that, a separate budget is necessary. This helps prevent testing from getting shortchanged when the product development effort goes over budget or is running behind schedule.
When testing gets shortchanged to make up for cost and schedule problems in software development, then product quality is shortchanged. This increasingly repeated cycle will force you to release a low to marginal quality product that will ultimately end up hurting your sales and reputation. Releasing a software product with bugs has hidden costs associated with fixing them after it is in the customer's hands. Unfortunately, your development staff ends up rushing to fix the bugs and trying to keep your customers happy instead of developing new features for the next release.
4) Why must you have better visibility into quality and testing effectiveness?
Testing performs several functions for the benefit of the company, the product development effort, and the executive team. Testing is a service to the company to help it produce and release higher quality software. Testing is also a service to the development team to help it produce higher quality code. For the executive team, testing should be an information service that provides visibility into software quality for effective management and decision making. When the software testing effort can give you confidence in the quality of your software, you can sleep better at night.
Some of the key internal values achieved through effective testing and QA are:
1. Confidence in consistency and dependability
2. Ability to spend more time on new development, and less time on maintenance
3. Effective utilization of resources and budget
4. There is time and money left over that can either flow to the bottom line or be used to increase productivity
5. Elimination of surprises
5) Why is Global Test Automation the best-practice solution?
All elements of business rely on two fundamental resources: time and money. You can save time by automating testing. You can save money by offshoring. Both approaches have associated issues. If you want to increase quality while saving both time and money, Global Test Automation is the solution. Global Test Automation provides strategic integration of technology, speeds up the testing process, and provides a distributed team to achieve your objectives.
Global Test Automation is the integration of the latest test automation methodologies and technologies with global resource strategies to fully capitalize on the speed, cost advantages, and best practices in automation and global sourcing. Its structured approach is based on a methodology known as Action-Based Testing (ABT), which creates a hierarchical test development model. ABT allows test engineers (domain experts who may not be skilled in coding) to focus on developing executable tests based on action keywords, while automation engineers (highly skilled technically but who may not be good at developing effective tests) focus on developing the low-level scripts that implement the keyword-based actions used by the test experts. This seamlessly allows the best utilization of the skill sets of your staff back home as well as offshore staff.
Conclusion
Software testing provides very useful functions to management by providing the visibility into the quality and readiness of software under test. This visibility is necessary to make effective management decisions. In addition, global test automation can provide both speed and cost advantages that can have a positive impact on a company's bottom line. Testing is a critically important and strategic part of the development process that must have management focus, proper funding, and appropriate autonomy to allow a company to achieve their quality, revenue, and cost containment goals.
Other articles in this series, also based on concepts in the book Global Software Test Automation: A Discussion of Software Testing for Executives, include:
* Common Misconceptions about Software Testing
* The Test Automation Top 5: Suggested Best Practices
* The Outsourcing/Offshoring Top 5: Suggested Best Practices
* Global Test Automation Strategy: 10 Strategic Points for Executives to Remember
very useful for me ,thanks!
very useful for me ,thanks!
页:
[1]