Você está na página 1de 2

COST EFFECTIVE SOFTWARE QA

Quality assurance in software development aims to improve reliability and provide accurate
assessments of the performance readiness of any given software project. It is important as well to
translate these capabilities into cost savings. Procedural efficiencies and circulation of the
knowledge gained from testing back into the design and build process can positively affect the
profitability of the firm.
The QA process can realize cost savings through reducing support calls; reduction of the amount
of defect repair and retest; limiting the need for rewrite of code; company reputation, prestige
and sales edge gained through reliability and flawless presentation; support of delivery deadline
management; reduction of overtime costs and increased agility in business decision making
through precise knowledge of current product status.
The primary tool for cost effective QA is the identification and management of the sources of
software defects. The cause and source of a bug must be identified, recorded, and cycled back
into the development process. Learning from testing will cut costs while improving reliability.
For example, determining a pattern of faults and identifying programmer ability in various
coding tasks over time allows effective reuse of effort and targeting of fault detection. Of course
patience and tact are needed to acquire and communicate an overview of software fault sources
and to reduce their occurrence throughout the code base.
Quality assurance is most efficient when its practitioners are properly acquainted with the
business problems that the software they test are intended to solve. Testers familiar with the
expected outcome of their tests do not need to rely on a developer to determine the correctness of
the result. As well, the practice of having testers interact directly with developers to resolve
assigned bugs can waste time and be unreliable, particularly when several testers and developers
are working this way in parallel. Valuable diagnostic information about causes and sources of
bugs will not be available to management. Better is a model in which a single QA person meets
with a single development person and business analyst to daily review the status, source and
significance of all current bugs and together maintain the tracking system and currency of QA
system configurations. Testing, debugging and repair work can be assigned on the basis of such
meetings.
Sometimes testers investigate bugs outside the scope of typical business cases even under tight
delivery deadlines. Complex test scenarios may validly expose flaws but take time away from a
broader survey of intended business functionality. Scenarios outside normal client use can be
investigated and repaired in maintenance testing after release deadlines provided that on balance
the end user will not encounter them first.
Software testing groups are often over staffed and under equipped. It is not efficient for a tester
to have to do all forms of testing on a single computer. Each tester should have at their disposal a
proper set of maintainable configurations appropriate for the project. At a minimum this would
be a test machine, a development environment, and a production environment modelling
configuration. Testing reliability, fault source determination, and cost efficiency will all be

improved in this way. Substitution of a single tester with three computers for the QA department
will pay for itself, assuming average costs, in two months.
Well known but often ignored in software development is the fact that the costs of changes and
repairs are significantly less during the design phase than at the testing phase. Since full advance
requirement specification is almost never possible a realistic approach of conducting
specification, development and testing in synchronization is most effective. QA management
expertise in the business problems for which the software solution is intended can translate into
an effective contribution to early cost saving in the design process.
The primary mission of QA activity must be consistent with the goal of improving the over all
productivity and profitability of the firm. Day to day QA management is about the ability to
support business trade-offs with good product information. It is important to find the balance
between theoretical and practical solutions and to effectively communicate that balance to
decision makers. This balance is also required in determining appropriate process steps within
QA to achieve cost effective testing and quality management of software solutions.

Você também pode gostar