Business Analyst Blog


August 7, 2006

How do we speed up software testing? Write better requirements!

I have been reading about software testing again, just surveying the market to see what new techniques and approaches have been invented. I have found that the basics are still in well-respected planning, preparation, objectivity, etc. What is amazing to me is what I don't see. Everyone has suggestions about how to improve your testing—implement a testing process or methodology, utilize IEEE standards, work towards CMMI compliance, etc. No one mentions that improving requirements will improve testing!

Testing software is an extremely time consuming and expensive activity. As software continues to get more complex the difficultly with testing increases exponentially. Why does it take so long? I would argue that one of the main reasons is that poor (or missing) requirements slow down the process as much as any other issue. If you don't have good requirements, how do you write a test plan? If you don't have detailed requirements, how do you write a detailed test case with a step by step procedure? If you don't have excellent requirements, how do you evaluate the software's ability to address the business problem. Instead of focusing so much time trying to improve our testing methods - let's spend more time writing excellent requirements - which are "testable" or "verifyable" and make our tester's lives easier!

Filed under: General, BA Tips, Requirements — Barbara @ 9:31 am

5 Responses to “How do we speed up software testing? Write better requirements!”

  1. Ronny De Winter Says:

    CMMI does handle requirements! In the staged model you already encounter it in the first step towards maturity level 2: the Requirements Management process area. I agree requirements engineering is a far more effective process than any kind of test process to develop high quality software products. In my blog I frequently write on requirements management and other process improvement techniques: and - Most useful requirements processes - Handling late requirements - Use Test Cases to Clarify Requirements (yes, as a tester you also can help in the requirements defintion, see also agile practices like test-driven development) Enjoy, Ronny http://software-quality.blogspot.com The Software Quality Weblog

  2. Alexandra B. Says:

    I found that the business owners either partially communicate the business problem or due to lack of business process, they don’t identify the problem well. Of course bad requirements delay the project all together. But software testing can never be 100% satisfactory, so business needs to understand it and establish acceptance testing. It could be 90% -99% whatever is acceptable to the business. Also, test scripts can cover most often used scenarios or path; other tests can be done ad-hoc. I would also highly recommend a use of a testing tool where testing can be monitored and measured. With that said BSA really plays a vital role on a project especially software implementation.

  3. raaj Says:

    What I try to do is the following- 1. Have the test plan approved by major stakeholders. 2. Schedule testing-time - gather users/testers for a while, lock them up in a room:) and try to get as many steps as possible. 3. Send a daily update and provide a deadline. 4. Hope for the best!

  4. Frederica Says:

    Great practical ideas by Raaj. I sometimes force the business to create their own UAT plan which the BA and development team then approve. This ensures that the expectations in UAT match the requirements laid out during the analysis phase. I find almost all project issues found in testing or UAT can be traced back to the analysis/requirements gathering phase. Which always brings us back to the question of responsibility. Typically the BA is a single person. It is his responsibility to guide the business through what it really wants and what it might be leaving out. The BA might not be completely capable of doing that, though, especially early in a customer relationship - they may not have full expertise in the system or strong enough knowledge of how the customer thinks. A full process including change request forms and budget/scheduling impacts help lead the business into better thinking in the future. Meanwhile it is important that the entire team - development & QA included - understands that ultimately the project is being done for a customer. Development & QA must be encouraged to push back on requirements that are unclear or sound like a bad idea. Ultimately it all comes back to requirements, and ultimately the BA must lead all components of the team to recognize their own responsibility and input into requirements. This improves the testing experience and the overall project delivery.

  5. manesh Says:

    My aporoach - 1) req specs & detailed design from the development is matched. 2) prepare a high level test strategy and send the same out to business/solutions and development 3) sign off process on requirements & detailed design docs 4) send out scenarios on the project to business/solutions and development for review and sign off. This is a tested and really a practical approach. Thanks manesh

Leave a Reply

By submitting a comment you are agreeing to conduct your communication in a professional manner using appropriate language and respecting all individuals and organizations

News History:

November 2008
S M T W T F S
« Oct    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Author Bios

Blogroll

Categories:
Archives:
Subscribe:
Add to My Yahoo!
Add to Google
Add to NewsGator
Add to Rojo
RSS2 Feed

Login