{"id":108,"date":"2015-06-09T05:08:39","date_gmt":"2015-06-09T05:08:39","guid":{"rendered":"http:\/\/futureoftesting.net\/?p=108"},"modified":"2015-06-09T05:12:04","modified_gmt":"2015-06-09T05:12:04","slug":"108","status":"publish","type":"post","link":"https:\/\/futureoftesting.net\/?p=108","title":{"rendered":"Testers and Developers"},"content":{"rendered":"<p>I started a new job today.  It doesn\u2019t involve robots (yet!) but it\u2019s about setting up a testing lab to make sure the various devices we interact with work correctly with our products.  The lead developer and I went to lunch today to discuss his plans for the team.<br \/>\nHe\u2019s very excited to have a professional tester on the team finally because he believes, as I do, that testers have a different mindset than the developers have.  I agree with him completely.  Testers want to \u201cbreak\u201d the code.  They are curious to see what will happen when ___.  Developers tend to want the code \u201cto work.\u201d  Testers try entering invalid data or click the buttons out of order, Developers typically test the \u201chappy path.\u201d<br \/>\nThere\u2019s nothing wrong with these two viewpoints but we need to acknowledge them as different.  And we need to realize that we are both working on the same team, it&#8217;s not Testers <i>vs<\/i> Developers.  It should be that we&#8217;re both fighting the defects that will hurt\/annoy\/anger our customers.<br \/>\nWe agreed on that.  But, what he said next, really floored me, at first.  He said he was thinking about bringing in some computer science majors as college interns.  He wants them to test some basic\/UAT kinds of tests and see if they want to continue with the company as developers.  WHAT?!  This seems diametrically opposed to what he claimed earlier about the mindsets being different.  He asked me about my thoughts on this and I told him it seemed counter to his goals of having testers.<br \/>\nHe defended his position by saying that Test Driven Development works better if the developers understand the idea of testing to begin with.  He said he\u2019s found the best way to teach testing is to have the \u201cstudents\u201d do it.  I agreed with that.  When I teach testing courses, one of the things we look at is the airport parking cost tool at Grand Rapids airport.  <a href=\"http:\/\/www.grr.org\/ParkCalc.php\" title=\"http:\/\/www.grr.org\/ParkCalc.php\" target=\"_blank\">http:\/\/www.grr.org\/ParkCalc.php<\/a>  In the class we brainstorm what the requirements likely were, then test the finished product based on those requirements.  We look at the site to find out what the rates are and manually calculate some of the prices, just to make sure the Calculator works correctly.<br \/>\nThe Calculator is a simple form with a pulldown to select the parking type and a couple boxes to enter the start and stop dates and times.  When you hit Submit, the Calculator should tell you how long you are staying at the airport and how much it will cost to park your car there.  If you\u2019re testing the Happy Path, all is good.<br \/>\nBut, if you\u2019re not\u2026 and you try February 30 as one of the dates, the Calculator accepts that and still performs the calculation.  Turns out the Calculator accepts a lot of crazy dates like \u20189999999\u2019 and \u2018-9999999\u2019 and 6\/8\/2015 and 2015\/06\/08 and \u201cdate\u201d.  Ack!  Turns out I\u2019m not the only one using this website.  There are testing competitions to find out who can find the largest or the smallest payment required.  Can anyone get a negative price?  And it turns out the calculation is not always correct in any case, a regular functional defect that may require a fair number of test cases to find the error.<br \/>\nIn this particular example, the fact that the Calculator is wrong is more amusing than problematic.  But, what if the Calculator fed it\u2019s number into a charge card or accounting process?  Now would we care?  You betcha!<br \/>\nSo, I\u2019m all for training folks to be testers.  I\u2019m all about showing Developers why testing matters and how they can be \u201cmore robust\u201d in their efforts.  And let\u2019s face it, if the Developers are doing the testing and they get the idea that the same test with differing values and boundary conditions might be useful, they might start to think of testing as cyclic and that might make them think of loops and that might lead them to build some interesting tools to allow us to try a larger variety of tests than we typically do now.  And I\u2019m definitely all for that!<br \/>\nEspecially once the robots start getting built!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I started a new job today. It doesn\u2019t involve robots (yet!) but it\u2019s about setting up a testing lab to make sure the various devices we interact with work correctly with our products. The lead developer and I went to lunch today to discuss his plans for the team. He\u2019s very excited to have a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,6],"tags":[],"_links":{"self":[{"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/posts\/108"}],"collection":[{"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=108"}],"version-history":[{"count":3,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/posts\/108\/revisions"}],"predecessor-version":[{"id":111,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=\/wp\/v2\/posts\/108\/revisions\/111"}],"wp:attachment":[{"href":"https:\/\/futureoftesting.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/futureoftesting.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}