Challenges for Reusability in Software / QA Testing.

Successful implementation of reusability in software QA testing throws up many challenges. They might be difficult to answer; but they are certainly not impossible. Here we have a look at the most difficult challenges that lie in the effective implementation of reusability.

1. Safely separating the project functionality into shareable and non-shareable areas.

Every project deals with confidential information and other assets all of which cannot be shared. If something cannot be shared; then how can we reuse it? Paradoxical situation, isn’t it? One approach that can be used to tackle this conundrum is to separate the private functionality (that cannot be shared) and the public functionality (that can be shared & reused).

Related to testing all the actions that can be performed might fall under any of these below mentioned broad categories:
  • Test data generation
  • Execution of command line utilities; executables
  • Verification of values (expected v/s. actual)
  • Logging of test results
The point being made is that testing is a very promising candidate for pushing for reusability. All the different types of test actions can be segregated into public, shareable and private non-shareable assets. All of the shareable actions can be developed in a generalized manner in order to make them reusable by a wide section of the organization.

2. Efforts needed to move from specialization to generalization.

In order to really benefit from reusability we need to ensure that the test asset should be (re)usable by a large number of people. The challenge here lies to make a specific test asset as general as possible so as to permit different people to make use of it. This no doubt will require more efforts than what will be required to create a non-reusable artifact; but when compared against the benefits of reusability; the extra efforts will be worth it.

3. Framework needed for making reusable assets available to all.

It is one thing to create reusable test assets; and quite another to make use of them. Providing a framework which makes searching for reusable assets and evaluating them is a greater challenge then creating them. The questions that we need to ponder are:
  • Where can a user search for reusable assets?
  • What all inputs does he/she need to provide as search inputs?
  • How does the framework allow users to add and modify reusable assets?
A framework which provides simple ways as answers to the above questions can prove to be the harbinger of greater productivity for the entire organization; and promote reusability to a very high degree.

Continued from previous article post: Reusability in Software / QA Testing.

No comments:

Post a Comment