Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

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.

share|improve this question
    
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
add comment

3 Answers

up vote 5 down vote accepted

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 Architect is to stand up for 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 a different shoes", but it requires 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 becomes your QA. This would have an extra benefit of sharing knowledge among the teams.
share|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
add comment

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?'

share|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
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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