What is my job?
My official role title is Software Test Analyst. But what
does that mean, what does that cover? Other team members call me a “Tester” or
“QA member”, do I just test, or assure quality or analyse tests?
I don’t think I assure 100% quality in anything, I don’t
think anybody will be able to provide 100% assurance in the quality of software
provided, there will always be bugs that will make it through, even if they are
really small ones that do not detriment the usefulness of the system. no matter
how hard you try to find them.
I work within an agile team, I sit with the developers and
have a unique relationship with our client where the product owner is on their
side and we work with them directly rather than working through a proxy of a
product owner/ product delivery manager.
I think my job is to increase the ability to deliver a
quality product for the client, and to try to provide what they want from what
we produce.
So what do I mean by that? I start work on a new project
when it is in its infancy and has yet to be split into stories (sometimes even
at an architectural level), I help create the stories with the developers, I
help refine the stories. I then create BDD’s for the automated acceptance tests
to be based on. If time permits, I will help write the automated tests.
By this point, most of the logical gotcha’s in the flow of
the software should be found as BDD’s are a great way to find “what ifs”.
The developers will start writing code when the BDD’s are
done, but before the automated acceptances tests are done (we are not there yet
for test driven development L)
While this is happening, I will get involved in decisions
for things the developers will come up with and make small decisions on how the
software will behave, larger ones will go back to the client for clarification.
After the story is complete, then the story is put through a
code review. And then it arrives to me ready for testing. I will test it to the
requirements of the story and requirements of the definition of done (includes
non-functional requirements). While this is going on, the I will start
reporting bugs back to the developer(s) and explain what they are while leaving
a list of bugs on out story board.
Whilst I do requirements testing, exploratory testing takes
place, I find that if I do it while doing the standard testing, I am more
likely to find the intricacies within the software that will hold some of the
harder to find bugs. After all bugs are fixed, all testing completed. Then it
will get pushed to UAT.
Most of that I would class as standard work for testers
within the testing life-cycle. But I don’t think our job ends there. When live
issues arrive, I participate in the hunting down of the issues as well. I also
tweak the software as we go along, I enjoy adding my own input into the design
of the software to try to enhance it for the end users.
So my job is more than just testing and analyzing tests, it
does not assure quality, but does enhance the overall quality provided by the
product to the client from the code that tests the software all the way to the user experience for
those who use it.
Now, only if i could sum up all that in a paragraph!