Succeeding with Software Regression Testing – Top 4 Considerations

Quality Assurance Image for email campaignAs a provider of Software Development and QA services, we’re often asked: What is the best way to implement a high performance regression test solution?  We receive this question from clients who’ve asked us to improve their level of quality and also from associates that prefer to implement regression using internal resources.  So, I asked members of our QA team to share their perspective on the most important top four factors when considering a regression solution (these are applicable to both nearshore and internal initiatives).  This is what we came up with:


 

  1. Education and Knowledge Transfer – this is a requirement that is sometimes underestimated, regardless of whether the regression resources will be internal or external. The advice here: Start Small.  This includes the initial team size and scope of work.  Provide as much training material as feasible, but take an important practical step by allowing a QA engineer to get “into” the application as soon as possible; actually creating plans and scripts.  One note of caution: This hands on involvement will accelerate the learning process but the initial quality and productivity levels generated by the QA specialist may be sub-optimal.   Expect and accept a reasonable number of the initial “mistakes” which may require rework, knowing that the engineer is well on his/her way to being highly productive (assuming she/he is a talented engineer).
  1. Automation with the right tools – there are a number of great test automation tools now available on the market. Some are highly flexible open source tools, such as the de-facto standard – Selenium.  With an infusion of complementary creativity, these can be adapted to perform at even a higher level.  Other off the shelf products (such as Ranorex) are great as well at automating cross platform test requirements. But, consider the end game use of your tool kit. This includes maintenance requirements, technical skill, and budget levels.  Know both your current and projected environments, before committing to a set of testing tools.  Conduct a trial before making a full commitment, so you can experiment with the tools prior to wide adoption.  It’s common sense, but often companies can become very enamored with a tool kit without considering the intricacies of their ongoing support requirements.
  1. Bake in Execution Time – even with automation, regression execution can take a bit of time, with a manual approach taking significantly longer.  All too often, software delivery schedules/sprints do not include the necessary time for regression execution. Allocation of this time is critical to ensuring the realization of the important benefits derived from regression testing.
  1. Commitment to Maintenance – Maybe this is the most important consideration for long term success. Even with automation, regression testing requires an ongoing investment to accommodate change. Just because an initial test base is deployed and works well, it doesn’t mean it will be sustained well without proper support  This long term commitment includes:
  1. Ensuring the right type of expertise is available to support the tools and environment
  2. Ensuring any licensing cost for 3rd party tools is factored into future budgets
  3. Ensuring the talent necessary to update ongoing plans, scripts, and reports is available and funded

 

Acknowledging and following the above requirements should go a long way in helping a company deploy a highly productive regression test solution.

Bob Foster GlobalNow IT