Software testing: Good Practice vs. Bad Practice

December 17, 2008, 06:52 AM — 

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.

Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world

I like it!
Comments

Interesting Post

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 Labs
2. Tools in Software Engineering - Strategic Investments or Cost Controllers?

- Srihari Palangala
http://blog.vmlogix.com
| reply
peer-to-peer

Brian Proffitt
Microsoft/Novell: Breaking Down the Coupon Numbers

Esther Schindler
Drupal's Dries Buytaert on Building the Next Drupal

Tom Henderson
Top Ten General Operating Systems Rants

pasmith
PS3 motion controller delayed; goes up against Project Natal

sjvn
Neolithic Windows security hole alive and well in Windows 7

claird
Perl source code comparison makes for good reading

mikelgan
Cell phones don't create stress or interrupt much

Sandra Henry-Stocker
How to: The Unix Interview

 

Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann

Join the conversation here

The Daily Tip

The Daily TipQuick, practical advice for IT pros. Made fresh daily.

Hot tips:

Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.

Newsletters

Subscribe to ITWORLD TODAY and receive the latest IT news and analysis.

I would like to receive offers via email from ITworld partners.
By clicking submit you agree to the terms and conditions outlined in ITworld's privacy policy.
Marketplace