The cost incurred for the development of software is highly considered, while testing and other testing aspects tend to get ignored. The cost and time associated with software testing is comparable and is more valuable to the time and costs associated with the development of software. Several IT organizations are figuring out methods to optimize software testing, enhance testing productivity, reduce costs & work hours; all of which can produce a major positive impact on the business.
1. Early Testing “Being an early bird is better than being a night owl”
Most software defects detected during testing originate in the early analysis phase. Hence defects that are detected early are less expensive to fix. Defect leakage can be minimized eventually reducing Fix and remediation cost.
Cost of defect increases 150 times more to fix in Production than in System Testing.
2. Continuous integration Helps in identifying defects early in the development life cycle. For continuous integration to be implemented effectively, all the stakeholders must integrate their work often on a day-to-day basis.
3. Offshoring:Reduces cost significantly.Offshoring gives the company greater control through closer physical collaboration.Offshore rate is 3-5 times lesser than onsite billing rates.
4. Define Implement and Measure testing metrics: Metrics that measure quality must be laid down and measured. Such metrics should detect software defects early in the development cycle. Some of the metrics are % Effort Variation, Load Factor, % Rework Effort, Cost of Quality %, % Schedule Variation, % Duration Variation, %Size Variation, Requirements Stability Index (RSI), defect Density (DD), Defect Leakage %, Defect Removal Efficiency %, Average Defect Aging, Average Defect Fix Retest Aging, Quality of fixes %, Application Defect Density (Defects/Person days), % Test Cases Passed, Error Discovery Rate (Defects/Test cases or scripts), Test Execution Coverage, % of Requirements that met SLA, % Deliver Quality, Test Design Coverage, Test Case Preparation Productivity, Test Case Execution productivity, Automation Coverage, Test Effectiveness %
5. Automate the testing wherever possible: Anything that can be automated, should be automated, any test automation expert will tell you. It’s a necessity, of course. If your process is designed to publish a new release every day (or every hour) there is no room for manual testing.QA & testing must move towards leveraging automation tools to automate testing wherever possible.Automation can achieve 70-80% of effort savings and eventually cost savings.
One must develop automation systems, through code, that can ensure quality standards are maintained. RAFT ensures continuous monitoring and testing, faster software delivery, reduced time to market, improved quality and cost effectiveness. Test automation Framework serves the similar way to develop and execute test automation scripts. Test automation frame work provides a platform to create test automation suits with high Re-usability, Reliability, Flexibility, Portability, Robustness, Maintainability and Configurability.
6. Effective Utilization of tools and look for open source over licensed: Effective Utilization of tools enables better business results with improved quality. Open source tools can be used instead of Expensive tools and remove the rarely used commercial tools which bring minuscule benefits. Replace tools which are hard to use and requires high maintenance. This is important for projects that follow agile methodology as creating/executing tests and finding defects through automation in early stages helps in reducing cost.
The features available in the Open Source automation tool that reduces the cost of automation are listed below:
7. Reduce Lengthy Test Reporting & Switch to Simple and frequent Test Reporting: Simple and frequent means less time spent to produce and read the report. Simple and frequent reports give a better view over the quality of the product and help managers take quicker decisions which ultimately reduces cost.
8. Apply efficient Test Data and Test Environment management techniques:Updated test environments and Test Data equals relevant results, while reducing the number of test execution and resource utilization. Outdated Test Data implies additional investment in time in order to remember how to produce it.
9. Controlling the Size of Regression Test Suite:Select a representative set of test cases from a test suite that provides the same coverage as the entire test suite. A shorter test suite with the same coverage implies less execution time, less resource utilization, lower costs, while maintaining the same quality.
10. Automated Regression testing:QA & testing should focus more on automated regression testing on critical areas such as key software functionality.
11. Fully Automated Continuous Testing tool:A Fully Automated Continuous testing tool needs to be integrated into the SDLC for a successful continuous delivery process that minimizes risks, reduces costs, and accelerates time to market by frequent releases.
12. Risk based Testing Approach
There are two major methods that will reduce the risk in the release with the minimal testing effort. They are,
Prioritization Based on Risk : The testing is carried out to reduce the risk ,So we need to understand how to quantity risk. Risk is product of Severity of damage and probability of occurence (Risk = Damage * Probability of Occurrence) The testing effort can be reduced by executing only the prioritized test cases. Prioritization has to be done based on risk. To prioritize test cases based on risk, the below bulleted information is required and that are detailed in the subsequent section of this document. Use of Rapid testing approaches such as Risk Based and Exploratory Testing in special cases like short testing window is necessary. Risk Based testing covers the most critical parts of a product resulting in good quality in a short period of time.
Each and all of the above can bring a major cost reduction in the software testing process and visibly improves the performance of the testing teams, boost the testing process and implicitly decrease the costs of the entire software development life cycle.
Please reach out to us for managed testing services @ info@novaturetech.com
Author: Jaleel Mohammed | Posted On: 25th July 2018 | Category: Article
© 2024 Novature Tech Pvt Ltd. All Rights Reserved.