A discussion recently came up on my project about writing test scripts.
I’m not talking about TDD here, i’m talking about good old fashioned end-user test scripts – a list of steps to get from point A to point B with each hitting a piece of application functionality.
Some back-story:
As I’ve mentioned, my current project really has no requirements. Yea, we have a couple use cases and a pretty large list of “issues/requirements” listed in our issue tracker, but nothing like Eric talked about in his article.
The Project Manager is also acting as the Business Analyst on this project (this isn’t something I necessarily agree with and I could write a couple of blog posts on that topic alone, but I digress).
Ok, so the PM has been meeting with the client for months and says he knows *exactly* what the customer wants, but he refuses to write anything down in a formal way. As I mentioned in my previous post, I tend to get requests via email or IM, although I’ve become much more of a hardass about it and tell him if it’s not in the issue tracker, I’m not working on it.
Ok, so given all that, the PM/BA and I got into a slight disagreement about a week or two ago about test scripts. His testing is always by the seat of his pants and there really is not repeatable sequence he uses when testing. My request to him was to create test scripts so that someone else could run through the same tests without deviation.
The PM:
His argument is this: he can’t write test scripts without a *working* application. He has said that whenever he starts writing test scripts and finds a bug, he can’t proceed with writing his scripts. There are major pieces of the application that are working, although some areas are buggy.
The Tech Lead (me):
My argument is this: He doesn’t *need* a working application to write scripts. The scripts should be written based on what the app SHOULD do, not what it currently does. He should have a script that lists steps A,B and C. If for some reason, he can’t get to step C, then his test has failed and he needs to submit an issue back to the developers.
My second argument is that once he writes a series of test scripts, we can seriously look at automating some of them.
Neither of us has ever held a true “QA” position, so I’m not sure. The books I’ve read say you should write your tests from the spec, but since we don’t have anything like that, he needs to use his extensive knowledge of what the system is supposed to be.
So, does it sound like I’m way off base here?
You are absolutely 100% correct (IMHO of course). Even though I won’t be on my current project for the next phase, the plan is that the business analysts will be writing their testing plan along-side the use case. The idea is that the developer can use the test script during the development and write a WATIN or WATIR test based on it as well.
It sounds like your project has a wealth of problems around requirements (why am I not surprised?)
-James
James,
What makes our situation even worse is that I’ve raised all sorts of red flags
to management and yet nothing is done.
I would say 90% of our problems are due to lack of requirements. About 8% are
customer apathy toward S2V and 2% has been staffing issues which I may blog
about one day. -m
I’ve spent some significant time as a QA person (affectionately called “The Test Nazi” by the crappy devs I worked alongside), and I’d agree 100% that scripts/test cases should be written EARLY in the game.
FIT/Fitnesse is a great tool to help write specs/scripts/test cases and get some documentation about how a system should behave.
I planned to jump in and tell you that you sounded right on the ball to me, but two guys who know their stuff beat me to it. I know you’re glad the project is wrapping up, but it is a pretty cool project, though.
Dan,
Well, test scripts still haven’t been written which is a damn shame.
I’ll be rolling off the project by June 15th, but yea, it is a cool project
that’s given me the chance to work with some cool technology (like ink).
-mike
hi, I am a computer science student and will graduate soon. I am currently looking for job and it seems to me that QA is a very popular job. But I was never ever taught about the course. Can someone please tell me how to start to learn QA by myself so that I can find a job ?
please email me at learnstudy@hotmail.com
Thanks.