{"id":742,"date":"2013-12-10T11:49:00","date_gmt":"2013-12-10T19:49:00","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=742"},"modified":"2013-12-10T11:49:01","modified_gmt":"2013-12-10T19:49:01","slug":"hwtsamfive-years-later","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/hwtsamfive-years-later\/","title":{"rendered":"HWTSAM&ndash;Five Years Later"},"content":{"rendered":"<p>Five years ago this week, How We Test Software at Microsoft hit the shelves. The book has done well \u2013 both in sales, and in telling the story of how Microsoft approaches software testing.<\/p>\n<p>An unfortunate aspect of writing a book like this is that after five years, most of the book is obsolete. Sure, there are some nuggets that stand the test of time, but so much has changed \u2013 and is changing, that it\u2019s hard for me to recommend much of it as practicum. I don\u2019t know if a new version is warranted \u2013 or necessary, but you never know what will happen. <\/p>\n<p>To be clear, I\u2019m still proud of the book, and think it has a lot of great ideas that will help many companies \u2013 it\u2019s just not an accurate reflection of how Microsoft tests software. Here\u2019s a section by section recap \/ overview of what\u2019s changed\u2026.<\/p>\n<h4>The New World<\/h4>\n<h5>Section 1 \u2013 About the Company<\/h5>\n<p>Now that we\u2019re a Devices and Services company, the description of our product groups is flat out wrong. Beyond that, our organizations are much different \u2013 our test dev ratios are changing (from nearly 1:1 at the time of writing to nearly 2:1 dev:test today). <\/p>\n<p>Five years ago, a few teams used adaptive (agile) engineering approaches, whereas now, nearly every team in the company is using or experimenting with some flavor of adaptive development. We ship almost everything faster. Testers are moving to analysis of end-to-end scenarios and data analysis, while \u201ctraditional\u201d functional testing is moving (where it belongs), to the programmers. The career path examples we showed in the book have all changed \u2013 and will likely change again as the company continues to adapt and grow.<\/p>\n<h5><\/h5>\n<h5>Section 2 \u2013 About Testing<\/h5>\n<p>The techniques described in the about testing section are all still relevant (although these days, I could easily increase the chapter on test design by about 50 pages and keep it full of good ideas). What\u2019s changed most (and what will continue to change) is how much of the activities in this section are carried out by developers (and how much <em>more<\/em> of will be carried out by the developers in the coming years. <\/p>\n<p>I\u2019m still particularly happy with the chapter on Model-Based Testing (and thanks to Michael Corning and Harry Robinson for their help with the ideas for this chapter).<\/p>\n<h5>Section 3 \u2013 Test Tools and Systems<\/h5>\n<p>The section on bug reports is good \u2013 as long as you have the need to track bugs formally. Many teams can (and do) get by with fixing bugs as they find them \u2013 with no need to document the bug. I\u2019ve also become even less of a fan of tracking test cases, but the examples are probably still valuable for those who need to do this.<\/p>\n<p>It\u2019s hard to believe that five years ago, I failed to recognize the critical relationship between test automation and test design (they\u2019re in different chapters!). Although the technical information is correct, I would like to take <a href=\"http:\/\/leanpub.com\/theaword\" target=\"_blank\">The A Word<\/a> and shove it into chapter 10 as an addendum.<\/p>\n<p>The customer feedback systems I wrote about have expanded massively \u2013 and are much more of a focal point these days \u2013 both in the data we gather, and how we use it. <\/p>\n<p>And finally (for this section), what blows me away is how much different our approach is to testing web services. I don\u2019t think Ken will be mad if reveal that this chapter is embarrassingly obsolete. This isn\u2019t because what we were doing then was bad\u2026it\u2019s just that we\u2019ve grown so much in our approaches here that our five-year old processes seem obsolete in comparison.<\/p>\n<h5>Section 4 \u2013 About the Future<\/h5>\n<p>I suppose this section is still relevant&nbsp; &#8211; and most of the future as I saw it in 2008 is reality today (although much of this section, in hindsight, could have been better written.<\/p>\n<h4><\/h4>\n<h4>Next?<\/h4>\n<p>In a perfect world, I\u2019d write another HWTSAM. Maybe someday, I will, but it\u2019s not on the roadmap for today. There are too many big changes coming (both planned by MS, and spinning in my head) for me to put a stake in the ground. Or maybe, software is changing so much that trying to capture how a company does it at a point in time is impossible. I\u2019ll need to think about it.<\/p>\n<p>For those of you who bought (and read) HWTSAM \u2013 thank you. There\u2019s still some good stuff there, but read it with a grain of salt (or at least from a lens knowledgeable that it\u2019s a half-decade old book).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Five years ago this week, How We Test Software at Microsoft hit the shelves. The book has done well \u2013 both in sales, and in telling the story of how Microsoft approaches software testing. An unfortunate aspect of writing a book like this is that after five years, most of the book is obsolete. Sure,&#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-742","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\/742","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=742"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/742\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}