{"id":137,"date":"2010-05-05T11:45:55","date_gmt":"2010-05-05T18:45:55","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=137"},"modified":"2010-05-05T11:45:55","modified_gmt":"2010-05-05T18:45:55","slug":"peering-into-the-white-box","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/peering-into-the-white-box\/","title":{"rendered":"Peering into the white box"},"content":{"rendered":"<p>In a conversation last week at STAR, someone was talking about how far testers should debug an issue. Personally, I don\u2019t like it when testers only report the surface of the bug, and I think good testers always dig a little deeper to see what other more interesting issues may be lurking a layer or two below. It can certainly be a bit of a time sink, however, if testers investigate every single bug to the line of code causing the problem. The interesting comment I heard in this particular conversation was the statement that \u201ctesters should <u>never<\/u> look at the code\u201d. The points I heard in defense were all in line with the cons of white box testing \u2013 e.g. \u201ctesters need to focus on the customer experience, and looking at code \u2018taints\u2019 this focus\u201d, or \u201cit moves tester focus to non-essential testing\u201d, etc. I, for the most part, agree, but I think there\u2019s a hidden (but real) value in applying the tester mind to looking at product source code.<\/p>\n<p>In my experience, testers are excellent code reviewers, and think testers should be involved in code reviews much more often than they are today. If you think about it for a moment, it makes a lot of sense. It seems that every week, I read another article or blog post explaining why developers aren\u2019t good testers (\u201cthey only focus on the happy path\u201d, \u201cthey don\u2019t think of negative conditions\u201d, etc.). There are also numerous articles and experience reports about the value of code reviews for finding bugs earlier. <\/p>\n<p>Now, if you put 2 and 2 together, testers reviewing code must be a great way to find bugs early. When developers review code (and I\u2019ve watched them), they look for the basic general programming errors, but mostly verify that the code does what it\u2019s supposed to do. Testers, on the other hand, <em>question<\/em> the code \u2013 they ask \u201cunder what circumstance would this line of code <em>fail<\/em>?\u201d, or what-if questions like \u201cwhat if the input values were unexpectedly large?\u201d. Testers also think about how they would test the code \u2013 simply asking \u201chow would I test this\u201d often unveils more problems.<\/p>\n<p>I imagine that for some testers, finding bugs in code isn\u2019t as fun as spotting real product failures, but it sure seems to me that <em>some<\/em> testers reviewing <em>some<\/em> portion of the product code is a pretty darn good idea.<\/p>\n<p>I\u2019ll tell you how to get started next time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a conversation last week at STAR, someone was talking about how far testers should debug an issue. Personally, I don\u2019t like it when testers only report the surface of the bug, and I think good testers always dig a little deeper to see what other more interesting issues may be lurking a layer or&#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-137","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\/137","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=137"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/137\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}