{"id":182,"date":"2010-08-29T09:14:36","date_gmt":"2010-08-29T16:14:36","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=182"},"modified":"2010-08-29T12:24:40","modified_gmt":"2010-08-29T19:24:40","slug":"will-we-survive-the-future-of-software","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/will-we-survive-the-future-of-software\/","title":{"rendered":"Will we survive the future of software?"},"content":{"rendered":"<p>I\u2019ve been thinking about writing this post for years, but have had it floating around between my head and a draft for the last few months. I\u2019ve held on to the post because even though it\u2019s not my intent, I\u2019m probably going to piss off someone who takes my points the wrong way or misinterprets what I say.I\u2019m still not sure where I\u2019m going with it, but I need to try to get these thoughts out sometime, and now is as good of a time as any.<\/p>\n<p><strong>I\u2019m worried about the future of software testing<\/strong>. To be fair, I\u2019m probably as much to blame as others, but I\u2019m so bothered about this that I\u2019m actually beginning to get a bit depressed. But I suppose I should explain myself before I rant any more \u2013 so let\u2019s start with the <em>current<\/em> state of software testing.<\/p>\n<p>But before <em>that<\/em> (and in the hope of diffusing the hard message a bit), let me say that I\u2019m quite happy with what\u2019s been happening in software testing recently. The \u201cvoice\u201d of software testing is gaining momentum, and there are many active participants in discussing the basics of software testing so that the new crop of testers has a strong base of knowledge for the future. We have brilliant people emerging in the world of software testing, and I <span style=\"text-decoration: underline;\">love<\/span> the passion they have for the craft. It\u2019s great to see so many testers online discussing their experiences and working hard to hone their skills. But we\u2019re still talking about the same stuff testers were talking about ten years ago. The testing community is abuzz with discussions about basic tester skills, basic automation approaches and basic approaches to measurement. The discussions are lively, and people are learning \u2013 but they\u2019re learning the same things testers were learning last year, the year before that, and the year before that. I like presenting and attending conferences like STAR and other similar conferences \u2013 but those conferences are targeted at <em>new<\/em> testers, and talk topics are dominated by the same things topics that have been around for years. I checked out the STAR conference proceedings from ten years ago (<a href=\"http:\/\/replay.waybackmachine.org\/20010601181253\/http:\/\/www.sqe.com\/products\/conferences\/archive\/se2000\/\" target=\"_blank\">you can look too<\/a>), and it looks remarkably similar to <em>this<\/em> years conference. In some cases, the arguments and points are more refined than ten years ago, but a remarkable number of those talks could just as easily show up on any conference program this year.<\/p>\n<p>The state of the art in software testing will go nowhere if we never look beyond the basics. Highlighting flaws in simple applications written by the IT department of a small company (or parking garage) is interesting, and it develops basic skills, but it does nothing to help us understand better ways to test huge interconnected systems or services under constant load. The future software systems shown in many science fiction movies may never come to light \u2013 and it won\u2019t be because of technology or cost factors \u2013 it will be because we won\u2019t know how to test these systems adequately.<\/p>\n<p>One way to view the current body of knowledge in software testing something like the triangle below. At the bottom of the triangle is the \u201c101\u201d level of software testing. <span style=\"text-decoration: underline;\">This is important stuff.<\/span> It\u2019s the basis of the\u00a0skills, approaches, and techniques\u00a0that are the core of software testing. My triangle is disproportionate, as his is probably where 99% of the software testers spend their time (ok \u2013 to be fair, some never even make it <em>on<\/em> to the triangle). The big problem here, as I said above, is that this <em>enables<\/em> the advancement of our future, but does little to\u00a0nothing to <em>help<\/em> the future.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;\" title=\"testing triangle\" src=\"http:\/\/angryweasel.com\/blog\/wp-content\/uploads\/2010\/08\/image1_thumb.png\" border=\"0\" alt=\"testing triangle\" width=\"323\" height=\"229\" \/><\/p>\n<p>The middle section of the triangle \u2013 new ideas and approaches do occur semi-frequently, but we more often than not view them as game-changers when the impact on the future is relatively minimal. Like the bottom section of the triangle, we <em><span style=\"text-decoration: underline;\">need<\/span><\/em>\u00a0 thinking in this area, but it\u2019s not going to take us where we need to go. The top section of the triangle contains the true game changers. The new thoughts (or more likely, thoughts and ideas from some other area applied to testing) that will bring us into a new era.<\/p>\n<p>Let me return to my worry (and a problem I mentioned above). My fear is this: <strong><em>The software testing we are doing today will be inadequate for the software of tomorrow<\/em><\/strong>. It doesn\u2019t matter how good we are at the basic skills, it won\u2019t be enough. What I fear is going to happen is that we will go ahead and create the software of tomorrow but we\u2019ll <em>try<\/em> to test it like we test software today. For example\u2019s sake, envision the systems of \u201cMinority Report\u201d \u2013 most of the pieces of technology in this movie have been demonstrated, but never with the flawless interconnection that Hollywood showed us, Do we have the skills and tools (and people) to test such a system today? Not. Even. Close.<\/p>\n<p>What I\u2019m afraid will happen, is that we\u2019ll eventually build a similar system, and we <em>will<\/em> try to test it with the tools, approaches, processes (and many of the people) who are testing software today.<\/p>\n<p>And there will be massive software failure, and <em>very<\/em> bad things will happen. At least then we may find enough <em>motivation<\/em> to advance the state of the art in testing.<\/p>\n<p>But we don\u2019t <em>have<\/em> to wait. If you\u2019ve take a reasonably close look at the software of <em>today<\/em> you know that we could use some innovation and advancement <strong><em><span style=\"text-decoration: underline;\">now<\/span><\/em><\/strong>. The <em>right<\/em> thing to do is to start moving beyond the basics and figure out how we can do better testing today. How do we test massively complex systems? How do we do so efficiently? Are the software testers of today the right people to test the software of the future?<\/p>\n<p>Moving up the triangle is a hard move to make. Testing consultants make their money in the bottom of the triangle, so why would they have any motivation to make a move outside of the cash flow? But it\u2019s not the consultant\u2019s fault either. The testing profession has a high enough turnover that there are a huge number of new testers every year looking to get their foothold in the bottom rung of that triangle. Also consider that most of the testers today aren\u2019t testing huge systems used by millions of users \u2013 they\u2019re testing one-off IT apps used by hundreds (or dozens) of people who don\u2019t care if the software has a few minor issues. There\u2019s no need (or time) for most of these testers to <em>ever<\/em> get out of the bottom rung of the triangle.<\/p>\n<p>It\u2019s vicious circle, but we have to find a way out.The future depends on it.<\/p>\n<p>I wish I could say that my next blog post will have all the answers. (it won\u2019t). Instead, I\u2019m going to continue to study, learn, and experiment. Somewhere out there is the knowledge that we\u2019ll need to survive the software of the future, and I want to be part of making that future software successful. I hope that some of you can help make it happen as well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve been thinking about writing this post for years, but have had it floating around between my head and a draft for the last few months. I\u2019ve held on to the post because even though it\u2019s not my intent, I\u2019m probably going to piss off someone who takes my points the wrong way or misinterprets&#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-182","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\/182","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=182"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}