{"id":200,"date":"2010-09-19T11:30:34","date_gmt":"2010-09-19T18:30:34","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=200"},"modified":"2010-09-19T11:38:42","modified_gmt":"2010-09-19T18:38:42","slug":"a-test-strategy-or-whatever-you-want-to-call-it","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/a-test-strategy-or-whatever-you-want-to-call-it\/","title":{"rendered":"A Test Strategy &ndash; or whatever you want to call it"},"content":{"rendered":"<p>I\u2019m in the middle of little project for work (one of many things I have going on these days), and I was reminded of the fact that we don\u2019t have anything close to a consistent language in testing. It\u2019s nothing new \u2013 I <a href=\"http:\/\/angryweasel.com\/blog\/?p=132\" target=\"_blank\">blogged about this subject before<\/a>, but I still don\u2019t have a reasonable solution. I sometimes convince myself that one advantage of certification is building a base of common terminology, but I never convince myself that certification is the right answer.<\/p>\n<p>So, the project I\u2019m working on is sort of a \u201ctest strategy\u201d \u2013 but I\u2019m pretty sure my definition of test strategy is different than yours. Matt Heusser, for example, <a href=\"http:\/\/www.softwaretestpro.com\/Item\/4892\/A-test-strategy-example\/Software-Testing-Test-and-QA\" target=\"_blank\">recently blogged about test strategy<\/a> \u2013 but in my world of definitions, what Matt is describing is <em>test design \u2013 <\/em>but to be fair, he does call it \u201cdesigning a test strategy\u201d. Also \u2013 to be ultimately clear, there\u2019s nothing wrong with what Matt says, we just have different interpretations of what a test strategy is \u2013 no big deal.<\/p>\n<p>For me, a test strategy is a description of the general approach a team will take to testing over a product cycle. It describes a set of approaches and techniques a team will use, why those approaches are appropriate, and how they will benefit the team and product. I (in my definition) avoid details of implementation, and instead, use the strategy message to align a test team and get everyone on the same page with values, approaches, and areas of growth. I like to think of it as an explanation of&#160; \u201cwhy\u201d and \u201cwhat\u201d rather than \u201chow\u201d. I prefer to think of \u201chow\u201d as a minor implementation detail \u2013 we have smart people on the team, and they\u2019ll figure out the \u201chow\u201d when it\u2019s necessary. I\u2019ve approached test strategy this way for some time, and taught test strategy to a few hundred testers at Microsoft (in which I also emphasize that they are free to adapt to their own definition and context). I should also stress that while I\u2019m writing a document outlining our team strategy (or at least <em>my<\/em> thoughts on team strategy), that a document isn\u2019t required. An email, whiteboard, or even word of mouth may suffice depending on the situation.<\/p>\n<p>When thinking of a testing strategy, I consider improvements to both the product and the team to be critical. The testing needs to have enough meat and breadth to help build a quality product, but the strategy also needs to consider growth opportunities for the team (perhaps I should call my definition a <em>team testing strategy?<\/em>). To meet these goals, a strategy basically has a bunch of testing ideas (ideas include everything from approaches to processes to tools)&#160; \u2013 some are challenging, but all definitely achievable. Some ideas are part of the day-to-day workflow of the team, but the team doesn\u2019t address every single idea every day. Instead, the team bounces around between ideas as appropriate to the context of the product cycle, feedback, etc.Sometimes, owners are assigned to own ideas (or pieces of the strategy) throughout the product cycle, while other ideas cycle between team members. Over the product cycle, some ideas may be dropped, others will certainly be added, and if the strategy is successful, both the test team and product quality improve over time. This has worked for me in the past, and the approach has resonated with a lot of testers I\u2019ve talked to over the past several years, so I think it has legs. We\u2019ll have to wait and see how it works in my team\u2019s next product cycle \u2013 but I\u2019m bound to keep you posted.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m in the middle of little project for work (one of many things I have going on these days), and I was reminded of the fact that we don\u2019t have anything close to a consistent language in testing. It\u2019s nothing new \u2013 I blogged about this subject before, but I still don\u2019t have a reasonable&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-200","post","type-post","status-publish","format-standard","hentry","category-allposts"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}