|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/srakitin/OLD/newsletter/vol6/no6/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Food for Thought: Software Quality Assurance turns 50 - Part 3</title>
<link href="/newsletter/StyleSheet.css" rel="stylesheet" type="text/css">
</head>
<OpenTracking/>
<!-- Do NOT delete previous line if you want to get statistics on the number of opened emails -->
<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="center" valign="top">
<td colspan="2"><img src="/newsletter/images/FoodForThoughtLogo.gif" alt="Food for Thought" width="600" height="105"></td>
</tr>
<tr class="Reference">
<td align="left" valign="top"><p>An e-newsletter published by<br>
Software Quality Consulting, Inc. </p>
</td>
<td align="right" valign="top"><p>November 2009 , Vol. 6 No. 6 <br>
[<a href="/newsletter/vol6/no6/vol6no6.txt" target="_blank">Text-only Version</a>]</p>
</td>
</tr>
</table>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td align="left" valign="top">
<p>Welcome to <em><strong>Food for Thought™</strong></em>, an e-newsletter from <strong><a href="/index.html?Intro" target="_blank">Software Quality Consulting</a></strong>. I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking on the <strong>Forward Email</strong> link at the bottom of this email. If you’ve received this newsletter from a colleague and would like to subscribe, please click this <strong><a href="/newsletter/Subscribe.htm?Newsletter" target="_blank">Enter New Subscription</a></strong> link. If you don't wish to receive this newsletter, click the <strong><a href="#bottom">SafeUnSubscribe</a></strong>™ link at the bottom of this newsletter, and you won’t be bothered again.</p>
<p>Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to <strong><a href="mailto:[email protected]">[email protected]</a></strong>.</p></td>
</tr>
</table>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/InThisIssue.gif" alt="In This Issue" width="114" height="37"></td>
<td width="15"> </td>
<td align="left" valign="top"><p>In <a href="#article"><strong>This Months’ Topic</strong></a>, I conclude my discussion on the state of the software quality assurance profession...<br>
<br>
Regular features to look for each month are:</p>
<ul>
<li> <a href="#morsel"><strong>Monthly Morsels</strong></a><br>
Hints, tips, techniques and reference info related to this month’s topic</li>
</ul>
<ul>
<li> <a href="#calendar"><strong>Calendar</strong></a><br>
Conferences, workshops, and meetings of interest to software engineers, QA engineers and anyone interested in software development</li>
</ul>
</td>
</tr>
</table>
<br>
<br>
<a name="article"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td width="114" align="left" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/ThisMonthsTopic.gif" alt="This Month's Topic" width="114" height="37"></td>
<td width="15"> </td>
<td width="471" align="left" valign="top" class="BodyText"><p align="center" class="Headline"><strong>Software Quality Assurance turns 50<br>
A critical look at the state of the profession<br>
<br>
Part 3 -
<strong> The Future of SQA</strong> </strong> </p>
<p> Software Quality Assurance (SQA), as we know it, was first applied to software development projects about 50 years ago. To recognize this important milestone, the state of the SQA profession has been the topic of my e-newsletter for the past few issues. In Part I of this series, I discussed the history and evolution of SQA. Part II focused on the current state of the profession - including successes and failures. This last installment is about the future of SQA.</p>
<p><strong> A View of Software Development in the Future</strong></p>
<p> Before we can discuss the future of SQA, we need some context for what software development will likely be like in the not-too-distant future. There have been several trends that will likely continue over the next decade. These include:</p>
</td>
</tr>
<tr>
<td align="left" valign="top" background="/newsletter/images/RedSpacer.gif"><p><img width="110" height="82" src="/newsletter/vol6/no6/vol6no6_clip_image001_0000.jpg" alt="Complexity (by nerovivo)"></p>
<p align="center" class="Reference">Software complexity is increasing at an exponential rate. </p></td>
<td> </td>
<td align="left" valign="top" class="BodyText"><ul>
<li><strong> Increasing Complexity</strong></li>
</ul>
<blockquote>
<p>As we have already seen, complexity is rising exponentially. Long gone are the days where software engineers understood all aspects of an application. In the future, software engineers will likely understand less and less of the overall software design. This will certainly affect quality, testability, and user satisfaction. </p>
</blockquote>
<ul>
<li><strong> Geographically Dispersed Development Teams</strong></li>
</ul>
<blockquote>
<p>Geographically dispersed development teams became commonplace in the 1990s with the advent of off shore development and testing. This trend has continued to evolve, even though several off shore projects have failed. Off shore development and testing will continue expand in third world countries with poor infrastructure and low wages. Language and cultural problems will continue to pose significant challenges as will adequate cyber-security protection. The rise and fall of international currencies against the dollar will also continue to dictate the economic feasibility of this whole endeavor. </p>
<p>The increased use of geographically dispersed development and testing teams will create significant knowledge gaps as more and more critical design information falls through the proverbial cracks.</p>
<p><strong>Read more about the </strong><strong><a href="http://www.tulasitechnologies.com/wordpress/?p=3" target="_blank">future of off-shoring</a></strong></p>
</blockquote>
<ul>
<li><strong> Continuous Integration</strong></li>
</ul>
<blockquote>
<p>Continuous integration started in the ‘90s and initially was a mostly manual process. Continuous integration processes and tools are evolving and in the future, they will become part of the normal day-to-day part of most software development projects. </p>
<strong>Read more about a typical open source </strong><strong><a href="http://cruisecontrol.sourceforge.net/" target="_blank">Continuous Integration Tool</a></strong><strong> and an </strong><strong><a href="http://hudson-ci.org/" target="_blank">extensible continuous integration server</a></strong></blockquote>
<ul>
<li><strong> Continuous Testing</strong></li>
</ul>
<blockquote>
<p>For many years, software engineers were less than enthusiastic about unit testing their code. While techniques like the buddy system (you test mine, I’ll test yours) has led to some improvement, the real improvement will come from tools that are better at automating the unit testing process so that it can happen automatically and continuously - with every change made to the code. Such tools are becoming available and I expect them to be widely used over the next decade...</p>
<p><strong>Read more about continuous testing tools for </strong><strong><a href="http://www.zenspider.com/ZSS/Products/ZenTest/" target="_blank">Ruby </a></strong><strong>and <a href="http://www.threeriversinstitute.org/junitmax/subscribe.html" target="_blank">Eclipse</a></strong></p>
</blockquote>
<ul>
<li><strong> Distributed Source Code Control</strong></li>
</ul>
<blockquote>
<p>Source code control has always been a potential source of problems especially when teams are geographically dispersed. To be successful in the next decade, these teams will rely on a new breed of distributed source code tools that prevent many common problems and help manage the constantly changing code base. </p>
<strong>Read more about <a href="http://git-scm.com/" target="_blank">Git</a> - a distributed source control tool</strong></blockquote>
<ul>
<li><strong> Continuous Deployment</strong></li>
</ul>
<blockquote>
<p>In the past, many software development organizations agonized over how often should new releases be made available to customers. At one extreme are traditional organizations that release new versions very infrequently (yearly or quarterly). At the other extreme are organizations releasing new versions daily. Clearly, the deployment strategy depends on many factors, not the least of which is the ability to develop and test quickly. The trend will definitely be moving towards releasing more often.</p>
<strong>Read more about one company’s <a href="http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/" target="_blank">continuous deployment model</a></strong></blockquote>
<p></p></td>
</tr>
<tr>
<td align="left" valign="top" background="/newsletter/images/RedSpacer.gif"><p><img width="110" height="72" src="/newsletter/vol6/no6/vol6no6_clip_image002.jpg"></p>
<p align="center" class="Reference">What will SQA look <br>
like in 10 years?<br>
</p></td>
<td> </td>
<td align="left" valign="top" class="BodyText"><p><strong>So what does the future of SQA look like?</strong></p>
<p> With this view of software development providing some context, we can now look at the future of SQA for the next decade or so...</p>
<ul>
<li><strong> Virtualization</strong></li>
</ul>
<blockquote>
<p>Setting up a test lab has always been a challenge - both technically and financially. Test groups never have enough systems to perform adequate testing in a timely manner. And maintaining test lab configurations is very time consuming. </p>
<p>In the next decade, we will see the increased use of virtual test labs - where different virtual platforms can be easily set up and configured to more closely match expected customer environments.</p>
<p><strong>Read more about </strong><strong><a href="http://sqgne.org/presentations/2009-10/September-Lotter.pdf" target="_blank">virtualization of testing labs</a></strong></p>
</blockquote>
<ul>
<li><strong> Test Automation Tools</strong><strong>and Frameworks</strong></li>
</ul>
<blockquote>
<p>Test automation tools will continue to evolve and improve in the next decade. Newer test automation tools will require less programming skills and will include features to support:</p>
</blockquote>
<ul>
<ul>
<li> Keyword-driven testing </li>
<li> Model-driven testing </li>
<li> GUI-driven testing </li>
</ul>
</ul>
<blockquote>
<p>The holy grail for test automation tools has always been a comprehensive test framework that supports the entire test development life cycle - everything from initial test planning, test prototyping, test development, test execution, defect reporting and tracking, and test reporting, metrics, and trending. </p>
There are some encouraging signs that test automation tool suppliers are finally starting to move in this direction. In addition, there will likely also be tighter integration between test automation tools - typically used by SQA engineers and continuous test tools - typically used by developers.</blockquote>
<ul>
<li><strong> Balanced Test Teams</strong></li>
</ul>
<blockquote>
<p>Future test teams will likely be more balanced and will include new testing roles such as:</p>
</blockquote>
<ul>
<ul>
<li><strong> Test Architect</strong> - analogous to a software architect, a test architect determines what kinds of tests are needed, what test tools would be most appropriate, and what test team skills are required. Test architects will typically have training in software engineering and testing. </li>
</ul>
</ul>
<ul>
<ul>
<li><strong> Test Developer </strong> - analogous to a software engineer, the test developer would be skilled in the scripting languages of several test automation tools. Test developers would create automated tests by collaborating with test architects and test engineers. Test developers will typically have training in software engineering and testing. </li>
</ul>
</ul>
<ul>
<ul>
<li><strong> Test Engineer </strong> - has domain knowledge and testing skills to create manual tests. Works with test architects and test developers to ensure that domain knowledge is applied in all of the many kinds of tests that are developed. Creates and executes manual and automated tests. Prepares test reports and statistics. Test engineers will typically have training in effective testing techniques. </li>
</ul>
</ul>
<ul>
<li><strong> Safety Cases</strong></li>
</ul>
<blockquote>
<p>The recent <strong>National Research Council</strong> Report on dependable software stated:</p>
<blockquote>
<p> “Society is increasingly dependent on software. Software failures can cause or contribute to serious accidents that result in death, injury, significant environmental damage, or major financial loss. Such accidents have already occurred and without intervention, the increasingly pervasive use of software - especially in arenas such as transportation, heath care, and the broader infrastructure - may make them more frequent and more serious.” [1]</p>
</blockquote>
<p> The problem of software dependability is exacerbated by a pervasive lack of evidence about both the incidence and the severity of software failures. Software failures are often not reported and the severity of those failures that are reported is often understated. </p>
<p>To address this problem, future SQA teams will need to learn new techniques that help address the issue of dependability and evidence. Safety cases are an example of one such technique that will become more common in the next decade.</p>
<p>A safety case [2] presents high-level arguments that a system will be acceptably safe in a given context. For example,</p>
<ul>
<li><strong> High Level Arguments</strong></li>
</ul>
<blockquote>
<p>These arguments represent an explanation of how available evidence can be reasonably interpreted as indicating acceptable safety – usually by demonstrating compliance with requirements, sufficient mitigation and/or avoidance of hazards etc.</p>
</blockquote>
<ul>
<li><strong>Supporting Evidence</strong></li>
</ul>
<blockquote>
<p>This evidence often includes results of observing, analyzing, testing, simulating and estimating properties of a system that provides fundamental information from which safety and dependability can be inferred. </p>
</blockquote>
<p> Safety cases have been effectively used in air traffic control, passenger rail transit, and radioactive waste disposal and storage projects. In the next decade, the use of safety cases will expand to other safety-critical software projects.</p>
<strong>Read more about </strong><strong><a href="/newsletter/vol6/no6/AssuranceCases.pdf" target="_blank">developing safety cases</a> and look at some actual </strong><strong><a href="http://dependability.cs.virginia.edu/info/Safety_Cases" target="_blank">examples of safety cases</a></strong></blockquote>
<p><strong> </strong><strong>Pervasive Issues Facing the Profession </strong></p>
<p> There are many issues facing the SQA profession that are pervasive. The two at the top of my list are:</p>
<ul>
<li><strong> SQA needs to be recognized as a discipline unto itself, just as software engineering was recognized back in the 1980s</strong></li>
</ul>
<blockquote>
<p>It’s time that universities and colleges offer degrees or specializations in <strong>software quality assurance. </strong>Currently, certificates offered by organizations such as the American Society for Quality (ASQ) and the Quality Assurance Institute (QAI) are woefully inadequate because they lack a foundation in software engineering. </p>
The software development community needs to pressure universities and colleges to create new degree programs and offer specializations to existing degree programs to address this pressing need.</blockquote>
<ul>
<li><strong> SQA is a lot more than just testing</strong></li>
</ul>
<blockquote>
<p>SQA professionals need to realize that the value of SQA goes way beyond testing. We need to understand the <strong>SQA Umbrella</strong> and take a more proactive role in all aspects of software development projects that affect quality. </p>
</blockquote>
<p align="center"><img width="444" height="386" src="/newsletter/vol6/no6/vol6no6_clip_image001.jpg"></p>
<p><strong> The Bottom Line....</strong></p>
<p> SQA is a vital discipline that must continue to be an essential part of software development projects. As software continues to expand into areas that are safety-critical (medical devices, transportation, nuclear power, etc.), the role of SQA in the next decade clearly needs to ratchet up to meet these challenges.</p>
<p> Prof. Edsger Dijkstra observed over 40 years ago:</p>
<blockquote>
<p> “The dissemination of knowledge is of obvious value — the massive dissemination of error-loaded software is frightening.” [3]</p>
</blockquote>
‘Til next time...</td>
</tr>
</table>
<br>
<br>
<a name="morsel"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/MonthlyMorsels.gif" alt="Monthly Morsels" width="114" height="37"></td>
<td width="15"> </td>
<td align="left" valign="top"><p> Every month in this space, you’ll find additional information related to this month’s topic.</p>
<p><strong> References</strong></p>
<ol>
<li> Jackson, D., et. al<em>.</em>, <em>Software for Dependable Systems - Sufficient Evidence?</em> National Research Council, National Academies Press, 2007.<br>
<br>
</li>
<li> Kelly, T., “Assurance Cases, Argumentation and Patterns” High Integrity Systems Engineering Group, Dept. of CS, Univ. of York, UK. <br>
<br>
</li>
<li> "Software Engineering", Report on conference sponsored by NATO Science Committee Garmisch, Germany, Oct 7-11, 1968.</li>
</ol></td>
</tr>
</table>
<br>
<br>
<a name="calendar"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/Calendar.gif" alt="Calendar" width="114" height="37"></td>
<td width="15"> </td>
<td align="left" valign="top"><p> Every month you’ll find news here about local and national events that are of interest to the software community…</p>
<ul>
<li><strong> Software Quality Calendar</strong></li>
</ul>
<blockquote>
<p>There are many organizations that sponsor monthly meetings, workshops, and conferences of interest to software professionals. <strong><a href="/links/upcoming.html" target="_blank">Find out what’s happening…</a></strong></p>
</blockquote>
<ul>
<li><strong> Workshops Offered by Software Quality Consulting</strong></li>
</ul>
<blockquote>
<p>Software Quality Consulting offers workshops in many topics related to software process improvement. <strong><a href="/seminars/courses.html" target="_blank">Get more info…</a></strong></p>
</blockquote></td>
</tr>
</table>
<br>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/AboutSQC.gif" alt="About SQC" width="114" height="37"></td>
<td width="15"> </td>
<td align="left" valign="top"><p> Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development™ – so that organizations can consistently deliver quality software with promised features in the promised timeframe. </p>
To learn more about how we can help your organization, <strong><a href="/index.html?AboutSQC" target="_blank">visit our web site</a></strong> or <strong><a href="mailto:[email protected]">send us an email</a></strong>.</td>
</tr>
</table>
<br>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
<tr>
<td align="left" valign="top"><p> I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. <strong><a href="mailto:[email protected]">Send me your feedback…</a></strong></p>
<p>Thanks,</p>
<p> <img src="/newsletter/images/BusinessCard.gif" width="270" height="121" align="right"><img src="/newsletter/images/Signature.gif" width="90" height="68"><br>
Steve Rakitin<br>
<br>
<strong><a href="mailto:[email protected]">[email protected]</a></strong></p></td>
</tr>
</table>
<div align="center"><br>
<FONT class="Reference">Food for Thought, Predictable Software Development, Act Like a Customer,<br>
and ALAC are trademarks of Software Quality Consulting, Inc.<br>
Copyright 2009. Software Quality Consulting, Inc. All rights reserved.<br>
Graphic design by <a href="http://www.sarahcoledesign.com/" target="_blank"><strong>Sarah Cole Design</strong></a>.</FONT></div>
<a name="bottom"> </a></body>
</html>