fail in test automation due to the poor visibility of the
iceberg below the surface.
tool implementation comprises of following 3 key elements:
1) Infrastructure or an automated testing regime;
2) Internal promotion
activity usually performed by the “tool champion”;
3) Continuous support from
the implementation team & the management;
The quantum of the 3
elements above mentioned is not precisely known in the beginning at the tool
acquisition stage. The buying price of the tool is a smaller fragment of what we
land up spending on above 3 elements for getting the true success.
Implementing a test execution tool is a process of “management of change”
which slowly widens the acceptance and use of the software testing tool within
Personnel involved in the tool implementation
& change process:
There are varieties of roles to be
played in implementing a tool, not necessarily by separate individuals in
The first key person is known as “tool champion”, who remains the focal point
in implementing the tool. He/she is essentially an enthusiastic person having
passion for implementing the test automation in the organization & has firm
belief in the benefits of introducing the test automation.
The second person is known as “change agent”, who is responsible for planning
& managing the day-to-day changes to the ways of working of the people.
He/she is supposed to be the person having extensive experience of software
testing with high analytical abilities & be well aware of latest
technologies in testing. In smaller organization, “tool champion” can perform
the role of “change agent” as well, however bigger organizations can have
different persons for these functions.
The “testing manager” or sponsor is the third senior level person, a part of
the top management, who provides the high-level support to the “tool champion”
& the “change agent”. The same person in small organization can perform the
roles of “tool champion” & “testing manager”.
The forth person is known as “tool custodian” who is generally responsible
for the technical aspects of the tool such as implementing new versions from the
tool vendor and building the automated regime and testware. He/she is supposed
to hold the ownership of the standards for the process of use of the software
implementation team is drawn from all of those who are expected to use the tool.
They are a means of communication about tool requirements and about how best to
use the tool.
The first step of the implementation process is to prepare grounds for it.
This requires management commitment that is both visible and material. It is
important that management expectations are set at realistic levels. The next
step is internal publicity and internal market research (by the implementation
It is a very good idea to implement a new software testing tool first of all
on a small-scale pilot project. Quantified objectives are set and results are
evaluated against the business case of the pilot. If the results are found
encouraging, then the tool can be rolled out on a wider scale. Evaluate the tool
use against the original and continuing quantified goals, and continue to
Risks Involved in the mismanagement of people
Managing change is primarily resolving people related
issues, because it is the way people work that is being changed. It is extremely
important to be aware of “people” related issues. This is one reason why lot of
tool implementations fail. A smart software testing manager must remain
sensitive to these issues, but generally technical persons are not aware of the
emotional and psychological effects of technical change on the personnel.
If you adventure changing the way people work in the wrong way, you may risk
inviting suspicion about the value of the change, and resistance to the change.
Resistance is a natural part of the process of change, but if it is not handled
well, it can lead to resentment or even sabotage of the change effort. An
attitude of “We tried it once and we are certainly not going to try it again”,
can not make any future change attempts that are much more difficult.
There are some people who tend to jump on any bandwagon that comes along -
they have a very low threshold of change, and are easily dissatisfied with the
At the other extreme we have people who would say “I” have done it like this
for the last 25 years and I am not going to do anything differently, no matter
what happens. Such people have a very high threshold of change and will be very
resistant to any new ideas.
Motivating people to change the conventional way
It is very difficult to change someone's
psychological personality. However, the way to encourage people to change the
way they work is to concentrate on the 3 things like:
1) Make them more dissatisfied with the current way software testing is done
(For example saying “You mean you are still doing all that testing by hand?”).
2) Give them a fuller vision of the way things could be in the future (For
example saying “Come and see what we have been able to do in the pilot project,
and see if some of this might be of interest to you?”).
3) Explain the first easy step toward a complete change (For example saying
“Let me help you automate a few key tests for you and you can carry forward on
the next project”).
This is probably the most important thing you can do: to give them more
detailed information about the steps they need to take from where they are now
to where you want them to be in the future. People don't like taking large steps
into the dark, but if you illuminate the way, they can usually be convinced to
take a small step forward. Note that this is the one reason why you need to plan
the implementation, so that you have these steps mapped out in advance.
Successful change gives birth to more
Once people begin to change the way they work,
change gives birth to more change, provided the experience is a good one. Once
they have taken the first step and found that it was beneficial, they will be
more willing to take the next step, i.e. their threshold of change will be
For example, if someone currently spends too much time in some tedious and
error-prone task, such as populating a database before a test can be run, you
could set up the test automation tool to do just this one job for them. In the
first instance you may need to do it for them if they are not confident to do it
themselves. In any case, they will need your support (“hand holding in the
beginning”) as they have their first experience of using the software testing
tool. If you can ensure that this experience is both pleasant and beneficial for
them, you probably have changed the mindset of these persons, who would go on
using the tool the ways it could provide benefits for them.
Evaluation of results of tool
Once the tool has been rolled out to sizable
number of active users, the original business case needs a review to verify if
the intended objectives have been achieved or not.
Probably we may find that few aspects have not come up to the desired
expectations while at the same time we had been able to derive some other
The test managers need to reassess the use of the tool based upon its
performance and set newer targets for continuing automation & install some
measures to measure the effectiveness of the infrastructure or the automation
regime. Once you enter an auto mode of continuous analysis & subsequent
improvement of the automation regime, it must never come to a halt. If
continuous attention is not paid to the automation regime, it will decay over a
period of time.
Ten concluding tips for realizing benefits out of
a good tool:
1) Test managers need to ensure the presence of standardized ways of use of
the tool, as different users are likely to use the tool in different ways.
2) While selecting the tool software testing managers must ensure that 'ease
of use’ must not be the focus at the cost of good functionality. Otherwise the
tool is likely to be easily misused.
3) After tool purchase the top management must display a strong commitment
towards tool support for the software testing effort and it must be maintained
throughout the process of implementation.
4) The top management need to display enough patience so as to provide enough
time for learning & overcoming initial teething troubles, otherwise the tool
is liable to head towards a premature death.
5) The change agents must keep on pumping in a continuous dose of publicity
about the new tool, by publicizing the success stories with the user masses.
6) The testing managers must ensure to address all issues related to test
automation in project plans, quality & test plans.
7) The testing managers must continuously strive to create an effective
infrastructure for the automation regime
8) To understand the usefulness of the tool & to realize tangible
benefits out of test automation project we must periodically measure the quantum
of effort put in & the effort saved.
9) We must not endeavor to automate everything. Remember that true benefits
can be realized by automating small – small portion of the tests. For instance,
immediate problems with the regression test in hand, complex or error prone
tests difficult to execute manually.
10) In the beginning, the testing managers must focus on few people may be
around 10-15% of the entire team. These must be the opinion leaders, who remain
eager for a change & would need lesser convincing for affecting the change.
More Articles on Test Automation