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 it is written, the software code does not matter and nothing can be done if there are any ambiguities in the requirements.

This tutorial 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. 

How to Test Software Requirements Specification (SRS)_

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

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 that they 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 during the initial phase of the project development. My manager circulated all the requirements to 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 had many different meanings, thereby making it difficult 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 the “Requirements should be clear and consistent”

The next criteria for testing the requirements specification is to “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. None of the requirements should be based on assumptions. Requirements should be complete, covering each and every aspect of the system under development.

Specifications should state both the types of requirements i.e., what the 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 will help me to ask questions about the unspecified requirements thereby making it clearer.

To check the completeness of the requirements, divide the 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 types of requirements are 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 into the system under development. They don’t even think about whether that requirement would be relevant to the project in hand. Make sure to identify such requirements.

Try avoiding 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 that particular requirement in detail, thereby making it easier to design 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 in 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, the 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

We have covered almost all aspects of the requirement measurement. To be specific about the requirements, we will summarize the requirement testing shortly.

“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 during 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.

Recommended Reading

148 thoughts 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 ??

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

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

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

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

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

    Reply
  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

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

    Reply
  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

    Reply
  10. Can anybody tell any software for requirements testing.

    Reply
  11. please update the latest contents…..

    Reply
  12. 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

    Reply
  13. 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

    Reply
  14. 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

    Reply
  15. easy to understand article. help a lot. thank you

    Reply
  16. This is very good Article ,

    Reply
  17. wire frame document also consider as a Requirement document???

    Reply
  18. chutiya sale bevkuf banata hai

    Reply
  19. 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

    Reply
  20. 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.

    Reply
  21. 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

    Reply
  22. 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.

    Reply
  23. this information very useful.thankyou somuch to share with us.

    Reply
  24. 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

    Reply
  25. @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

    Reply
    • 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.

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

    Reply
  27. thankie for not so bad article

    Reply
  28. Goog article! Thanks for sharing.

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

    Reply
  30. 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.

    Reply
  31. 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.

    Reply
  32. 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

    Reply
  33. 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.

    Reply
  34. 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

    Reply
  35. 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 ?

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

    Reply
  37. 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.

    Reply
  38. 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.

    Reply
  39. Hey,

    The article is good but I would like to know more about Testing in SRS so Can you please share this type of article with a deep explanation…
    Thanks in advance

    Reply
  40. Hi all,
    what are the phases to identify all the requirements of any SRS

    Reply
  41. Hi all,
    what are the phases to identify all the requirements of any SRS? How to analyze all phases without any ambiguity.

    Reply
  42. Hi all,
    what are the phases to identify any SRS? how to analyze any SRS in an efficient method?

    Reply
  43. Hello,

    Your tutorials are very good.
    Your tutorials covers all software testing aspects.

    Harshal Ghisad

    Reply

Leave a Comment