{"id":315,"date":"2016-02-10T16:20:13","date_gmt":"2016-02-10T15:20:13","guid":{"rendered":"http:\/\/oso.com.pl\/?p=315"},"modified":"2016-02-10T16:20:13","modified_gmt":"2016-02-10T15:20:13","slug":"tester-toolbox-101-developers","status":"publish","type":"post","link":"https:\/\/oso.com.pl\/?p=315&lang=en","title":{"rendered":"Tester toolbox 101 &#8211; Developers"},"content":{"rendered":"<p><a href=\"http:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers.jpg\" rel=\"attachment wp-att-447\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"447\" data-permalink=\"https:\/\/oso.com.pl\/?attachment_id=447\" data-orig-file=\"https:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers.jpg\" data-orig-size=\"620,332\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"developers\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers.jpg\" class=\"aligncenter wp-image-447 size-full\" src=\"http:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers.jpg\" alt=\"developers\" width=\"620\" height=\"332\" srcset=\"https:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers.jpg 620w, https:\/\/oso.com.pl\/wp-content\/uploads\/2015\/11\/developers-300x161.jpg 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/a>I like the developer-tester tension as much as the next\u00a0person. I think it can be healthy, fun, and lead to improved\u00a0quality: a\u00a0prudent tester would make sure to have developers &#8222;in their toolbox&#8221;.<\/p>\n<p>As with any other tool,\u00a0it is important to know:<\/p>\n<ol>\n<li>How is it used? What benefits do I get from getting developers&#8217; assistance\u00a0in this context? Why would I want to ask for it?<\/li>\n<li>When to use it? What is the right time to ask?<\/li>\n<\/ol>\n<h3>Why would you ask for help?<\/h3>\n<ul>\n<li><strong>To learn<\/strong><\/li>\n<\/ul>\n<p>Developers wrote the software you are testing, after all. So you can at least hope they know <a href=\"https:\/\/devhumor.com\/content\/uploads\/\/images\/September2014\/programmermeme2.jpg\" target=\"_blank\">how it works<\/a>. After all, you probably\u00a0want to know how the thing works? A\u00a0developer-friend would be happy to share their knowledge &#8211; not only on how they coded this or that module, but also on development in general, engineering, also on\u00a0other subjects (that&#8217;s how I learned about\u00a0the <a href=\"http:\/\/dapokeshack.com\/\" target=\"_blank\">best food in Hawai\u02bbi<\/a>).<\/p>\n<p>A great developer would be also happy to hear your feedback on their software. And in return give you hints on how to test it better.<\/p>\n<ul>\n<li><strong>To build tools<\/strong><\/li>\n<\/ul>\n<p>You can try writing all your tools yourself. OR you could get help: have\u00a0your code reviewed, or get fresh ideas. If you are lucky you may even have tools built for you.<\/p>\n<ul>\n<li><strong>To\u00a0enjoy<\/strong><\/li>\n<\/ul>\n<p>It is great to make new friends, and celebrate success together. If you do not agree, I hope you at least like to learn (two bullet points\u00a0up).<\/p>\n<h3>What is the right time to\u00a0reach out?<\/h3>\n<ul>\n<li><strong>When you are stuck<\/strong><\/li>\n<\/ul>\n<p>Asking for another person&#8217;s opinion is one of the best ways I know to get unstuck. They may come up with a fresh idea, or at least listen so that you can organize your thoughts.<\/p>\n<ul>\n<li><strong>When you need validation of your work<\/strong><\/li>\n<\/ul>\n<p>Unsure whether what you are doing is the right thing? Or maybe you did something awesome and want to share? Both are great\u00a0opportunities to talk to your developers.<\/p>\n<ul>\n<li><strong>Choose your timing<\/strong><\/li>\n<\/ul>\n<p>Engineers tend to <a href=\"http:\/\/programmers.stackexchange.com\/questions\/46252\/how-to-explain-a-layperson-why-a-developer-should-not-be-interrupted-while-neck\" target=\"_blank\">work best when they are &#8222;in the zone&#8221;<\/a>. You do not want to break their focus, nobody likes it. If you see a busy developer &#8211; do not interrupt with your questions. Also when they are\u00a0glaring into the distance (looking for inspiration), reading, sleeping&#8230; unless you know exactly when is the right time to approach this specific person\u00a0&#8211; best is not to interrupt them at all.<\/p>\n<p>Managing interruptions is probably part of your work environment\u00a0culture. Some allow asynchronous requests (calendar invite, email, IM). Others use <a href=\"http:\/\/theheadphonesrule.com\/\" target=\"_blank\">the headphones rule<\/a>\u00a0or some other sign that people are open to interaction.<\/p>\n<ul>\n<li><strong>Do your homework first<\/strong><\/li>\n<\/ul>\n<p>If you have not googled the solution to your problem, or have not checked the internal issue database &#8211; do it before approaching others with ask for help. Otherwise the answer you might\u00a0get is an\u00a0<a href=\"http:\/\/lmgtfy.com\/\" target=\"_blank\">lmgtfy.com<\/a> link, and\u00a0a lazy person&#8217;s reputation.<\/p>\n<p>My rule of thumb is I set a time limit for myself to solve a problem. If I still have not solved it by then, I spend a little extra time to push myself before reaching out for help. This approach may not work in every case, and estimating the correct\u00a0amount of time is hard. But when I do it,\u00a0I use this extra effort to try to learn something new. Even if it does not lead to the solution, I don&#8217;t count it as wasted.<\/p>\n<h3>How do you get along with developers, then?<\/h3>\n<p>I know what <strong>does not work<\/strong>:<\/p>\n<ul>\n<li>&#8222;Us&#8221; vs &#8222;Them&#8221; blame game &#8211; developing vs testing software is not a\u00a0zero-sum game. Start thinking about the <a href=\"https:\/\/www.mountaingoatsoftware.com\/agile\/scrum\/team\" target=\"_blank\">development team<\/a> as the unit that delivers value, and you are more\u00a0likely to help each other. You are all in the same boat, after all. So don&#8217;t waste time trying to blame this or that person for not catching the bug, or for introducing it. That does not mean you should not do\u00a0<a href=\"http:\/\/www.brighthubpm.com\/project-planning\/57124-overview-of-root-cause-analysis-techniques\/\" target=\"_blank\">Root Cause Analysis<\/a> &#8211; you absolutely should, and use it to learn from your mistakes. But not to finger point.<\/li>\n<li>&#8222;Quality Police&#8221; approach &#8211; if a development team ships a buggy product you all loose. But if you don&#8217;t ship at all, you loose, too. The customer is unhappy in both cases &#8211; either they got broken product, or they got nothing at all. Focus on delivering value and try finding ways to move things forward.<\/li>\n<\/ul>\n<p><strong>What works<\/strong>:<\/p>\n<ul>\n<li>Cover the basics &#8211; do your job. It may sound trivial, but I have seen many times when a poorly written bug report led to unnecessary back-and-forth between developers and testers. So if you bug reports have to contain certain information (environment, reproducibility rate etc.) &#8211; make sure you always give it.<\/li>\n<li>Find great bugs &#8211; everybody\u00a0loves these. Interesting bugs are a signal that you care, that you spend time and energy testing others&#8217; hard work.<\/li>\n<li>Learn and respond to change &#8211; be flexible, be agile, adapt.<\/li>\n<li>Small gestures like\u00a0bake a cake, bring cookies, get some cool stickers&#8230; whatever makes your developers happy.<\/li>\n<\/ul>\n<p>I hope\u00a0you find this post useful. I would love to hear your opinions on\u00a0this topic. Do leave a comment if you agree or not.<\/p>\n<h3>TL;DR<\/h3>\n<blockquote><p>I am a nice tester, not a mindless bug reporting\u00a0machine. If I am to change this image, I must first change myself. Developers\u00a0are friends, not defect producers.<\/p>\n<p><a href=\"http:\/\/www.imdb.com\/title\/tt0266543\/quotes?item=qt0396991\" target=\"_blank\">Bruce, the <del>shark<\/del> tester<\/a><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>I like the developer-tester tension as much as the next\u00a0person. I think it can be healthy, fun, and lead to improved\u00a0quality: a\u00a0prudent tester would make sure to have developers &#8222;in their toolbox&#8221;. As with any other tool,\u00a0it is important to know: How is it used? What benefits do I get from getting developers&#8217; assistance\u00a0in this &hellip; <a href=\"https:\/\/oso.com.pl\/?p=315&#038;lang=en\" class=\"more-link\">Czytaj dalej<span class=\"screen-reader-text\"> \u201eTester toolbox 101 &#8211; Developers\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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":"Tester toolbox 101 - Developers","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[20],"tags":[23,24],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-testing","tag-testing","tag-tools"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p217OK-55","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oso.com.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=315"}],"version-history":[{"count":19,"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":465,"href":"https:\/\/oso.com.pl\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions\/465"}],"wp:attachment":[{"href":"https:\/\/oso.com.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oso.com.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oso.com.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}