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.

In my experience, Business Analysts (BA's) are commonly used to perform "happy path" testing when an application is developed.

Should the reverse also be true with testers being (more) involved and performing static testing of requirements before they are handed to developers instead ?

share|improve this question
    
What would they test if nothing has been developed yet? –  corsiKa May 7 '11 at 6:08
    
@glowcoder Static testing of requirements is all about ensuring that requirements are specific, measurable, atomic, relevant and testable. –  Bruce McLeod May 7 '11 at 7:57
    
Why a vote to close with no comment as to why? –  Bruce McLeod May 7 '11 at 7:57
    
@glowcoder It sounds like you need to read Jeff Fry's blog post - testing isn't purely test execution testingjeff.wordpress.com/2011/04/19/testing-test-execution –  testerab May 7 '11 at 22:48
add comment

5 Answers

up vote 3 down vote accepted

It's part of a tester's job to ask questions about the product that nobody else has even thought of yet. Waiting until after significant programming time has been spent to even start asking those questions - well, does that sound sensible to you?

Some of my best defects (except we called them review comments) have been raised before a single line of code was written. When working in a waterfall environment, if a project came to us for testing where static testing of the requirements hadn't been conducted (or had been conducted poorly), we considered it high risk (as such projects normally overran horribly in cost and time - if they weren't cancelled first). When working in an Agile environment, I am expected to be able to ask questions that reveal scenarios that nobody else has thought of yet.

Yes, it does mean testers need analysis skills. But then, they aren't going to be able to design good tests if they don't have those skills. If they're merely designing confirmatory tests that just check the requirements are satisfied, rather than test them - then they're not doing testing, just checking.

The other part of it is that if you don't involve testers at the requirements stage, it means that they don't start building up their understanding of the problem space early, which threatens the value of their testing.

It is possible for a good tester to cope with stuff that just gets thrown over the wall - there are strategies to deal with that. But if you have a choice, then why wouldn't you want feedback earlier, rather than later?

share|improve this answer
1  
"Some of my best defects (except we called them review comments) have been raised before a single line of code was written." Soooo true. I can't tell you how many times I've asked a question to find myself, the developer & the BA all had different interpritations of the spec. Much better to catch that on paper than after the code is written! –  CKlein May 11 '11 at 13:09
add comment

You might like to read the book Effective Methods for Software Testing. It has some checklists for checking things like requirements. While the book is big enough to be a door stop, it also has lots of checklists for every stage of testing and QA.

share|improve this answer
add comment

I've always found immense benefit to requirements being tested before being handed to the developer. In many cases, I prefer the developer to be testing with me. Not only do we get to learn about the application before we develop it, but, we usually end up cutting down time lost by sending back requirements after it's already been partially developed.

Also, don't limit yourself to static analysis of the requirements. Acting them out with team members taking on the roll of the user, the data, and the applications(s) can often help clarify or find problems with requirement.

share|improve this answer
add comment

I performed some BA in addition to QA w/my previous employer & there is no doubt in my mind I tested much more thoroughly as a result.

One thing I did not expect was this: the developers were plumb crazy about the requirements documents that I wrote because I integrated the technical details with the customer's "wants" in a way they could relate to.

Although it's been at least 6 years ago, I remember them stopping by my desk and thanking me for those requirements. How often does that happen?

share|improve this answer
add comment

In my shop Testers (and Developers as well) formally review Requirements. We read the documents ahead of time, then get together with the entire project team and go through them.

We find that Testers with their domain knowledge and differing viewpoint can provide insight in several areas

  • checking the Requirements for testability
  • checking for clarity, consistency, completeness
  • trying to ensure a meeting of the minds between the Business and Development before the design begins

We have found that this up-front attention helps prevent bugs from occurring in the first place. And it's always better to prevent bugs, than to find them.

So if you consider this "testing", then the answer to your question "Should the reverse also be true with testers being (more) involved and performing static testing of requirements?" then my answer would be "Yes".

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.