8

I work as a business analyst leading the charge on a medium sized internal software project. It's my job to create the requirements, design the UI, write the functional specs, work with the developers on implementing it and also to an extent write the queries for some of the reports (or at least show the developers how certain reports need to be implemented).

That being said, I also have to take a lead testing role and write all the test cases and do most of the testing myself (there are others who step in to do some of the testing work, but the test cases have to come from me). I find that much of the time this works fine; I catch a lot of bugs, they get fixed, etc.

However, sometimes I feel that because I am so close to the details (I am the only person who knows every single aspect of the application) it is hard for me to be truly objective in testing, which seems to be necessary. There have been times we deployed to production and there were things that I just didn't think about testing, maybe because subconsciously I tend to test the "happy path" more often than not (also I am a power user of the legacy version of the software that we are replacing, so I have developed certain biases if that makes a difference).

Is it right to say that the business analyst should be separate from the person who writes the test cases, or do I just need to learn to do a more thorough job when creating test cases and figuring out all possible scenarios? What doesn't help is that I tend to view myself more as a developer than a tester (not that I do any of the actual programming, but I do help the developers come up with solutions and often dive deeply into certain technical details).

One additional detail, if it makes any difference: I'm also essentially the project manager (although I don't officially hold the title of manager). It's my responsibility to make sure new features are prioritized, work is coordinated amongst developers, and that we meet our release goals.

  • Yes it can work, but in your situation it sounds like it doesn't. I don't think you would be asking this question if you felt it works. Maybe a better question would be how do I get more testing resources on an understaffed team. Just my feeling from what you have written. – Steve Miskiewicz Jul 26 '12 at 3:23
10

There's no problem being BA+QA, but it looks that you're also an Architect in your project.
I see a direct evil in combining Architect and QA roles.

You have noticed for yourself every concern: the natural role of an Architect is to stand up for the idea that "the program is working". The natural role of QA is a direct opposite: to prove that "the program is not working". If the same physical person acts for two opposite roles, this may lead to compromises with yourself.

Yes, there are many people who can quickly "wear different shoes", but it requires the experience and trust of the team.

I see several ways to mitigate this:

  1. You can take some of development on yourself and assign someone else to act QA.
  2. You may find another team in your company who suffers the same problem. You become a QA in their team, and some of them become your QA. This would have an extra benefit of sharing knowledge among the teams.
| improve this answer | |
  • Yes, I do find myself at opposing ends of the spectrum, having to be both the person who needs to question the state of the system and the one who advocates for its validity. Being on both ends is definitely what is causing me difficulty. – Ryan Jul 24 '12 at 10:33
3

If I were in your shoes, I would thing about adding another person to test, in addition to yourself. It sounds like you are already doing a good job with accepting the story/feature, but have a little "author blindness" which leads to missing some minor issues. Adding another set of eyes will benefit the quality, while not losing your expertise.

| improve this answer | |
2

Testers in the Agile world are not the only ones doing the actual testing. They should be looked at as testing coaches for the whole team, improving testing in various ways, like proposing good testing practices, making acceptance criteria more testable, etc.

Since it is difficult for you to be an effective tester because of the "this software works" bias, you could try encouraging other team members to test themselves. You could try organizing a bug finders day every once in a while, where everyone would put on their testing hats and try to test the product from a fresh perspective.

| improve this answer | |
1

I think you have more than two roles. That might work if the project is small enough, but if it grows, it will scale badly, if at all.

I don't think one couldn't do various jobs, but on the other hand, your capacity and time are limited, so if the workload grows, you will probably start cutting corners somewhere to simply cope with it. And that's where things will start going downhill.

I'd plan for the worst scenario I still consider at least a bit real. Imagine your project grows 3 times as big, your deadline is brought forward, your budget is cut, and you fall ill for 2 weeks. How about your superman role now? The whole project will likely end up in a real problem just because you didn't imagine nothing else but the happy path for your project.

| improve this answer | |
0

What training and experience do you gave in testing ? From the description of your roles you question could be 'can someone who is really busy doing multiple tasks also do a good job of testing the app?'

| improve this answer | |
  • No formal training in testing. The company's policy is that business analysts will write the test cases and do most of the testing. The expectation in the group is that the analysts will pick up just about any task except for programming. My main concern is my lack of objectivity as the designer of the application. I agree about the really busy part - often testing is not given the priority it should be given in the grand scheme of things. – Ryan Jul 23 '12 at 22:49
  • A good tester will also want to know and understand all the details of the app - how it was designed, coded, built, who the users are etc etc. sounds like you need a war to track your coverage - do a google for SF DEPOT testing for one example – Phil Kirkham Jul 24 '12 at 0:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.