Top 6 solutions for software testing failures

The cost of software testing is still not valued by its worth. Although it is a critical investment companies avoid spending on testing because they don’t realize the ROI on testing and/or a quantifiable cost of quality. The most common complaints against testing that we repeatedly hear are:

  • It is a necessary evil that stalls a project the closer it gets to a release
  • It is too costly, time consuming without any guaranteed outcome
  • Many a times regression testing is not effective to identify new defects

Having worked on a number of testing projects over the past 12 years, I realize why there is a high tendency to look at testing with such a skeptical eye. I would like to share what we have learnt over time.The top six points in our view to improve the effectiveness of manual testing are:

6. Reducing effort and time in Test Documentation

A lot of teams spend unnecessary time detailing test scenarios during the planning phase which are rarely referred to after 2-3 rounds of testing. This increases maintenance overheads and reduces flexibility and coverage in the long run thus resulting in inefficient testing. Post the initial 6-8 months a large % of test scenarios are outdated and require the same effort in updating. Instead of detailing each and every step for every test scenario, one can cover it with test conditions and the expected results.

5. Focusing on breadth and depth of testing

Many a times when execution is not prioritized the depth of testing takes lead over breadth. By aiming at covering more breadth, we align testing with the business objectives. By doing this the teams aim at being effective first and then efficient. Breadth referring to covering positive  critical cases (across the application) that are frequently used by end user.Depth referring to covering all the test cases for a module.

4. Testing, a continuous activity

Many companies look at testing as a one-time investment. They outsource/ execute in-house once during the start of the development of the product and then rarely test it during the maintenance phases. The primary reason is invariably budget driven and goes onto harm the quality of the product when not tested after newer versions. For every minor release one should ensure all the regression test cases are executed and for every major release all the high and medium priority test cases are executed at least once.

3Remembering the objective of testing

The key objective of testing is to break the system and not to prove that the system works as per the requirements.This has a direct impact and can improve testing effectiveness and the number of defects one will find. It is often observed that many senior testers habitually start proving that system is working as per the requirements which is against the primary objective of testing.

2Strategize Test optimization

Coverage is important but not at cost of redundant test cases. Test optimization is an intelligent way to ensure test coverage in less time. That’s why testing teams need to collaborate more with the development teams. Understanding the high level design and structure of the application makes testing more effective. In development, one of the main principles followed is reuse. So, we can use the same principle while testing the same code which is reused. Why not optimize and test the class/object once and just test the implementation of the class/object on other screens/modules. If the test cases are reusable maintainable and scalable it is an additional advantage to roll out in time and under budget.

1. Focusing on the Business for which you are testing

Testing cannot be done in isolation. Business priorities and challenges are equally and in most of the cases more important than testing needs. One thing I have learnt is that testing cannot drive business decisions, business drives testing most of the times. Aligning testing to the business requirements results in a disciplined and ready to market high quality product.

These are some of the solutions with which I could overcome testing failures. Do share yours if you have new solutions or methods

Mukesh Mulchandani | CTO | ZenTest Labs

The upcoming price revolution in the IT services sector- A perspective for software testing vendors

For years IT outsourcing companies have charged customers for the time and material deployed on projects as a preferred model of engagement. While this modus operandi is understandable given the unexpected changes involved in the work, it also has meant that inefficiencies have been passed onto customers. Customers too have taken it in their stride justifying the engagement as a cost of flexibility. In fact, most of the time fixed bids are skewed so much that customers are left with no other option

When it comes to the software testing industry, over the years this model has also turned out to be counter intuitive to achieving maximum automation in the shortest duration possible, especially in areas of regression or UAT.

Well if you are a customer shopping for IT/ software testing services there is good news. While the global slowdown ensured that vendors were pushed to renegotiate contracts to price much lower, the slow recovery has ensured that there is innovation in this area. Today, customers are demanding fixed price projects with an illustration of ROI up front, at times they are forcing vendors to link themselves financially to end outcomes and if nothing they are pushing for rates on time & material engagements that are just not affordable. The whole premise for this is the ability to justify costs upfront and gain visibility in the end outcomes or ROI.

The way I see it, the next 5 years will see the time & material model die a slow death. In fact it might just happen faster than that. In addition to customers driving this change, most vendors would just opt for fixed bid projects for its profitability. Increasingly, I see our engagements moving in this direction and the openness to do so is encouraging.

Achieving a health mix of customers across different engagement models is the need of the hour. What are your thoughts?

Hari Raghunathan | AVP | Zen Test Labs

Follow me on Twitter: hariraghunathan