Testing Whitepaper

Independent Testing

Independent testing has become the industry buzzword and the latest trend is to have two demarcated teams looking into development and the developed quality. Such demarcation brings in the much needed unbiased measurement of quality and confidence in moving forward with production plans. This results in better retention of customers, reduces loss due opportunity costs and a general confidence on releases in the user base.

An empowered independent testing team works on the principle that they are the quality gatekeepers and allow releases that measure up to a set standard. In addition the team also aids the development team by providing necessary test metrics - in fact the entire testing life cycle can be straight jacketed into a metric driven test management clearly churning out meaningful metrics that aid all stakeholders in various decision making processes. Defect prevention activities conducted by the independent testing team help reduce rework which is termed to be the main culprit in schedule and effort slippages.

Such demarcation of development and test teams can be done in multiple ways but the best working formula has been that the Development Manager and Test Manager run two separate projects in parallel and reporting does not cross over between these teams. Cohesion between these two teams are ensured by way of shared project documentations, requirements dissemination to both the teams by BAs, cross review of project deliverables like Use Cases and Test Cases, daily stand-up meetings, Bug Triages etc. The idea is to keep the Test Team as independent as possible while allowing team members to interact with the development team freely.

The term "empowered teams" has a special meaning in such circumstances - the Test Team is empowered to:
1.  To create a relevant strategy that may gel with the development strategy
2.  Add additional functional and non-functional tests to the plans
3.  Question the implementation by the development team
4.  White-box test the code to find defects
5.  Decide on whether a release is fit to be tested or not
6.  Decide on the test metrics to be captured and formats in which they are presented
7.  Involve in a "GO" "NO GO" decision of the final release to User Acceptance Testing

Taking this idea further, an evaluation of how distant or near, these two teams have to be geographically placed is important. The advent of specialized testing services providers whose core business is providing functional and non-functional testing has made traditionalists to sit-up and notice the benefits that such providers bring. These benefits are not just economical but also in terms of specializations that might not be available at the site of development.

So virtually the Product Stakeholders can be located in the USA - these include Product Sponsors, Domain and Industry Experts, Business Analysts (BAs) while the Architects and Developers are from a distant location say from Vietnam and the Test Team is from India. With the latest collaboration and communication tools and the ability to work with short overlaps between these locations the Product Stakeholders almost have a 20-24 hour development and testing cycle on their hands! Now imagine the improved time to market!!

It is not that such an arrangement comes flawless. Experience has taught us many lessons. The processes have improved, new tools for collaboration have arrived, new methods of cooperation have improved dynamics of such geographically distant teams.

If we now look at some of the advantages, pitfalls and corrective measures of such an arrangement it all clearly points to us why the software development is shifting towards this model.

Almost an error-free software:

The well-oiled processes followed by independent test service providers which include testing tools, techniques and resources to deliver quality-tested software.

Focus on product development:

The product sponsors and development team can focus completely on core product development and its effective sales strategy.

Saves Time:

Customer gets sufficient time to focus on "core" business activities and the offshore testing team help to eliminate bugs/defects from the software. It is possible to have a 24 hour development cycle.

Cost effectiveness:

Lower cost of resources, apportioned costs testing tools, technical know-how, non-functional testing . Hence, outsourcing testing services is a cost-effective business decision.

Time to market:

A skilled testing company following defined and time tested processes conducts software testing very fast and yields quick deliverables, which leads to in time release of the product into the market.

Pitfalls

Process Maturity:

Processes that allow collaboration, coordination and cooperation are the determinants of a successful engagement for independent testing. The option is to choose a service provider who has processes improved over time and tweaked in improvements.

Domain Knowledge:

The is the main ingredient of successfully testing a product. It is required that the testers know the domain/industry and understands the USPs of the product within the realm of these domain rules. There are service providers who focus on creating such knowledge before, during and after the engagement and choosing service providers who have a process or who have thought about this as a main pitfall and have a mitigations is a must.

Root Cause Analysis of Defects:

Normally independent testers record defects but the value add is when the root cause is extracted and provided to the developer to help him fix it better without causing regression issues. This comes with domain experience and capability to understand the underlying technology better including implementation details. Look out for service providers who focus on training their testers in all these areas.

Data Security:

Even test data is normally derived from production data. There should be a process to ensure such sensitive data is masked and sufficient care is taken to ensure real time data does not fall into wrong hands. Service providers should be focussing on security of data shared, take measure to ensure data is not lost (both physical and automated ways of controlling access to data). Service providers who are ISO 2900 certified score in this area.

IP Rights:

This is a contractual obligation and should be ensured that there is no conflict of interest like working with a competitor etc. The chosen service provider should have a transparent policy towards who owns the IP (usually it should be the customer) and areas of the product that come within the IP rights.

What finally works for the customer’s advantages are

a.   The level of commitment of the customers on-site management to the success of the off-shore team
b.   Processes and tools that aid off-shore
c.   Knowledge about the on-site people, processes, tools and working pressures – a short onsite visit will do wonders
d.   The intensity of communication and transparency between the on-site and the off-shore teams

You may experience success with your off-shore test team if you have the foresight to identify the potential issues, mitigate them and are motivated to make the relationship work over a long term. The offshore team would be more than happy to make the necessary changes to work up to your expectations.

As always, there are no easy answers or sure-fire formulas. Has your company moved testing offshore? What worked? What didn't? If you could do it over, what would you do differently ... or would you? How can we help?

Overview

  • SPAN is your ideal long-term partner to reduce costs, increase proficiency and repeat success. Our excellent technical skills, proven expertise and local presence will be your first motivators. Our flexibility of operations and business models, the difference in time zones, high returns on investments and global track record are advantages you should leverage.