{"id":7,"date":"2012-05-15T19:25:23","date_gmt":"2012-05-15T23:25:23","guid":{"rendered":"http:\/\/www.bobzeen.com\/blog\/?p=7"},"modified":"2021-04-30T15:58:56","modified_gmt":"2021-04-30T19:58:56","slug":"shoulds-and-shouldnts","status":"publish","type":"post","link":"https:\/\/www.bobzeen.com\/blog\/shoulds-and-shouldnts\/","title":{"rendered":"Shoulds and Shouldn&#8217;ts"},"content":{"rendered":"<p>Don&#8217;t you hate it when people say that you &#8220;should do this&#8221; and &#8220;shouldn&#8217;t do that&#8221;? I do, especially when they are saying it in a Requirements Document. \u201cShould\u201d can mean a lot of things, but it doesn\u2019t mean \u201crequire.\u201d<!--more--> There is nothing worse for a tester than not knowing if a function *must* be present or not. Instead of \u201cshould,\u201d I\u2019d much rather hear \u201cmust do this\u201d and \u201cmust not do that.\u201d<\/p>\n<p>Words like &#8220;should&#8221; leave testers hanging under a cloud of uncertainty\u2014you don&#8217;t know if it was intended as a &#8220;must&#8221; or as a &#8220;nice-to-have.&#8221; Words like \u201cshould\u201d are begging to be ignored, and you don\u2019t have to beg much to be ignored by a programmer (meant in a nice way).<\/p>\n<p>If you have done your job and traced all of the testscript steps back to the Requirements Document, then you know how troublesome \u201cshoulds\u201d can become. Do you include &#8220;shoulds&#8221; and &#8220;should-nots&#8221; in a testscript? If you are lazy like most smart people (slightly kidding), then of course not! Why bother including a &#8220;should&#8221; statement that\u2019s begging to be ignored? The programmers probably left it out of the functionality anyway.<\/p>\n<p>The point of this semantical shibboleth: Make sure every Requirements statement will map to a piece of functionality that must be present, and will map to a testscript that you can mark with a definitive \u201cpass\u201d or \u201cfail.\u201d The takeaway requirement from this entry: You Must Not Say Should.<\/p>\n<p><span style=\"font-size: .8em; line-height: .85em;\"><a href=\"http:\/\/www.bobzeen.com\/blog\/contact\/\">Contact Form<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Don&#8217;t you hate it when people say that you &#8220;should do this&#8221; and &#8220;shouldn&#8217;t do that&#8221;? I do, especially when they are saying it in a Requirements Document. \u201cShould\u201d can mean a lot of things, but it doesn\u2019t mean \u201crequire.\u201d<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5,4],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-quality-assurance","tag-software-testing"],"_links":{"self":[{"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":7,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":1674,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/posts\/7\/revisions\/1674"}],"wp:attachment":[{"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/media?parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/categories?post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bobzeen.com\/blog\/wp-json\/wp\/v2\/tags?post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}