{"id":4379,"date":"2021-11-08T07:00:00","date_gmt":"2021-11-08T07:00:00","guid":{"rendered":"https:\/\/www.diogonunes.com\/blog\/?p=4379"},"modified":"2021-10-30T12:00:22","modified_gmt":"2021-10-30T11:00:22","slug":"testing-concepts-5","status":"publish","type":"post","link":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/","title":{"rendered":"Requirements (Concepts #5)"},"content":{"rendered":"<figure id=\"attachment_4381\" aria-describedby=\"caption-attachment-4381\" style=\"width: 580px\" class=\"wp-caption aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=580%2C387&#038;ssl=1\" alt=\"\" width=\"580\" height=\"387\" class=\"size-large wp-image-4381\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=1024%2C683&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=400%2C267&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=768%2C512&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=1536%2C1024&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?resize=1200%2C800&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?w=1920&amp;ssl=1 1920w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?w=1740&amp;ssl=1 1740w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><figcaption id=\"caption-attachment-4381\" class=\"wp-caption-text\">Photo by <a href=\"https:\/\/unsplash.com\/@myleon?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Leon<\/a> on <a href=\"https:\/\/unsplash.com\/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><br \/><\/figcaption><\/figure>\n<blockquote>\n<p><strong>tl;dr<\/strong> Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.<\/p>\n<\/blockquote>\n<p><!--more--><\/p>\n<h2>Theory<\/h2>\n<p>Here are some <strong>concepts<\/strong> you should keep in mind:<\/p>\n<ul>\n<li><em>Requirement:<\/em> Some behaviour or property needed by a stakeholder to achieve a goal.<\/li>\n<li><em>Specification:<\/em> The list containing all requirements for a given project\/product.<\/li>\n<li><em>User story:<\/em> Concise description of a requirement, told from the perspective of the stakeholder who desires it. Typically follows the structure <code>As a &lt;user&gt;, I want to &lt;goal&gt; so that &lt;motivation&gt;<\/code>.<\/li>\n<li><em>Acceptance criteria<\/em> (AC): Statements that are expected to be true if the user story is correctly implemented. If the ACs are met, the implementation is <em>accepted<\/em>. If there&#8217;s a mismatch, either the ACs are revised or the implementation redone.<\/li>\n<li><em>Backlog:<\/em> The list containing all user stories to implement for a given project\/product.<\/li>\n<\/ul>\n<p>These are the <strong>main roles<\/strong> that engage in breaking down a product into requirements:<\/p>\n<ul>\n<li>The <em>Stakeholder:<\/em> Anyone that has authority to influence the specification. They might have that power because: they will use it (users); they will maintain it (architects); they will help users (support); they are paying for it (client).<\/li>\n<li>The <em>Product Owner<\/em> (PO): Discovers who are the relevant stakeholders. Gathers requirements from stakeholders. Takes decisions as a spokesman for all stakeholders.<\/li>\n<li>The <em>Business Analyst<\/em> (BA): Improves the specification based on his\/her experience and business context, without biasing it. Can act as Product Owner.<\/li>\n<li>The <em>&#8220;three amigos&#8221;<\/em> are a PO\/BA, a developer and a tester. Seems like the start of a joke, but it is really just a nickname for temporary subteam with those three roles.<\/li>\n<\/ul>\n<p>There are several <strong>ways to write the specification<\/strong> of a product, however there are two main approaches:<\/p>\n<ul>\n<li>In a <em>Waterfall project<\/em>, the client gathers requirements from their relevant stakeholders and writes a document containing them. That document is casually referred to as &#8220;the specification&#8221; or more formally as Software Requirements Specification (SRS). Once approved, the specification does not change and the team starts implementing it.<\/li>\n<li>In an <em>Agile project<\/em>, the PO engages in conversations with the client&#8217;s stakeholders and gathers their goals and requirements. The three amigos collaborate to write user stories that will implement those requirements. The list of stories not yet implemented is called the backlog. The details of those stories, as well as their priority, can be changed during the project.<\/li>\n<\/ul>\n<h2>Practice<\/h2>\n<blockquote>\n<p>A requirement is a quality that matters to someone who matters.<\/p>\n<\/blockquote>\n<p>Nowadays there are several Agile techniques to write requirements effectively:<\/p>\n<ul>\n<li><a href=\"http:\/\/amzn.to\/2mW1rkx\">User story mapping<\/a>\n<ul>\n<li>Starts with stakeholders and breaks down into Goals > Activities > Tasks > Stories.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/amzn.to\/2mWyt4d\">User journey<\/a>\n<ul>\n<li>Starts with users and breaks down into Goals > User Journeys > Actions > Stories.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"http:\/\/amzn.to\/2FZy1ux\">Specification by example<\/a>\n<ul>\n<li>Details your stories using conversations to extract rules and examples.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Since POs\/BAs are usually the drivers of requirement analysis we won&#8217;t go into details (recommended reading in the <a href=\"#sources\">section<\/a> below). Nevertheless, attend the workshops if you can \u2014 the closer you are to the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Chinese_whispers\">source of truth<\/a> the better.<\/p>\n<p>So you might be asking <strong>how can testers add value to this process?<\/strong><\/p>\n<blockquote>\n<p>Business perspective: Build the right thing meeting the client&#8217;s expectations and requirements.<\/p>\n<p><em>Concern: Will it be useful?<\/em><\/p>\n<p>Technical perspective: Build it right using the correct technology, architecture, tools and practices.<\/p>\n<p><em>Concern: Will it work?<\/em><\/p>\n<\/blockquote>\n<ul>\n<li><strong>Align perspectives<\/strong>. Each side has its own concerns, assumptions and biases. Chat with stakeholders (askers) and developers (givers) to check if they have a common understanding of what needs to be done.<\/li>\n<li><strong>Raise risks<\/strong>. That&#8217;s why you are one of the three amigos. Usually the POs are focused on functionality and your developers on implementation details. You can remind them of risks such as non-functional requirements, impacts with previous stories or the cost of automating a specific tests.<\/li>\n<li><strong>Ask questions<\/strong>. Discuss &#8220;what if&#8221; scenarios. Use personas to discover user-specific issues. Clarify the rules for extreme or unusual values. It&#8217;s cheaper to improve the design than it is to fix the implementation.<\/li>\n<li><strong>Write scenarios<\/strong>. When doing <a href=\"https:\/\/dialex.github.io\/start-testing\/#\/notebook\/specification-by-example.md\">specification by example<\/a>, you should be writing those examples. Most likely you will <a href=\"https:\/\/dialex.github.io\/start-testing\/#\/roles\/automation-tester.md\">automate<\/a> them later on, using the Gherkin syntax <code>Given &lt;condition&gt; When &lt;action&gt; Then &lt;result&gt;<\/code>.<\/li>\n<li><strong>Bring your toolbox<\/strong>. <a href=\"https:\/\/dialex.github.io\/start-testing\/#\/toolbox\/mnemonics.md\">Mnemonics<\/a> such as the five W&#8217;s are useful to detail stories and create scenarios with less assumptions. Your <a href=\"https:\/\/dialex.github.io\/start-testing\/#\/toolbox\/biases.md\">list of biases<\/a> might also uncover weak requirements.<\/li>\n<li><strong>Clarify stories<\/strong>. Your questions lead to explicit requirements and more examples. Doing so you are increasing the probability of meeting the stakeholder&#8217;s requirement.<\/li>\n<li><strong>Think again<\/strong>. The more you know, more assumptions you make and more casual you are when testing. Fresh eyes find failure, so stay sharp.<\/li>\n<li><strong>Don&#8217;t be fooled<\/strong>. Question requirements and extract their value\/usefulness. Be aware of echo chambers.<\/li>\n<\/ul>\n<blockquote>\n<p>It&#8217;s easier to fool people than to convince them that they have been fooled.<\/p>\n<p>\u2014 Mark Twain<\/p>\n<\/blockquote>\n<h2>Teachers<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.donnalichaw.com\/\">Donna Lichaw<\/a><\/li>\n<li><a href=\"https:\/\/jpattonassociates.com\/blog\/\">Jeff Patton<\/a><\/li>\n<li><a href=\"https:\/\/gojko.net\/books\/\">Gojko Adzic<\/a><\/li>\n<\/ul>\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.iiba.org\/babok-guide\/babok-guide-v2\/babok-guide-online\/chapter-one-introduction\/1-3-key-concepts.aspx\">Definition of requirement<\/a><\/li>\n<li><a href=\"https:\/\/www.mountaingoatsoftware.com\/agile\/user-stories\">Definition of user story<\/a><\/li>\n<li><a href=\"https:\/\/www.thoughtworks.com\/insights\/blog\/story-mapping-visual-way-building-product-backlog\">Story Mapping, Visual Way of Building Product Backlog<\/a><\/li>\n<li><a href=\"https:\/\/jpattonassociates.com\/the-new-backlog\/\">The New User Story Backlog is a Map<\/a><\/li>\n<li><a href=\"https:\/\/theuxreview.co.uk\/user-journeys-beginners-guide\/\">User Journeys \u2013 The Beginner&#8217;s Guide<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@mattwynne\/introducing-example-mapping-42ccd15f8adf\">Introducing Example Mapping<\/a><\/li>\n<li><a href=\"https:\/\/blog.red-badger.com\/blog\/2012\/07\/31\/what-is-specification-by-example\">What is Specification by Example?<\/a><\/li>\n<li><a href=\"https:\/\/thelifeofoneman.com\/writing-more-effective-requirements\">Writing more effective requirements<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>tl;dr Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.<\/p>\n","protected":false},"author":1,"featured_media":4381,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[51],"tags":[86,55],"class_list":["post-4379","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-work","tag-course","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Requirements (Concepts #5) - The Geeky Gecko<\/title>\n<meta name=\"description\" content=\"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Requirements (Concepts #5) - The Geeky Gecko\" \/>\n<meta property=\"og:description\" content=\"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\" \/>\n<meta property=\"og:site_name\" content=\"The Geeky Gecko\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-08T07:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Diogo Nunes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:site\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diogo Nunes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\"},\"author\":{\"name\":\"Diogo Nunes\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"headline\":\"Requirements (Concepts #5)\",\"datePublished\":\"2021-11-08T07:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\"},\"wordCount\":844,\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1\",\"keywords\":[\"course\",\"testing\"],\"articleSection\":[\"Work\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\",\"name\":\"Requirements (Concepts #5) - The Geeky Gecko\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1\",\"datePublished\":\"2021-11-08T07:00:00+00:00\",\"description\":\"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1\",\"width\":1920,\"height\":1280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.diogonunes.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Requirements (Concepts #5)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/\",\"name\":\"The Geeky Gecko\",\"description\":\"The Geeky Gecko\",\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\",\"name\":\"Diogo Nunes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"width\":799,\"height\":799,\"caption\":\"Diogo Nunes\"},\"logo\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.diogonunes.com\",\"https:\/\/x.com\/dialexnunes\"],\"url\":\"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Requirements (Concepts #5) - The Geeky Gecko","description":"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/","og_locale":"en_US","og_type":"article","og_title":"Requirements (Concepts #5) - The Geeky Gecko","og_description":"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.","og_url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/","og_site_name":"The Geeky Gecko","article_published_time":"2021-11-08T07:00:00+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","type":"image\/jpeg"}],"author":"Diogo Nunes","twitter_card":"summary_large_image","twitter_creator":"@dialexnunes","twitter_site":"@dialexnunes","twitter_misc":{"Written by":"Diogo Nunes","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#article","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/"},"author":{"name":"Diogo Nunes","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"headline":"Requirements (Concepts #5)","datePublished":"2021-11-08T07:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/"},"wordCount":844,"publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","keywords":["course","testing"],"articleSection":["Work"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/","url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/","name":"Requirements (Concepts #5) - The Geeky Gecko","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","datePublished":"2021-11-08T07:00:00+00:00","description":"Requirements are what your stakeholders require to achieve their goals. Testers clarify and detail those needs.","breadcrumb":{"@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#primaryimage","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","width":1920,"height":1280},{"@type":"BreadcrumbList","@id":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.diogonunes.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Requirements (Concepts #5)"}]},{"@type":"WebSite","@id":"https:\/\/www.diogonunes.com\/blog\/#website","url":"https:\/\/www.diogonunes.com\/blog\/","name":"The Geeky Gecko","description":"The Geeky Gecko","publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c","name":"Diogo Nunes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","width":799,"height":799,"caption":"Diogo Nunes"},"logo":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.diogonunes.com","https:\/\/x.com\/dialexnunes"],"url":"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/leon-Oalh2MojUuk-unsplash.jpg?fit=1920%2C1280&ssl=1","jetpack-related-posts":[{"id":4113,"url":"https:\/\/www.diogonunes.com\/blog\/using-no-code-to-create-website-from-table\/","url_meta":{"origin":4379,"position":0},"title":"Using no-code to create a website from a table","author":"Diogo Nunes","date":"1 March, 2021","format":false,"excerpt":"I have been hearing about \"no-code\" solutions for a while but never had the chance to use one. The concept is interesting because programming is usually a barrier for the average person. If they are not required to code, many more people would be able to develop digital and automated\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"building block","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/01\/iker-urteaga-TL5Vy1IM-uA-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/01\/iker-urteaga-TL5Vy1IM-uA-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/01\/iker-urteaga-TL5Vy1IM-uA-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/01\/iker-urteaga-TL5Vy1IM-uA-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/01\/iker-urteaga-TL5Vy1IM-uA-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4371,"url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-4\/","url_meta":{"origin":4379,"position":1},"title":"Tester&#8217;s responsibilities (Concepts #4)","author":"Diogo Nunes","date":"1 November, 2021","format":false,"excerpt":"tl;dr Our responsibility is to master the skills required to fulfil the purpose of testing \ud83c\udfc6 This post was featured in Software Testing Weekly #96 This is part of my free testing course, focused on teaching you the fundamentals of testing \ud83d\ude09 Theory Your responsibility as a tester is to\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/hector-j-rivas-V0OsHPIh4To-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/hector-j-rivas-V0OsHPIh4To-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/hector-j-rivas-V0OsHPIh4To-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/hector-j-rivas-V0OsHPIh4To-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/hector-j-rivas-V0OsHPIh4To-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4351,"url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-2\/","url_meta":{"origin":4379,"position":2},"title":"Testing is\u2026 (Concepts #2)","author":"Diogo Nunes","date":"18 October, 2021","format":false,"excerpt":"This is part of my free testing course, focused on teaching you the fundamentals of testing \ud83d\ude09 \ud83d\udd0e Investigation Testing uncovers information that enables better decisions. Noticing what everyone looks but no one sees. Looking for what is inconsistent or counter intuitive. Finding problems before they happen or become critical.\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg?fit=1200%2C798&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg?fit=1200%2C798&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg?fit=1200%2C798&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg?fit=1200%2C798&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/holly-mandarich-UVyOfX3v0Ls-unsplash.jpg?fit=1200%2C798&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4328,"url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-1\/","url_meta":{"origin":4379,"position":3},"title":"Testing&#8217;s purpose (Concepts #1)","author":"Diogo Nunes","date":"11 October, 2021","format":false,"excerpt":"tl;dr Testing\u2019s purpose is to measure and maximise quality delivered, while minimising risk to an acceptable level. This post is part of my free testing course, focused on teaching you the fundamentals of testing. Until the end of the year, expect a new blog post every Monday. :) Theory Are\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/fallon-michael-VUWDlBXGogg-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/fallon-michael-VUWDlBXGogg-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/fallon-michael-VUWDlBXGogg-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/fallon-michael-VUWDlBXGogg-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/fallon-michael-VUWDlBXGogg-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4352,"url":"https:\/\/www.diogonunes.com\/blog\/testing-concepts-3\/","url_meta":{"origin":4379,"position":4},"title":"Testing is not just\u2026 (Concepts #3)","author":"Diogo Nunes","date":"25 October, 2021","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #95 and Coding JAG #60 This is part of my free testing course, focused on teaching you the fundamentals of testing \ud83d\ude09 \ud83e\udd16 Automation Much of what we find as testers comes off-script and high-value unknowns are found by letting humans\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/lenny-kuhne-jHZ70nRk7Ns-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/lenny-kuhne-jHZ70nRk7Ns-unsplash.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/lenny-kuhne-jHZ70nRk7Ns-unsplash.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/lenny-kuhne-jHZ70nRk7Ns-unsplash.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2021\/10\/lenny-kuhne-jHZ70nRk7Ns-unsplash.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2546,"url":"https:\/\/www.diogonunes.com\/blog\/tests-that-support-the-team\/","url_meta":{"origin":4379,"position":5},"title":"Testing for agile teams: Tests that support the team (#4)","author":"Diogo Nunes","date":"13 February, 2017","format":false,"excerpt":"This post is part of the \"Testing for Agile Teams\" series. Technology-Facing Tests (Q1) Strive to make time to test more complex scenarios and edge cases. TDD means writing a test that captures the behavior of a tiny bit of code and then working the code until the test passes.\u2026","rel":"","context":"In &quot;Work&quot;","block_context":{"text":"Work","link":"https:\/\/www.diogonunes.com\/blog\/category\/work\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2016\/03\/Agile-Testing-Book-Part-5.jpg?fit=489%2C340&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/4379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/comments?post=4379"}],"version-history":[{"count":3,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/4379\/revisions"}],"predecessor-version":[{"id":4436,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/4379\/revisions\/4436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media\/4381"}],"wp:attachment":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media?parent=4379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/categories?post=4379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/tags?post=4379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}