Software testing: Good Practice vs. Bad Practice

 Software, AppLabs, bad practice 2 comments

Defining a testing approach has to account for many factors, a lot of which are not within control. It is therefore extremely important that the testing decided upon should be aligned with the business objectives, and to attain this, adapting to the best practice is the defined solution, which is seldom a reality.

This article offers pragmatic thoughts around adopting good testing practice as opposed to best practice to actually suit the needs of the business. While the importance of ‘Best Practice’ is echoed throughout the IT industry, good practice in certain cases can be a more practical solution.

There are various standards in place which organizations can adhere to in order to deem themselves observers of best practice. For example, the Capability Maturity Model Integration (CMMI) is a process improvement approach that “provides organizations with the essential elements of effective processes.” Attaining the level 5 of certification verifies that the practices of the organization are exemplary.

The Testing Maturity Model (TMM) designed to complement CMMI and is based on best industry practices, and the Test Process Improvement model from Sogeti supports the improvement of test processes by looking at 20 key areas and has different levels therein to enable insight into the state of the key areas.

In order to satisfy the criteria stipulated in the best practice guidelines, organizations must be committed and must invest time and money to implement and adhere to the processes as defined by such guidelines.

The motivations behind testing are usually related to reducing costs that may be incurred post launch, improving quality of applications and reducing time to market. The overall objective might be to keep what are labeled ‘IT’ costs as low as possible. Adopting best practice in such a case is impractical and more expensive. Yet if the goal is to reduce costs in long-term, best practice would perhaps be more suitable.

In this case, a cost analysis of good practice versus best practice would reveal the disparity. At what point, then do the added costs related to undertaking best practice transcend into necessary expenditure? This happens when success of the project or application is of critical importance. A retail website would not necessitate the same level of defect elimination that the launch of a NASA rocket would; one would obviously require more rigorous testing than the other. The level of acceptable risk of the application therefore becomes a crucial determining factor in whether to adopt best or good practice. Where quality is of the utmost importance and cost is secondary, best practice should be chosen.

One of the other drivers behind testing is to reduce time to market. This would be necessary, for example, within the financial services industry where first mover advantage of a new policy system can give huge benefits in terms of reputation and profits. Good practice may ensure a faster testing process due to having fewer criteria to fulfill. There are exemplary practices and guidelines to follow, but again the suitability of them for the project should be considered.

Choosing good practice over best practice can also depend where you are in the development lifecycle. There may be tactical or strategic solutions adopted to best fit the project.

In these challenging times, there is an increased pressure on businesses to get products to market quicker, reduce costs and increase margins. It is imperative that testing helps the business achieve this by being more streamlined and efficient, and must effectively balance risk against benefits. In some cases, organizations are willing to accept a higher level of risk because the benefits of getting their product to market will outweigh the cost of resolving issues in production. The key is to understand those risks and to develop a flexible approach which maintains the agreed quality standards.

Good practice is not about cutting corners, nor should it be considered sub standard. Instead, when defining the testing approach, cost analysis, risk analysis and process definition should all be considered. If properly developed, appropriate testing should be implemented for the organization at all times.

It could be argued that whatever an organization chooses to do that meets their business requirements and achieves a quality deliverable into the organization is ‘best practice’, even if it cannot be found in a book!

Read the complete Industry Comment Software testing: Good Practice vs. Bad Practice

2 comments

    Anonymous 45 weeks ago
    Good topic, but I don't know if there is a good or a bad testing approach. I think a company is more interested in market results than in file extensions and optimization standards. As long as the objectives are on the line there is just one regular software testing.
    Anonymous 3 years ago
    vijayvarma,This is an interesting post, with an emphasis for pragmatism in software testing.Incidentally, I've also written about the two dimensions you talk about in a recent post.1. Virtual Lab Automation as a Strategic Purchase in your Software Labs2. Tools in Software Engineering - Strategic Investments or Cost Controllers?- Srihari Palangalahttp://blog.vmlogix.com

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      SoftwareWhite Papers & Webcasts

      White Paper

      Best Practices Guide: Microsoft Exchange 2010 on VMware

      This guide provides best practice guidelines for deploying Exchange Server 2010 on vSphere.

      White Paper

      Free Trial: vRanger, the Powerful VMware Recovery Solution

      When disaster strikes, don't waste hours and dollars recovering critical data. vRanger delivers blazing-fast speed and granular recovery for your VMware applications and data. Get your free trial today.

      White Paper

      Executive Guide to Business and Software Requirements

      This paper is designed as an executive briefing on the issues surrounding business and software requirements. It features a wealth of statistics and tactics to help you get requirements right, and includes a tear-out single page summary.

      White Paper

      How to Launch a Successful IT Automation Initiative

      Corporations across all industries are under increasing pressure to cut costs and work more efficiently. In the race to meet both of these requirements, many organizations turn to technology, often purchasing and installing disparate pieces of software in hopes of achieving efficiencies not afforded by manual systems.

      White Paper

      Why Corporations Need to Automate IT Systems Management

      With corporate budgets being slashed and leaders expecting more out of their employees, companies are forced to do more with less, yet are still expected to provide the highest quality experience to customers. This is pushing them to make better use of their IT assets without breaking the budget. Companies are under more pressure than ever, thanks to data management regulations; increasingly complex security threats; and growing demand from management and end users for 24/7 uptime and high performance. These hurdles require a strategic investment in technologies that boost efficiency, save money and position IT as an integral part of the entire firm's operations. IT systems management is helping corporations fill these gaps.

      See more White Papers | Webcasts

      Answers - Powered by ITworld

      Ask a question

      Ask a Question