{"id":3444,"date":"2015-10-05T21:04:16","date_gmt":"2015-10-05T21:04:16","guid":{"rendered":"http:\/\/www.abstracta.us\/?p=3444"},"modified":"2025-05-05T21:21:33","modified_gmt":"2025-05-05T21:21:33","slug":"7-tips-testing-dont-software-requirements-specification","status":"publish","type":"post","link":"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/","title":{"rendered":"7 Tips for Testing When You Don&#8217;t Have The Software Requirements Specification"},"content":{"rendered":"<p><!-- Go to www.addthis.com\/dashboard to customize your tools --><script src=\"\/\/s7.addthis.com\/js\/300\/addthis_widget.js#pubid=ra-58d80a50fc4f926d\" type=\"text\/javascript\"><\/script><\/p>\n<h1><span style=\"font-weight: 400; color: #333333;\">How to build a software requirements specification while you test a system<\/span><\/h1>\n<p><span style=\"font-weight: 400; color: #333333;\">All of us in the testing world have had to execute testing when you don&#8217;t have the software requirements at least once, right? If not, you\u2019re lucky! Without the software requirements specification (SRS), it\u2019s very difficult for us to do our jobs since it details what the application is supposed to do and how.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\"><strong>But, it\u2019s okay; Don\u2019t panic if you don\u2019t have one!\u00a0<\/strong><\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">We have some tips by Pilar Albacete, one of our leading testers at Abstracta, for building an SRS that she came up with while working on a project without defined requirements, in which she began to work on documenting them so that she could have a benchmark to test the system. This documentation would then have many useful purposes for the client such as defining processes, methodologies, user manuals, or if one day, they decide to change the system, they would be clear about their needs.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_1_Project_Kick_Off\"><\/span><strong><span style=\"color: #00b674;\">Tip 1: Project Kick Off<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">Having a kick off to start the project will make users and stakeholders feel more committed to the project. You can present the objectives of the project, the way the work will be done, how much each person needs to participate, and for what each person is responsible. You might want to bring snacks if that helps to get them interested \ud83d\ude42<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_2_Find_a_Template_for_Your_Specification_Documentation\"><\/span><strong><span style=\"color: #00b674;\">Tip 2: Find a Template for Your Specification Documentation<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">Why start from scratch if you don\u2019t have to? Ask if the client already has any old specification documentation done and if you can use it as a reference. This will help you start and also save you time by serving as a guide for the format, colors, font, etc. that you should use. If they don\u2019t have one, then you\u2019ll have to just create your own and revise it later.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_3_Interview_Stakeholders_and_Users\"><\/span><strong><span style=\"color: #00b674;\">Tip 3: Interview Stakeholders and Users<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">Research as deeply as you can to find out the details of the software requirements. The users may assume that you already know something about the program that you do not, so ask as many questions and keep them as thorough as possible. Probe them with questions, cross-examinations, statements, etc while keeping in mind the sequence of steps that you will need to stay organized. Then, go back to each participant to have them validate what you have documented afterward.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_4_Define_a_Business_Rules_Section\"><\/span><strong><span style=\"color: #00b674;\">Tip 4: Define a Business Rules Section<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">Every requirement should have a Rules of Business section, as it is very important to specify assumptions and constraints that come up. These rules affect the definition of use cases of that requirement and those of other requirements that could be related. An example of a business rule could be \u201cOnly supervisors are allowed to approve refund transactions.\u201d<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_5_Specify_the_Data_for_Each_Requirement\"><\/span><strong><span style=\"color: #00b674;\">Tip 5: Specify the Data for Each Requirement<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">It should be made clear what each element of the screens (label, dropdown, combo boxes, text) is used for. It\u2019s recommended to document these in the Specification Data Requirement Table. This table must not point to data type, or validation, but definitions. For example, specify in the fields the dates to and from to create an instance of a determined entity: what they mean, where they come from, and what was entered. If we have a field for financing interest, for example, we would say what it is, what formula is used, the time period of the calculation, and where this period is specified. This way we can avoid ambiguities and confusion.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_6_Include_a_Table_of_Pre-Conditions_and_Post-Conditions\"><\/span><strong><span style=\"color: #00b674;\">Tip 6: Include a Table of Pre-Conditions and Post-Conditions<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">This gives a more comprehensive view of the flows of the process at a higher level. It aims to describe the requirements such as what is necessary for an action to occur and what must be required to happen after the action.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tip_7_Plan_and_Validate\"><\/span><strong><span style=\"color: #00b674;\">Tip 7: Plan and Validate<\/span><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400; color: #333333;\">After you are done researching and putting together the requirements, make sure to go back to the people you surveyed to check that the requirements are exactly as they want them to be before testing. It would be a major waste of time to start testing according to inaccurate requirements.<\/span><\/p>\n<p><span style=\"font-weight: 400; color: #333333;\">We hope these tips are useful to you and that you share any other tips that you have based on your own experiences!<\/span><\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Recommended_for_You\"><\/span><strong>Recommended for You<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"color: #00b674;\"><a href=\"http:\/\/abstracta.us\/blog\/software-testing\/software-testing-wheel\/\">The Software Testing Wheel<\/a><\/span><br \/>\n<span style=\"color: #00b674;\"><a href=\"http:\/\/abstracta.us\/blog\/agile-testing\/yodas-guide-for-agile-testing\/\">Yoda&#8217;s &#8216;The Way of the Jedi Tester&#8217;: A Guide for Agile Testing<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to build a software requirements specification while you test a system All of us in the testing world have had to execute testing when you don&#8217;t have the software requirements at least once, right? If not, you\u2019re lucky! Without the software requirements specification (SRS),&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[68],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>7 Tips for Testing When You Don&#039;t Have the Software Requirements | Abstracta<\/title>\n<meta name=\"description\" content=\"All of us in the testing world have had to execute testing when you don&#039;t have the software requirements at least once, right? If not, you\u2019re lucky!\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"7 Tips for Testing When You Don&#039;t Have the Software Requirements | Abstracta\" \/>\n<meta property=\"og:description\" content=\"All of us in the testing world have had to execute testing when you don&#039;t have the software requirements at least once, right? If not, you\u2019re lucky!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaQA\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-05T21:04:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-05T21:21:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstracta.us\/wp-content\/uploads\/2015\/10\/seven_tips-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"420\" \/>\n\t<meta property=\"og:image:height\" content=\"236\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaUS\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaUS\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/abstracta.us\/blog\/#website\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\",\"description\":\"AI-powered quality engineering\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/abstracta.us\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/#webpage\",\"url\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\",\"name\":\"7 Tips for Testing When You Don't Have the Software Requirements | Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#website\"},\"datePublished\":\"2015-10-05T21:04:16+00:00\",\"dateModified\":\"2025-05-05T21:21:33+00:00\",\"author\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/78cd0dcae50ce820b25e86d3330e9762\"},\"description\":\"All of us in the testing world have had to execute testing when you don't have the software requirements at least once, right? If not, you\\u2019re lucky!\",\"breadcrumb\":{\"@id\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/software-testing\/\",\"url\":\"https:\/\/abstracta.us\/blog\/software-testing\/\",\"name\":\"Software Testing\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\",\"url\":\"https:\/\/abstracta.us\/blog\/software-testing\/7-tips-testing-dont-software-requirements-specification\/\",\"name\":\"7 Tips for Testing When You Don&#8217;t Have The Software Requirements Specification\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/78cd0dcae50ce820b25e86d3330e9762\",\"name\":\"Sof\\u00eda Palamarchuk, Co-CEO at Abstracta\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/222e8b1136482564fe25acc4de2b9b7a?s=96&d=blank&r=g\",\"caption\":\"Sof\\u00eda Palamarchuk, Co-CEO at Abstracta\"},\"description\":\"Co-Chief Executive Officer at Abstracta\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3444"}],"collection":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=3444"}],"version-history":[{"count":10,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3444\/revisions"}],"predecessor-version":[{"id":11104,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/3444\/revisions\/11104"}],"wp:attachment":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=3444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=3444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=3444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}