{"id":299,"date":"2011-04-29T16:02:48","date_gmt":"2011-04-29T23:02:48","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=299"},"modified":"2011-04-29T16:29:06","modified_gmt":"2011-04-29T23:29:06","slug":"more-on-the-coding-tester","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/more-on-the-coding-tester\/","title":{"rendered":"More on the Coding Tester"},"content":{"rendered":"<p>Every day, it seems, I come across an article, a forum posting, a blog, or a tweet bemoaning the end-of-test-as-we-know-it because some company has hired \/ is hiring people with programming knowledge to become testers. I&#8217;ve written about coding-testers (<a href=\"http:\/\/angryweasel.com\/blog\/?p=286\">here<\/a>, and in other posts) before (as have many others that I&#8217;m too lazy to look up right now), and I think most folks recognize that \/in some situations\/, having testers who code is an advantage.<\/p>\n<p>It\u2019s important to note that the role of a coder-tester is NOT to automate everything (everyone knows that you should automate 100% of the tests that <em>should <\/em>be automated). Writing automation is <span style=\"text-decoration: underline;\">one<\/span> task of a coding tester, but certainly not the primary focus (yes, I know that in some companies, automation \u201cexperts\u201d only write automated tests. In my opinion, these people are not really testers, so they don\u2019t count).<\/p>\n<p>I, my colleagues, and many of the best testers I know are good testers first (well, at least my colleagues are), but have programming chops that they can use to solve difficult testing problems. Automating a bunch of rote tasks (assuming robustness, accuracy of the verification, maintainability, and numerous other attributes) <em>may<\/em> be a difficult testing problem, but it&#8217;s just <em>one<\/em> testing problem. Good testers simply use the tools in their toolbox to solve the problems and challenges they run into.<\/p>\n<p>My head isn&#8217;t in the sand though &#8211; I know that there are a lot of people hiring testers out there who are thinking, &#8220;I want to hire a bunch of coders to do my testing, because then they can automate <span style=\"text-decoration: underline;\">everything!<\/span>).&#8221; That, of course, is stupid, and I&#8217;m sorry that situation exists. If you run into these folks, feel free to send them my way, and I&#8217;ll be happy to explain a thousand other ways programming knowledge can help someone be a better tester, and why attempting to blindly automate everything is pure idiocy.<\/p>\n<p>To be clear, I do <em><strong>not<\/strong><\/em> think that all testers need to have a computer science degree (remember, I have a graduate degree in music composition). I also don&#8217;t think testers <strong><em>must<\/em><\/strong> be able to program. It depends completely on what you want <a href=\"http:\/\/angryweasel.com\/blog\/?p=298\">testers in your organization to do<\/a>. It&#8217;s certainly possible to do great testing without using any programming skills &#8211; you just need to think about the role you want testers to perform (or what you want to call <em>testing<\/em>), and hire the people who fit that role.<\/p>\n<p>On the other hand, I find it a bit silly to think that just because someone knows how to program, that they are somehow &#8220;tainted&#8221;, and will be unable to look at a program from the proper &#8220;tester angle&#8221; because they have a notion of how the stuff under the hood actually works. I&#8217;ve worked with a hundreds of testers who can code, and hundreds more who could not. In fifteen years of working with testers from both camps, I&#8217;ve seen no correlation of increased customer empathy or testing talent emerge from either camp. My study is only anecdotal, so if there are specific studies in this area, please point me to them.<\/p>\n<p>A final thing to remember for anyone who thinks they&#8217;re somehow closer to the customer due their background (or lack of a background) is that <span style=\"text-decoration: underline;\">you are not the customer<\/span>. It doesn\u2019t matter if you&#8217;re a former bank CEO testing a financial suite \u2013 you\u2019re still not the customer. I think it\u2019s critical to use whatever means you have to <em>learn <\/em>about the customer, or to <em>understand<\/em> the customer, but you will never<em> be<\/em> the customer. Regardless of the skills you (don\u2019t) have.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every day, it seems, I come across an article, a forum posting, a blog, or a tweet bemoaning the end-of-test-as-we-know-it because some company has hired \/ is hiring people with programming knowledge to become testers. I&#8217;ve written about coding-testers (here, and in other posts) before (as have many others that I&#8217;m too lazy to look&#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-299","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\/299","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=299"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/299\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}