{"id":991,"date":"2016-07-14T20:29:08","date_gmt":"2016-07-15T03:29:08","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=991"},"modified":"2016-07-14T20:29:08","modified_gmt":"2016-07-15T03:29:08","slug":"the-a-word-returns-sort-of","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/the-a-word-returns-sort-of\/","title":{"rendered":"The A Word returns (sort of)"},"content":{"rendered":"<p>Chris McMahon, who has always impressed me with his words and his wit <a href=\"http:\/\/chrismcmahonsblog.blogspot.com\/2016\/07\/open-letter-to-cdt-test-automation.html\">called me out<\/a> in his blog.<\/p>\n<p>Specifically:<\/p>\n<blockquote>\n<p>Apropos of <a href=\"http:\/\/chrismcmahonsblog.blogspot.com\/2016\/06\/reviewing-context-driven-approach-to.html\">my criticism of &#8220;Context Driven Approach to Automation in Testing&#8221;<\/a> (I reviewed version 1.04), I ask you to join me in condemning publicly both the tone and the substance of that paper.<\/p>\n<\/blockquote>\n<p>Almost exactly a year ago, I reviewed a draft of the paper, and my name is among those listed as reviewing the paper. The feedback I gave was largely editorial (typos and flow), with a few comments about approach that I\u2019ll repeat here:<\/p>\n<p>The first red flag I called out (and will call out again here) is the phrase that describes test automation as something to \u201cautomate testing by automating the user\u201d. This is a shallow view of test automation, but other than comment, I didn\u2019t push hard on it. In hindsight, this was a mistake (much of <a href=\"http:\/\/leanpub.com\/TheAWord\">The A Word<\/a> touches on this topic).<\/p>\n<p>In regards to the scenario the authors chose for scenario automation, I thought the choice was weird, and asked for more\u2026context and provided some food for thought.<\/p>\n<blockquote>\n<p>I think you can add even more emphasis to how and why you chose to automate scene creation. Too many times, testers choose to automate because they <u>can<\/u> automate. The thought process (for me) may be, \u201cThe scene feature is pretty important, I\u2019m curious what happens if an author has thousands of scenes. Will it cause performance problems, formatting problems, file load problems, or other issues, etc. There\u2019s no way in hell I want to do this manually, so let me write some code to help me run my experiment\u201d.&nbsp; You may also want to discuss alternate implementation ideas \u2013 e.g. creating a macro in Notepad++ to create the text then paste it in, or creating a macro in Word for the same, or using for in a windows console (e.g. for \/L %f in (1,1,1000) do echo &#8220;##&#8221;&gt;&gt;output.txt&amp;echo &#8220;Scene %f&#8221;&gt;&gt;output.txt ). Using tools for creating and manipulating data could be a whole article.<\/p>\n<\/blockquote>\n<p>And that led to my real beef with the paper. It talks about using tools to test \u2013 which can be a good thing, but it doesn\u2019t really talk about automation in the way successful teams actually use it. <\/p>\n<blockquote>\n<p>I think it may be important to talk about purposes of automation and where to apply it \u2013 or at least one context of that \u2013 as I don\u2019t think that\u2019s discussed enough (but I\u2019ve made a note to myself to write a blog on this very subject). At a BFC (big company) like Microsoft, we write a lot of <i>shared \/ distributed<\/i> automation \u2013 automated tests that we need to run on a lot of different hardware\/platform configurations in some sort of lab setting (tools like SauceLabs or BrowserStack are helpful here). Web apps are famous for this [problem].<\/p>\n<\/blockquote>\n<p>I also commented: <\/p>\n<blockquote>\n<p>The <i>other<\/i> kind of automation (which you cover in your article) is what I sometimes call exploratory automation (or more often, just \u201cTesting\u201d). This is where we get a test idea, and want to write some quick automation to help learn about the product. While we may turn this sort of test into something that\u2019s distributed \/ shared someday, its primary purpose is to help me answer questions and learn. There\u2019s (another) story in HWTSAM where I described a case of this. I wrote really ugly brute force automation in C (using things like FindWindow and SendMessage(LBUTTON_DOWN\u2026) to simulate opening and closing a connection to a remote host many times (the only thing this app did). It found a nice memory leak that may not have been found otherwise (or at least not as quickly).<\/p>\n<\/blockquote>\n<p>All of this feedback fed my uber-point, which was that while the article talked about test automation, the examples <em>really <\/em>just talked about using somewhat random tools to help the authors explore or test some software. There was nothing about strategy, or about more typical use of test automation. I asked about it in a comment: <\/p>\n<blockquote>\n<p>I wonder why you don\u2019t use the word \u201cTools\u201d in the title \u2013 e.g. \u201cA CDT approach to tools and automation in testing\u201d or something like that.<\/p>\n<\/blockquote>\n<p>\u2026because the paper is about, as I said above, using non-standard tools to help test. Sure, it\u2019s automation in a sense, but nothing in the paper reflects the way test automation is used successfully in thousands of successful products. <\/p>\n<p>All that said, <strong>I do not support this paper as a description of good test automation<\/strong>, and I think it\u2019s an inappropriate method for anyone to learn about how to write automation. Chris requested that the authors remove the paper; while I support this, and do believe that the paper can cause more harm than good, there\u2019s so much bad advice on the internet about creating software, that removing this one piece of bad advice will hardly make a dent. <\/p>\n<p>I did not realize my name was listed as a reviewer, and although I did (as admitted above) review this paper, I do not want my name associated with it, and will request that the authors remove my name.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chris McMahon, who has always impressed me with his words and his wit called me out in his blog. Specifically: Apropos of my criticism of &#8220;Context Driven Approach to Automation in Testing&#8221; (I reviewed version 1.04), I ask you to join me in condemning publicly both the tone and the substance of that paper. Almost&#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":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":[1],"tags":[],"class_list":["post-991","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\/991","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=991"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/991\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}