Testing Debt
After spending many years in testing and following different
models of delivery like Waterfall, Iterative and now the current trend Agile, I
often faced challenges with maintaining testing assets and keep them up to
date. Testing assets are primarily my test scripts be it manual or automation.
Now the primary question is why it is difficult to maintain testing assets?
-
Focus is limited to current iteration and
release
-
Smaller release cycles hence less time to write
comprehensive tests
-
Very Less time to focus on new integrations in
the application, I will discuss more in detail in the section below
-
Regression suite often left not updated
Let’s take a typical example of iteration, in first
iteration I write test scripts for all the stories and tested them completely,
in second iteration there are integrations with stories that I tested in the
first iteration but my focus of testing is the current iteration stories. In
each iteration there are new features developed and I am bound to check new
features as well old integrations but the timelines does not allow me to do
that and I remain focused on current iteration items. I want to focus on
integration testing but due to tight timelines I often put them on the back
burner. And this eventually piles up my integration testing. Ideally high level scenarios related to integration of modules should be covered in each new iteration.
On the similar lines I should update my regression suite
after each iteration, add test scripts and remove obsolete scripts but again
this is something which never comes on priority due to tight schedules in Agile
environment. This ultimately increases my “testing debt”, whether integration testing debt, regression testing debt,
automation testing debt or any kind of testing I can think of. As stated in
wiki debt is an obligation owed
by one party (the debtor) to a second
party. As a tester I am knowingly, unknowingly increasing my testing debt
and my obligation towards quality delivery is increasing, so the foremost
question comes to my mind is how to keep my debt in control and finally be debt
free.
I have few thoughts that I feel will help me in working on
my debt along with current testing obligations like
-
identify high priority test scripts from earlier
iterations
-
prioritize identified scripts on the basis of
risk associated
-
involve early in testing, I would say sit with
developers and confirm what code changes they are doing, and what impact it may
bring to existing features
-
start working on testing as soon as you get an
idea of what needs to be done, identify test scenarios, write test scripts,
create test data, build your test environment
And the most important is to work with your management and
explain them about the debt and your plan to overcome from this, get an
approval to work on testing debt along with your present testing activities.
I sometimes feel it is very difficult to always deliver ‘Quality’
in Agile and the definition of quality should be changed to keep up with the
pace of delivery. When things change we also require to change the processes.
It is not an ideal situation for a tester to keep following the same processes
in changing times. Thoughts?
No comments:
Post a Comment