How to Test Software Requirements Specification (SRS)?

Are you aware that “Most of the bugs in software are due to incomplete or inaccurate functional requirements?” However well its written, the software code does not matter and nothing can be done if there are any ambiguities in requirements. This article on Software Requirements Specification (SRS) states that Requirements must be clear, specific, measurable and complete without contradictions.

It’s better to catch the requirement ambiguities and fix them in the early development life cycle itself. 

Cost of fixing the bug after completion of the development or product release is too high.  So it’s important to have a requirement analysis and catch these incorrect requirements before design specifications and project implementation phases of SDLC.

Software Requirement Specification(SRS)

How to Measure Functional SRS Documents?

Well, we need to define some standard tests to measure the requirements. Once each requirement is passed through these tests you can evaluate and freeze the functional requirements.

Let’s take an Example. You are working on a web-based application. The requirement is as follows:
“Web application should be able to serve the user queries as early as possible”

How will you freeze the requirement in this case?
What will be your requirement satisfaction criteria? To get the answer, ask this question to the stakeholders: How much response time is ok for you?
If they say, we will accept the response if it’s within 2 seconds, then this is your requirement measure. Freeze this requirement and carry the same procedure for the next requirement too.

We just learned how to measure the requirements and freeze those in design, implementation and testing phases.

Now let’s take another Example. I was working on a web-based project. Client (stakeholders) specified the project requirements at the initial phase of the project development. My manager circulated all the requirements in the team for review. When we started the discussion on these requirements, we were just shocked! Everyone was having his or her own conception about the requirements. We found a lot of ambiguities in the ‘terms’ specified in the requirement documents, which later on was sent to the client for review/clarification.

The client used many ambiguous terms, which were having many different meanings, making it difficult to for us to analyze the exact meaning. The next version of the requirement doc from the client was clear enough to freeze for the design phase.

From this example, we learned that “Requirements should be clear and consistent”

Next criteria for testing the requirements specification is “Discover missing requirements”, let’s take a look at it.

Discover Missing Requirements

Many times the project designers don’t get a clear idea about each specific module and they simply assume some requirements in the design phase. Any requirement should not be based on assumptions. Requirements should be complete, covering each and every aspect of the system under development.

Specifications should state both types of the requirement i.e. what system should do and what it should not.

Generally, I use my own method to uncover the unspecified requirements. When I read the software requirements specification document (SRS), I note down my own understanding of the requirements that are specified, plus other requirements that the SRS document is supposed to cover. This helps me to ask the questions about the unspecified requirements thereby making it clearer.

For checking the requirements completeness, divide requirements into three sections, ‘Must implement’ requirements, requirements that are not specified but are ‘assumed’ and the third type is ‘imagination’ type of requirements. Check if all the type of requirements is addressed before the software design phase.

Check if the Requirements are Related to the Project Goal

Sometimes stakeholders have their own expertise, which they expect to come in the system under development. They don’t even think whether that requirement would be relevant to the project in hand. Make sure to identify such requirements. Try to avoid all irrelevant requirements during the first phase of the project development cycle. If not possible, then ask the questions to stakeholders like why do you want to implement this specific requirement? This will describe the particular requirement in detail, thereby making it easier for designing the system considering the future scope.

But how to decide whether the requirements are relevant or not?
Simple answer: Set the project goal and ask this question: If not implementing this requirement will cause any problem achieving our specified goal? If not, then this is an irrelevant requirement. Ask the stakeholders if they really want to implement these types of requirements.

In short, requirements specification (SRS) doc should address the following:
Project functionality (What should be done and what should not be done).
Software, Hardware interfaces, and the user interface.
System Correctness, Security and performance criteria.
Implementation issues (risks) if any.

Conclusion

I have covered almost all the aspects of requirement measurement. To be specific about requirements, I will summarize requirement testing in one sentence:

“Requirements should be clear and specific with no uncertainty, requirements should be measurable in terms of specific values, requirements should be testable having some evaluation criteria for each requirement, and requirements should be complete, without any contradictions”

Testing should start at the requirement phase to avoid further requirement related bugs. Communicate more and more with your stakeholders to clarify all the requirements before starting the project design and implementation.

Do you have any experience in testing software requirements?

Please feel free to share them in the comments below.

143 Comments on “How to Test Software Requirements Specification (SRS)?

  1. Hi All,
    I came with the same Question which was Shantanu, What i get answer from Vijay, but the thing is i approach management, i approach team lead, but nothing i get result instead bug exist, i am getting fired. what shall i do ??

  2. Hi,
    Its very usefullll….. I need the flow of testing from unit to acceptance…

  3. Hi,
    Its very usefullll….. I need the flow of testing from unit to acceptance testing…

  4. what is use case testing? & hoe to test?

  5. ya excellant…….. i want srs document for exam registration form pls send my id.

  6. help me in writing a srs document for exam registration

  7. this is very helpful for all people… i need
    in details of software requirement specifications and difference between the functional requirements and non functional requirements

  8. i have software tasting course because i am great
    programer .

  9. Hi

    I have been working as a template(ms word) tester in a publishing comapny . can i move to software company with this experience

  10. Can anybody tell any software for requirements testing.

  11. please update the latest contents…..

  12. test message

  13. According to me the requirments sholuld be given by businees analyst so that it’ll be very correct.
    Because the persons who sits in the coding part or in testing side have no deal with the client, so better requirments will be given only by the peolple who r really having analyitcal skill who sits especiallly for collecting requirment

  14. hi friends,
    can anybody please clear my doubt?
    well…,
    what is main relation between the SRS,CRS,FRS,Which one is first?
    and
    please tell me how to get open software?
    and
    what is component test perspective?

    as soon as possible please inform me friends,

    thanQuu

  15. i want to learn software testing….please give me small projects,
    please….
    please….
    please….
    my CV is noot good,so i have to learn any small projects,

    thanQuu

  16. easy to understand article. help a lot. thank you

  17. This is very good Article ,

  18. wire frame document also consider as a Requirement document???

  19. chutiya sale bevkuf banata hai

  20. hi,

    This is very helpful website to understand and clarify all concept of s/w testing. I realy learn lots of from here. so thank u so much to all.

    Best Regard
    Amit Sharma

  21. Very much helpful article.

  22. you r of great help

    can u help me here
    suppose you ve been given logging in snippet code to collect and validate entered values, then connect to database, and you r 2 test dis. how many path are u going to have in CFG SNIPPET.

  23. Hello guys
    Actually i need a manual testing project for my reference if any one having a project please could you send me in my mail id “dashmanas254@gmail.com” thanks in advance

  24. Can someone help me how to get a software testing job? With over 10 years experience in manual testing but I can’t get a job and I don’t know which company is really hiring qa in Alpharetta, GA. Many thanks.

  25. this information very useful.thankyou somuch to share with us.

  26. hii i m taking a look on live project on orange hrm.but i didnt find srs document of it.can u please help me .
    thanku

  27. @sundar sharma
    we can do testing according to the requirement specifications it is depends on the models like water fall model ,spiral model, V and V model ,agile model etc.. as a test engineers we all knows that agile model is very popular because its iterative and incremental model where the verification and validations will be very fast (developers,BA,costumer also will be part of in this model .. we can conduct daily stander meetings so work will will move very fast compare to other models ..

    if we want to test the applications like web applications first we need to read the requirement ,understand requirement based on that we are going to test the product ..like functional ,integration ,system testing ……its depends on BA.

    based on the requirement specification we should be able to test the application with create scenarios ..

    thank u

    • Hi
      I wanted to know do we perform functionality, integration,and system testing all in a same release or in 3 different releases… How much it may usually take to perform each kind of testing.

  28. What is wrong with some people in here, my word. Excellent article, very informative. Thanks

  29. thankie for not so bad article

  30. Goog article! Thanks for sharing.

  31. hi Vijay ;
    would you tell us more example in Testing in SRS ?
    thanks

  32. Hi Sir,

    In my company i am indulge in a project from scratch. I have SRS document, please let me know the process how to start to craete test scenario and test cases. It is product based company.

  33. Kindly quickly fetch and send me the template please.

    REFERENCE FROM ABOVE:
    Yes SRS is having some templates. I will make this SRS template available for our readers. This SRS is usually provided by stakeholders. So you can review it and can make your comments inline with the same doc. and submit it to test lead or manager. Which is expected to be reviewed/discussed in team by test/project manger.
    dosan7@gmail.com

    Thank you in spades, Sir.

  34. Hello guys,
    I need some help. I am working on cross project bug prediction. So I want to know what are the elements which I can compare in two projects which are from different domains. Which elements create defects in systems, which elements do I have to use to create model?

    Thanks in Advance

  35. very interesting, but i wish the Admin would have their blogs proof read by somebody who’s first language was English. i keep getting caught up reading due to missing “a” or “the” that should be placed in a lot of sentences,…don’t get me wrong, its 98% perfect, but it does catch me and slow my reading down when i spot these simple mistakes.

  36. This seems like a good blog for the 90ties, but I hope that fast iterative development cycles have beat the crap out of this traditional Waterfall requirements design staging that you describe.

    Do you have proof for this “Most bugs” claim? Also the costs of fixing defects has become very low due to high automated test coverage. Really not sure in what age you are living ;-)

    I wrote a full response here: https://sqa.stackexchange.com/a/31127/3201

  37. In our company they provide us SRS but we didn’t write any test cases for site. Our TL is told to us work without test caes..

    Is it bad impact ?
    or should i start the write the test caes for project.
    but even we haven’t enough time for testing.
    what should i do ?

  38. Hi Guys i Here By enclose My Personal Number – 9030258656 just get in touch and lets create a whatsapp group and explore more.

  39. we’ll get the requirement document. As a QA team we’ll review and asks for clarifications and doubts if we have to our stakeholders.

  40. I have no idea of software testing I’m trying to enter the QA teams because I found no value with BPO’s being an engineer. So I wish I could take the necessary steps to become a software engineer and I found manual testing would be the right choice. Let me know the needful, thank you.

Leave a Comment