<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4037345767661994659</id><updated>2012-01-26T01:07:35.567-08:00</updated><title type='text'>Software Testing</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3659504176422905224</id><published>2008-08-09T07:10:00.001-07:00</published><updated>2008-08-09T07:10:43.812-07:00</updated><title type='text'>Certification Process Checklists</title><content type='html'>&lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Testing &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are test plans and procedures created and reviewed?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are test results recorded?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are defects or problems recorded, assigned, and tracked   to closure?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is there an adequate test process to ensure that areas   impacted by changes are retested?&lt;a name="IDX-409"&gt;&lt;/a&gt;&lt;a name="886"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Measurement &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is the software validated (tested) as a complete system   in an environment as similar as possible to the final operating environment?   Is this done prior to delivery and acceptance?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;If field-testing is required, are the responsibilities of   the supplier and the purchaser defined? Is the user environment restored   following the test?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are product metrics collected and used to manage the   testing effort?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are product defects measured and reported?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is corrective action taken if metric levels exceed   established target levels?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are improvement goals established in terms of metrics&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are process metrics collected to measure the   effectiveness of the testing process in terms of schedule and in terms of   fault prevention and detection?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Tools / Techniques &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are tools and techniques used to help make testing and   management processes more effective?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are the used tools and techniques reviewed, as required,   and improved upon?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Training &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are training needs identified according to a procedure?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is training conducted for all personnel performing work   related to quality?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are personnel who are performing specific tasks qualified   on the basis of appropriate education, training, and/or experience?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are records kept of personnel training and experience?&lt;a name="IDX-410"&gt;&lt;/a&gt;&lt;a name="887"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Documentation &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are test plans, requirements, and other documents   revision controlled?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Do procedures exist to control document approval and   issue?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are changes to controlled documents reviewed and   approved?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are current versions of test documents identifiable by a   master list or document control procedures?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Pass &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Fail &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Checklist for Configuration Management &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is there a Configuration Management (CM) system that   identifies and tracks versions of the software under test, software   components, build status, and changes? Does the system control simultaneous   updates?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Does the configuration management plan include a list of   responsibilities, CM activities, CM tools and techniques, and timing of when   items are brought under CM control?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is there a mechanism and procedure that enables software,   hardware, and files to be uniquely identified throughout the entire software   development lifecycle?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is there a documented mechanism to identify, record,   review, and authorize changes to software items under configuration   management? Is this process always followed?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Are affected personnel notified of software changes?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para" style="text-align: right;" align="right"&gt;&lt;span class="unicode"&gt;□&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Is the status of software items and change requests   reported?&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3659504176422905224?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3659504176422905224/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3659504176422905224' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3659504176422905224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3659504176422905224'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/certification-process-checklists.html' title='Certification Process Checklists'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6712980501812520827</id><published>2008-08-09T07:06:00.000-07:00</published><updated>2008-08-09T07:07:50.772-07:00</updated><title type='text'>Defect Removal Efficiency (DRE)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2kqucZFVI/AAAAAAAAAB8/zSSnmAIaI60/s1600-h/picture5.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2kqucZFVI/AAAAAAAAAB8/zSSnmAIaI60/s320/picture5.JPG" alt="" id="BLOGGER_PHOTO_ID_5232519396002960722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;A more powerful metric for test effectiveness (and the one that we recommend) can be created using both of the defect metrics discussed above: defects found during testing and defects found during production. What we really want to know is, "How many bugs did we find out of the set of bugs that we could have found?" This measure is called Defect Removal Efficiency (DRE).&lt;br /&gt;&lt;/span&gt;The later we discover a bug, the greater harm it does and the more it costs to fix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6712980501812520827?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6712980501812520827/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6712980501812520827' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6712980501812520827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6712980501812520827'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/defect-removal-efficiency-dre.html' title='Defect Removal Efficiency (DRE)'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2kqucZFVI/AAAAAAAAAB8/zSSnmAIaI60/s72-c/picture5.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3218363445738139086</id><published>2008-08-09T07:00:00.000-07:00</published><updated>2008-08-09T07:05:25.223-07:00</updated><title type='text'>Incident Description</title><content type='html'>The author of the incident report should include enough information so that the readers of the report will be able to understand and replicate the incident. Sometimes, the test case reference alone will be sufficient, but in other instances, information about the setup, environment, and other variables is useful.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Section Heading  Description&lt;/span&gt;&lt;br /&gt;4.1 &lt;span style="font-weight: bold;"&gt;Inputs:&lt;/span&gt; Describes the inputs actually used (e.g., files, keystrokes, etc.).&lt;br /&gt;4.2 &lt;span style="font-weight: bold;"&gt;Expected Results:&lt;/span&gt; This comes from the test case that was running when the incident was discovered.&lt;br /&gt;4.3 &lt;span style="font-weight: bold;"&gt;Actual Results:&lt;/span&gt; Actual results are recorded here.&lt;br /&gt;4.4 &lt;span style="font-weight: bold;"&gt;Anomalies: &lt;/span&gt;How the actual results differ from the expected results. Also record other data (if it appears to be significant) such as unusually light or heavy volume on the system, it's the last day of the month, etc.&lt;br /&gt;4.5 &lt;span style="font-weight: bold;"&gt;Date and Time:&lt;/span&gt; The date and time of the occurrence of the incident.&lt;br /&gt;4.6 &lt;span style="font-weight: bold;"&gt;Procedure Step:&lt;/span&gt; The step in which the incident occurred. This is particularly important if you use long, complex test procedures.&lt;br /&gt;4.7 &lt;span style="font-weight: bold;"&gt;Environment:&lt;/span&gt; The environment that was used (e.g., system test environment or acceptance test environment, customer 'A' test environment, beta site, etc.)&lt;br /&gt;4.8 &lt;span style="font-weight: bold;"&gt;Attempts to Repeat:&lt;/span&gt; How many attempts were made to repeat the test?&lt;br /&gt;4.9 &lt;span style="font-weight: bold;"&gt;Testers:&lt;/span&gt; Who ran the test?&lt;br /&gt;4.10 &lt;span style="font-weight: bold;"&gt;Observers:&lt;/span&gt; Who else has knowledge of the situation?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example of Minor, Major, and Critical Defects &lt;/span&gt;&lt;br /&gt;Minor: Misspelled word on the screen.&lt;br /&gt;Major: System degraded, but a workaround is available.&lt;br /&gt;Critical: System crashes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3218363445738139086?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3218363445738139086/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3218363445738139086' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3218363445738139086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3218363445738139086'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/incident-description.html' title='Incident Description'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3966192022089206559</id><published>2008-08-09T06:58:00.000-07:00</published><updated>2008-08-09T06:59:36.955-07:00</updated><title type='text'>Repetitive Tasks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2iw0LUDNI/AAAAAAAAAB0/D1kOLSIBQBk/s1600-h/picture4.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2iw0LUDNI/AAAAAAAAAB0/D1kOLSIBQBk/s320/picture4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5232517301597899986" /&gt;&lt;/a&gt;&lt;br /&gt;Repetitive tasks, such as regression tests, are prime candidates for automation because they're typically executed many times. Smoke, load, and performance tests are other examples of repetitive tasks that are suitable for automation.&lt;br /&gt;If the application being tested is unstable or changing rapidly, automating the test scripts may be difficult.&lt;br /&gt;Regression tests are tests that are run after changes (corrections and editions) are made to the software to ensure that the rest of the system still works correctly.&lt;br /&gt;Timing is everything. Trying to implement a major tool or automation effort in the midst of the biggest software release of all time is not a good strategy.&lt;br /&gt;A test set is a group of test cases that cover a feature or system.&lt;br /&gt;As a rule of thumb, we normally recommend that the regression test set (or at least the smoke test) be run in its entirety early on to flag areas that are obviously problematic.&lt;br /&gt;No matter how good you and your colleagues are at designing test cases, you'll always think of new test cases to write when you begin test execution.&lt;br /&gt;Obviously, the results of each test case must be recorded. If the testing is automated, the tool will record both the input and the results. If the tests are manual, the results can be recorded right on the test case document. In some instances, it may be adequate to merely indicate whether the test case passed or failed. Failed test cases will also result in an incident report being generated. Often, it may be useful to capture screens, copies of reports, or some other output stream.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3966192022089206559?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3966192022089206559/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3966192022089206559' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3966192022089206559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3966192022089206559'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/repetitive-tasks.html' title='Repetitive Tasks'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2iw0LUDNI/AAAAAAAAAB0/D1kOLSIBQBk/s72-c/picture4.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-1026930364309700964</id><published>2008-08-09T06:56:00.000-07:00</published><updated>2008-08-09T06:57:57.807-07:00</updated><title type='text'>Black-Box vs. White-Box</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2iXrDWkUI/AAAAAAAAABs/NkPfd3Slyhc/s1600-h/picture3.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2iXrDWkUI/AAAAAAAAABs/NkPfd3Slyhc/s320/picture3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5232516869651861826" /&gt;&lt;/a&gt;&lt;br /&gt;Black-box testing or behavioral testing is testing based upon the requirements and, just as the name implies, the system is treated as a "black box." That is, the internal workings of the system are unknown. In black-box testing the system is given a stimulus (input) and if the result (output) is what was expected, then the test passes. No consideration is given to how the process was completed.&lt;br /&gt;In white-box testing, an input must still produce the correct result in order to pass, but now we're also concerned with whether or not the process worked correctly. White-box testing is also called structural testing because it's based upon the object's structure.&lt;br /&gt;The creation and execution of tests is best be done by the people who understand the environment associated with that level of test.&lt;br /&gt;Creating automated test scripts can often take more expertise and time than creating manual tests. Some test groups use the strategy of creating all tests manually, and then automating the ones that will be repeated many times. In some organizations, this automation may even be done by an entirely separate group. If you're working in an environment where it takes longer to write an automated script than a manual one, you should determine how much time is saved in the execution of the automated scripts. Then, you can use this estimate to predict how many times each script will have to be executed to make it worthwhile to automate. This rule of thumb will help you decide which scripts to automate. Unless there is very little cost in automating the script (perhaps using capture-replay, but don't forget the learning curve), it's almost always more efficient to execute the test manually if it's intended to be run only once.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-1026930364309700964?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/1026930364309700964/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=1026930364309700964' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1026930364309700964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1026930364309700964'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/black-box-vs-white-box.html' title='Black-Box vs. White-Box'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2iXrDWkUI/AAAAAAAAABs/NkPfd3Slyhc/s72-c/picture3.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-4128373528729503242</id><published>2008-08-09T06:48:00.000-07:00</published><updated>2008-08-09T06:55:53.233-07:00</updated><title type='text'>Levels of Test Planning</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2hNdAHrqI/AAAAAAAAABk/u6Et-zmBz_Y/s1600-h/picture2.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2hNdAHrqI/AAAAAAAAABk/u6Et-zmBz_Y/s320/picture2.JPG" alt="" id="BLOGGER_PHOTO_ID_5232515594569887394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2g0C0Tl-I/AAAAAAAAABU/ygYNp7Dg38E/s1600-h/picture1.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_YkimMrvbcY8/SJ2g0C0Tl-I/AAAAAAAAABU/ygYNp7Dg38E/s320/picture1.JPG" alt="" id="BLOGGER_PHOTO_ID_5232515158044284898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="text-align: center;" class="last-para"&gt;&lt;span class="figure-title"&gt;&lt;b style=""&gt;Levels of Test Planning&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="first-para"&gt;Test planning SHOULD be separated from test design.&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;In addition to the Master Test Plan, it is often necessary to create detailed or level-specific test plans. On a larger or more complex project, it's often worthwhile to create an Acceptance Test Plan, System Test Plan, Integration Test Plan, Unit Test Plan, and other test plans, depending on the scope of your project. Smaller projects, that is, projects with smaller scope, number of participants, and organizations, may find that they only need one test plan, which will cover all levels of test. Deciding the number and scope of test plans required should be one of the first strategy decisions made in test planning. As the complexity of a testing activity increases, the criticality of having a good Master Test Plan increases exponentially&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;If your test plan is too long, it may be necessary to create a number of plans of reduced scope built around subsystems or functionality.&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;It's important that an organization have a template for its test plans. If a template doesn't meet your particular requirements, you should feel free to customize it as necessary.&lt;/p&gt;  &lt;p class="first-para"&gt;What you test is more important than how much you test. &lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="display: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;&lt;b style=""&gt;&lt;span style="text-decoration: none; color: rgb(0, 0, 0);"&gt;Regression testing&lt;/span&gt;&lt;/b&gt; is retesting previously tested features to ensure that a change or bug fix has not introduced new problems.&lt;b style=""&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;&lt;b style=""&gt;&lt;span style="text-decoration: none; color: rgb(0, 0, 0);"&gt;Confirmation testing&lt;/span&gt;&lt;/b&gt; is rerunning tests that revealed a bug to ensure that the bug was fully and actually fixed.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;To be most effective, test planning must start at the beginning and proceed in parallel with software development. General project information is used to develop the master test plan, while more specific software information is used to develop the detailed test plans. This approach will target testing to the most effective areas, while supporting and enhancing your development process. When fully implemented, test planning will provide a mechanism to identify improvements in all aspects of the system and development process.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-4128373528729503242?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/4128373528729503242/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=4128373528729503242' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4128373528729503242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4128373528729503242'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/levels-of-test-planning.html' title='Levels of Test Planning'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_YkimMrvbcY8/SJ2hNdAHrqI/AAAAAAAAABk/u6Et-zmBz_Y/s72-c/picture2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8922367233763038426</id><published>2008-08-09T06:46:00.000-07:00</published><updated>2008-08-09T06:47:45.302-07:00</updated><title type='text'>Preventive Testing</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;Preventive testing uses the philosophy that testing can actually improve the quality of the software being tested if it occurs early enough in the lifecycle. Specifically, preventive testing requires the creation of test cases to validate the requirements before the code is written&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;Testware is any document or product created as part of the testing effort (e.g., test cases, test plans, etc.). Testware is to testing what software is to development.&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;An added benefit of creating the test cases before the code is that the test cases themselves help document the software.&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="first-para"&gt;&lt;b&gt;Software Test Documentation Template for Test Documents&lt;/b&gt; &lt;/p&gt;  &lt;p class="para"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;1.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Plan&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used for the master test plan and level-specific test   plans.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;2.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Design   Specification&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used at each test level to specify the test set   architecture and coverage traces.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;3.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Case   Specification&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used as needed to describe test cases or automated   scripts.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;4.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Procedure   Specification&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used to specify the steps for executing a set of test   cases.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;5.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Log&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used as needed to record the execution of test   procedures.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;6.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Incident   Report&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used to describe anomalies that occur during testing or   in production. These anomalies may be in the requirements, design, code,   documentation, or the test cases themselves. Incidents may later be   classified as defects or enhancements.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;7.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;&lt;b style=""&gt;Test Summary   Report&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="table-para"&gt;Used to report completion of testing at a level or a   major test objective within a level.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Role &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para"&gt;&lt;b&gt;Description of Responsibilities &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Manager&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Communicate, plan, and coordinate.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Analyst&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Plan, inventory, design, and evaluate.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Technician&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Implement, execute, and check.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Reviewer&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt;" valign="top"&gt;   &lt;p class="table-para"&gt;Examine and evaluate.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;Test planning is one of the keys to successful software testing, yet it's frequently omitted due to time constraints, lack of training, or cultural bias.&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;Test planning CAN'T be separated from project planning.&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;All important test planning issues are also important project planning issues.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8922367233763038426?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8922367233763038426/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8922367233763038426' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8922367233763038426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8922367233763038426'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/preventive-testing.html' title='Preventive Testing'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8844569079329583437</id><published>2008-08-05T10:38:00.000-07:00</published><updated>2008-08-05T10:39:21.950-07:00</updated><title type='text'>Risk Analysis</title><content type='html'>&lt;p class="para" style="line-height: 150%;"&gt;To mitigate the risk of some event causing damage, you must first estimate the probability that the event will occur. This probability has to be translated into some quantity, usually represented as a percentage-for example, "There is a 50 percent chance that this will happen." Next, you need to determine the severity of such a failure. Severity is usually measured in currency, such as dollars, and loss of life. If the severity is &lt;a name="395"&gt;&lt;/a&gt;&lt;a name="IDX-206"&gt;&lt;/a&gt;minor, then even a high probability of occurrence may still be judged to cause a trivial problem.&lt;/p&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;The probability that a thing will or won't occur can be calculated under certain circumstances-especially if you can answer a question like, "What was the outcome last time?" or "Do we know if the platform can really do what the maker claims it can?" If you can't provide a good measured answer to these questions up front, then you will need a strategy for dealing with the events that will occur later in the process. If the probability and severity cannot be measured, then they must be estimated. MITs risk analysis provides a formal method for both estimating up front and dealing with events as they unfold. In this chapter, we look at this formal approach to establishing risk and prioritizing the items on the test inventory.&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;MITs risk analysis uses both quantitative and qualitative analysis to establish a numeric value for risk based on a number of specific criteria. In the early planning phases of a test effort, this risk number is used to focus test resources to size the test effort. As the inventory evolves, the risk ranking plays an important part in actual test selection and optimal test coverage determination.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8844569079329583437?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8844569079329583437/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8844569079329583437' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8844569079329583437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8844569079329583437'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/risk-analysis.html' title='Risk Analysis'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-4621033214308293084</id><published>2008-08-05T10:36:00.001-07:00</published><updated>2008-08-05T10:37:32.278-07:00</updated><title type='text'>Metrics to Measure Performance</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_YkimMrvbcY8/SJiPwUVBjfI/AAAAAAAAABM/_dST9jNwxRU/s1600-h/clip_image007.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_YkimMrvbcY8/SJiPwUVBjfI/AAAAAAAAABM/_dST9jNwxRU/s320/clip_image007.jpg" alt="" id="BLOGGER_PHOTO_ID_5231089027444215282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Was It Worth It?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-4621033214308293084?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/4621033214308293084/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=4621033214308293084' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4621033214308293084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4621033214308293084'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/metrics-to-measure-performance.html' title='Metrics to Measure Performance'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_YkimMrvbcY8/SJiPwUVBjfI/AAAAAAAAABM/_dST9jNwxRU/s72-c/clip_image007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6158413577550435416</id><published>2008-08-05T10:34:00.000-07:00</published><updated>2008-08-05T10:38:12.450-07:00</updated><title type='text'>Test Effectiveness</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_YkimMrvbcY8/SJiPfGxk9TI/AAAAAAAAABE/pcJ9z4WxesE/s1600-h/clip_image006.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_YkimMrvbcY8/SJiPfGxk9TI/AAAAAAAAABE/pcJ9z4WxesE/s320/clip_image006.jpg" alt="" id="BLOGGER_PHOTO_ID_5231088731748103474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;How Good Were the Tests?&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6158413577550435416?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6158413577550435416/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6158413577550435416' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6158413577550435416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6158413577550435416'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/test-effectiveness.html' title='Test Effectiveness'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_YkimMrvbcY8/SJiPfGxk9TI/AAAAAAAAABE/pcJ9z4WxesE/s72-c/clip_image006.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-5765927792146030969</id><published>2008-08-05T10:33:00.000-07:00</published><updated>2008-08-05T10:34:38.376-07:00</updated><title type='text'>Test Coverage</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_YkimMrvbcY8/SJiPJ_8m6lI/AAAAAAAAAA8/lx8FMaFhbJY/s1600-h/clip_image005.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_YkimMrvbcY8/SJiPJ_8m6lI/AAAAAAAAAA8/lx8FMaFhbJY/s320/clip_image005.jpg" alt="" id="BLOGGER_PHOTO_ID_5231088369138068050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;h4&gt;How Much of It Was Tested?&lt;/h4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-5765927792146030969?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/5765927792146030969/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=5765927792146030969' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5765927792146030969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5765927792146030969'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/test-coverage.html' title='Test Coverage'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_YkimMrvbcY8/SJiPJ_8m6lI/AAAAAAAAAA8/lx8FMaFhbJY/s72-c/clip_image005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6083197668125795049</id><published>2008-08-05T10:31:00.000-07:00</published><updated>2008-08-05T10:32:51.948-07:00</updated><title type='text'>The Bug Fix Rate</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_YkimMrvbcY8/SJiOvXrPoiI/AAAAAAAAAA0/2oaysCfYkC8/s1600-h/clip_image001.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_YkimMrvbcY8/SJiOvXrPoiI/AAAAAAAAAA0/2oaysCfYkC8/s320/clip_image001.jpg" alt="" id="BLOGGER_PHOTO_ID_5231087911651222050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How Many of the Bugs That Were Found Were Fixed?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6083197668125795049?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6083197668125795049/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6083197668125795049' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6083197668125795049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6083197668125795049'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/bug-fix-rate.html' title='The Bug Fix Rate'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_YkimMrvbcY8/SJiOvXrPoiI/AAAAAAAAAA0/2oaysCfYkC8/s72-c/clip_image001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3518283712997008875</id><published>2008-08-05T10:30:00.001-07:00</published><updated>2008-08-05T10:30:55.827-07:00</updated><title type='text'>The Number of Bugs Found</title><content type='html'>For this metric, there are two main genres: (1) bugs found before the product ships or goes live and (2) bugs found after-or, alternately, those bugs found by testers and those bugs found by customers. As it was already said, this is a very weak measure until you bring it into perspective using other measures, such as the severity of the bugs found.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3518283712997008875?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3518283712997008875/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3518283712997008875' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3518283712997008875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3518283712997008875'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/number-of-bugs-found.html' title='The Number of Bugs Found'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-5202905089590852405</id><published>2008-08-05T10:26:00.001-07:00</published><updated>2008-08-05T10:26:32.985-07:00</updated><title type='text'>Bug Type Classification</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;First of all, bugs are bugs; the name is applied to a huge variety of "things." Types of bugs can range from a nuisance misunderstanding of the interface, to coding errors, to database errors, to systemic failures, and so on.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Like severity, bug classification, or bug types, are usually defined by a local set of rules. These are further modified by factors like reproducibility and fixability.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;In a connected system, some types of bugs are system "failures," as opposed to, say, a coding error. For example, the following bugs are caused by missing or broken connections:&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Network outages.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Communications failures.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;In mobile computing, individual units that are constantly connecting and disconnecting.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Integration errors.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Missing or malfunctioning components.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Timing and synchronization errors.&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;These bugs are actually system failures. These types of failure can, and probably will, recur in production. Therefore, the tests that found them during the test effort test are very valuable in the production environment. This type of bug is important in the test effectiveness metric.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-5202905089590852405?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/5202905089590852405/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=5202905089590852405' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5202905089590852405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5202905089590852405'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/bug-type-classification.html' title='Bug Type Classification'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-1759688063958531920</id><published>2008-08-05T10:25:00.001-07:00</published><updated>2008-08-05T10:29:58.290-07:00</updated><title type='text'>Severity of Bugs</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;Severity is a fundamental measure of a bug or a failure. Many ranking schemes exist for defining severity. Because there is no set standard for establishing bug severity, the magnitude of the severity of a bug is often open to debate. The table below shows the definition of the severity metrics and the ranking criteria used in this documentation.&lt;/p&gt;    &lt;table class="MsoNormalTable" style="" border="1" cellpadding="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td colspan="2" style="border: medium none ; padding: 0.75pt;"&gt;    &lt;p class="MsoNormal" style="text-align: center; line-height: 150%;" align="center"&gt;&lt;span class="table-title"&gt;Severity    Metrics and Ranking Criteria&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para" style="line-height: 150%;"&gt;&lt;b&gt;SEVERITY RANKING &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 0.75pt;" valign="top"&gt;    &lt;p class="table-para" style="line-height: 150%;"&gt;&lt;b&gt;RANKING CRITERIA &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Severity 1 Errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Program ceases meaningful   operation&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Severity 2 Errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Severe function error but   application can continue&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Severity 3 Errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Unexpected result or   inconsistent operation&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Severity 4 Errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0.75pt; background: rgb(217, 217, 217) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" valign="top"&gt;   &lt;p class="table-para" style="line-height: 150%;"&gt;Design or suggestion&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-1759688063958531920?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/1759688063958531920/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=1759688063958531920' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1759688063958531920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1759688063958531920'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/severity-of-bugs.html' title='Severity of Bugs'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-2531446925617200848</id><published>2008-08-05T10:21:00.000-07:00</published><updated>2008-08-05T10:24:47.161-07:00</updated><title type='text'>Bugs</title><content type='html'>Many people claim that finding bugs is the main purpose of testing. Even though they are fairly discrete events, bugs are often debated because there is no absolute standard in place for measuring them.&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt; Sample Units: &lt;/span&gt;Severity, quantity, type, duration, distribution, and cost to find and fix. Note: Bug distribution and the cost to find and fix are derived metrics.&lt;br /&gt;Like tests, bugs also have attributes as discussed in the following articles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-2531446925617200848?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/2531446925617200848/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=2531446925617200848' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2531446925617200848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2531446925617200848'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/bugs.html' title='Bugs'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3819479220200285515</id><published>2008-08-04T11:53:00.000-07:00</published><updated>2008-08-04T11:56:26.244-07:00</updated><title type='text'>Fundamental Metrics for Software Testing</title><content type='html'>&lt;p class="para" style="line-height: 150%;"&gt;The following are some typical software testing questions that require measurement to answer:&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How big is &lt;i&gt;it&lt;/i&gt;?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How long will it take to test &lt;i&gt;it&lt;/i&gt;?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How much will it cost to test &lt;i&gt;it&lt;/i&gt;?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;What about the bugs?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How bad were they? What type were they?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;What kind of bugs were found?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;a name="206"&gt;&lt;/a&gt;&lt;a name="IDX-106"&gt;&lt;/a&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How many of the bugs that were found were fixed?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;o&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How many new bugs did the users find?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How much of &lt;i&gt;it&lt;/i&gt; has to be tested?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Will &lt;i&gt;it&lt;/i&gt; be ready on time?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How good were the tests?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="text-decoration: none;color:#000000;" &gt;How much did it cost to test it?&lt;/span&gt; &lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Was the test effort adequate? Was &lt;i&gt;it&lt;/i&gt; worth it?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;How did &lt;i&gt;it&lt;/i&gt; perform?&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Good answers to these questions require measurement. If testers don't have good answers to these questions, it is not because there are no applicable metrics; it's because they are not measuring.&lt;/p&gt;  &lt;h4 style="line-height: 150%;"&gt;&lt;a name="218"&gt;&lt;/a&gt;&lt;a name="ch05lev3sec4"&gt;&lt;/a&gt;Tests&lt;/h4&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;There is no invariant, precise, internationally accepted standard unit that measures the size of a test, but that should not stop us from benefiting from identifying and counting tests. There are many types of tests, and they all need to be counted if the test effort is going to be measured. Techniques for defining, estimating, and tracking the various types of test units are presented in the next several chapters.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;a name="219"&gt;&lt;/a&gt;&lt;a name="IDX-112"&gt;&lt;/a&gt;Tests have attributes such as quantity, size, importance or priority, and type&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;b&gt;Sample Units &lt;/b&gt;(listed simplest to most complex):&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A keystroke or mouse action&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;An SQL query&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A single transaction&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A complete function path traversal through the system&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A function-dependent data set&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3819479220200285515?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3819479220200285515/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3819479220200285515' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3819479220200285515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3819479220200285515'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/fundamental-metrics-for-software.html' title='Fundamental Metrics for Software Testing'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6935766701178589924</id><published>2008-08-04T11:52:00.001-07:00</published><updated>2008-08-04T11:52:57.687-07:00</updated><title type='text'>How to Succeed with MITs</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;A couple of factors will influence which methods and metrics are the right ones for you to start with and which ones are the most useful to you. In fact, you most probably use some of these methods already. The first factor is the ease of implementation. Some of these methods and metrics are much easier to implement and to show a good return on the investment than others. Another factor is the development method that is being used in the project you are approaching.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Plan-driven development efforts use the same MITs methods as Agile development efforts, characterized as heavyweight and lightweight, but their goals and expectations are different. So the priorities placed on the individual MITs steps are very different.&lt;/p&gt;  &lt;h4 style="line-height: 150%;"&gt;Methods That Are Most Useful and Easiest to Implement&lt;/h4&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;The following lists show the methods that have been identified as most useful. They are listed according to the respondent's perceptions of their ease of implementation.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;a name="169"&gt;&lt;/a&gt;&lt;a name="IDX-82"&gt;&lt;/a&gt;&lt;b&gt;EASIEST TO IMPLEMENT&lt;/b&gt; &lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bug tracking and bug-tracking metrics&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The test inventory and test coverage metrics&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Planning, path analysis, and data analysis&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;MITs ranking and ranking criteria (risk analysis)&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The test estimation worksheet&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Test performance metrics&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;b&gt;MORE DIFFICULT TO IMPLEMENT&lt;/b&gt; &lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;S-curves&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Test rerun automation&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Automated test plan generation&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6935766701178589924?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6935766701178589924/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6935766701178589924' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6935766701178589924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6935766701178589924'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/how-to-succeed-with-mits.html' title='How to Succeed with MITs'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8843496689438257737</id><published>2008-08-04T11:25:00.000-07:00</published><updated>2008-08-04T11:51:58.140-07:00</updated><title type='text'>The Most Important Tests (MITs) Method</title><content type='html'>&lt;p class="first-para"&gt;The MITs method measures the performance of the test effort so that test methods, assumptions, and inventories can be adjusted and improved for future efforts. A performance metric based on the percentage of errors found during the test cycle is used to evaluate the effectiveness of the test coverage. Based on this metric, test assumptions and inventories can be adjusted and improved for future efforts.&lt;/p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How MITs Works&lt;/span&gt;&lt;br /&gt;&lt;p class="first-para" style="line-height: 150%;"&gt;The process works by answering the following questions:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=""&gt;What do we think we know about this project?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How big is the test effort?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;If we can't test everything, what should we test?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How long will the effort take?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How much will it cost? (How much can we get?)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How do I identify the tests to run?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Are we on schedule? Have we tested enough?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How successful was the test effort? Was the test coverage adequate? Was the test effort adequate?&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="bold" style="line-height: 150%;"&gt;&lt;b style=""&gt;Answers&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;span style=""&gt;We find out by stating (publishing) the test inventory. The inventory contains the list of all the requirements and specifications that we know about and includes our assumptions. In a RAD (Rapid application development) effort, we often start with only our assumptions, because there may not be any formal requirement or specifications. You can start by writing down what you think it is supposed to do. In projects with formal specifications, there are still assumptions-for example, testing the system on these three operating systems will be adequate. If we do not publish our assumptions, we are deprived of a valuable opportunity to have incorrect assumptions corrected.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;How many tests are there? We find out by enumerating everything there is to test. This is not a count of the things we plan to test; it is a count of all the tests that can be identified. This begins the expansion of the test inventory.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;The most important things, of course! We use ranking criteria, to prioritize the tests, then we will use MITs risk analysis to determine the most important test set from the inventory.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Once the test set has been identified, fill out the MITs sizing worksheet to size and estimate the effort. The completed worksheet forms the basis for the test agreement.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Negotiate with management for the resources required to conduct the test effort. Using the worksheet, you can calculate how many tests, testers, machines, and so on will be required to fit the test effort into the desired time line. Use the worksheet to understand and explain resource and test coverage trade-offs in order to meet a scheduled delivery date.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Use the MITs analysis and the test inventory to pick the most important areas first, and then perform path and data analysis to determine the most important tests to run in that area. Once you have determined the most important tests for each inventory item, recheck your inventory and the sizing worksheet to make sure your schedule is still viable. Renegotiate if necessary. Start running tests and develop new tests as necessary. Add your new tests to the inventory.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Use S-curves (a Logistic function which depicts an initial slow change, followed by a rapid change and then ending in a slow change again. This results in an "S" shaped line when depicted graphically. The &lt;b&gt;S-curve&lt;/b&gt; is often used to describe how new technology is adapted. Initially people are slow to begin to use the technology but once it is accepted growth is rapid. Finally, growth slows down when the market is saturated and/or newer technology comes along.) to track test progress and help determine the end of the test effort.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=""&gt;Use the performance metric to answer these questions and to improve future test efforts. The historical record of what was accomplished last time is the best starting point for improvement this time. If the effort was conducted in a methodical, reproducible way, the chances of duplicating and improving it are good.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="para" style="line-height: 150%;"&gt;In the &lt;i&gt;ideal&lt;/i&gt; scenario, you do all of these things because all these steps are necessary if you plan to do the very best test effort possible. The next thing to recognize is that the real scenario is rarely &lt;a name="167"&gt;&lt;/a&gt;&lt;a name="IDX-81"&gt;&lt;/a&gt;"ideal." The good news is this method is flexible, even agile. Any steps you perform will add to the value of the test effort. If you don't do them all, there is no penalty or detriment to your effort. Next, the steps are listed in the order that will give you the best return on your investment. This order and the relative importance of the steps is different for different types of development projects.&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;Different environments have different needs, and these needs mandate different priorities in the test approach. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8843496689438257737?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8843496689438257737/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8843496689438257737' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8843496689438257737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8843496689438257737'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/most-important-tests-mits-method.html' title='The Most Important Tests (MITs) Method'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6623928246357028347</id><published>2008-08-04T11:24:00.001-07:00</published><updated>2008-08-04T11:24:53.400-07:00</updated><title type='text'>How to Determine a Factor of Safety</title><content type='html'>&lt;p class="para" style="line-height: 150%;"&gt;Factors of safety should be determined based on the error in the previous estimation and then adjusted as needed. Even if a process does not use measurements to arrive at an estimate, a factor of safety can be established for future similar estimates. For example, a test effort was estimated to require 14 weeks. In reality, 21 weeks were required to complete the test effort. The estimate was low by a factor of:&lt;/p&gt;  &lt;p class="centered-para" style="line-height: 150%;"&gt;21/14 = 1.5&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;When the &lt;i&gt;next&lt;/i&gt; test estimation effort takes place, if the same or similar methods are used to make the estimate, even if it is based on an I-feel-lucky guess, multiply the new estimate by a factor of 1.5, and you will get an estimate that has been adjusted to be in keeping with reality.&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;   &lt;p class="MsoNormal" style="line-height: 150%;"&gt;Note &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;   &lt;p class="first-para" style="line-height: 150%;"&gt;It does not matter how a factor   of safety is determined; using them improves estimates.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;h4&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/h4&gt;  &lt;h4&gt;Always Get a Second Opinion&lt;/h4&gt;  &lt;p class="para" style="margin-left: 18pt; line-height: 150%;"&gt;No good reason exists for working without a safety net. Inspection and formal reviews are the most productive way to remove defects that we know of today. Part of the reason is that inspectors bring an outside perspective to the process, so the rest is simple human factors. Having someone to check your work is very important.&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;   &lt;p class="MsoNormal" style="line-height: 150%;"&gt;Note &lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;   &lt;p class="first-para" style="line-height: 150%;"&gt;Two points for engineers in   software to keep in mind:&lt;/p&gt;   &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;You need to pick the right tool method or approach   for the job at hand.&lt;/p&gt;   &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;You need to remain flexible and plan for change.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;b style=""&gt;Testers do not have to be &lt;i&gt;experts&lt;/i&gt; in a system to test it well. &lt;i&gt;They must be trained testers, using a systematic approach, sound reasoning, and measurements to make their case&lt;/i&gt;. They must also be well informed about the project and have good channels of communication to the experts. People skills are also a definite plus.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;b style=""&gt;Like it or not, good testing also includes exploration. Good testers are the ones that dig in and explore the system. They want to know how it works. The ones that don't dig in aren't going to get the job done, and the ones that think they know how it works are no good either, because they are closed and biased.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6623928246357028347?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6623928246357028347/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6623928246357028347' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6623928246357028347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6623928246357028347'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/how-to-determine-factor-of-safety.html' title='How to Determine a Factor of Safety'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8445093064952543646</id><published>2008-08-04T10:53:00.000-07:00</published><updated>2008-08-04T11:23:36.904-07:00</updated><title type='text'>The Engineering Approach</title><content type='html'>&lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 16pt; line-height: 150%;"&gt;Types of Assumptions&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;The following are some examples of typical assumptions for a software test effort.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Assumption: Scope and Type of Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The test effort will conduct system, integration, and function testing.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;All unit testing will be conducted by development.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Assumption: Environments That Will Be Tested&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The environments defined in the requirements are the only environments that the test effort will &lt;b style=""&gt;be responsible for verifying and validating.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;st1:place st="on"&gt;&lt;st1:placename st="on"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Environment&lt;/span&gt;&lt;/st1:PlaceName&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt; &lt;st1:placetype st="on"&gt;State(s)&lt;/st1:PlaceType&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;All operating system software will be installed before testing is begun.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;System Behavior&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The system is stable.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The system will behave in the same way it has in the past.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;System Requirements and Specifications&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The system requirements and specifications are complete and up-to-date.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Test Environment Availability&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The test environment will accurately model the real-world environment.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The test environment will be available at all times for the duration of the test effort.&lt;/p&gt;  &lt;h6 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Bug Fixes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h6&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bugs found during testing will be fixed within published turnaround times according to priority.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8445093064952543646?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8445093064952543646/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8445093064952543646' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8445093064952543646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8445093064952543646'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/engineering-approach.html' title='The Engineering Approach'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-2429415434188963336</id><published>2008-08-04T10:51:00.000-07:00</published><updated>2008-08-04T10:53:14.130-07:00</updated><title type='text'>Approaches to Managing Software Testing</title><content type='html'>&lt;div style="text-align: justify;"&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;Methods and metrics must provide demonstrable value to have credibility and worth.&lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;The best way is to provide that manager with high-quality information that he or she can use to make decisions that have a positive affect on the bottom line.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;To do that you will have to develop an approach to testing that complements (and can succeed with) the development methodology being used. You will have to measure and keep track of what you measure, and finally, you will have to convert your measurement data into that information that management finds truly valuable.&lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;Another way that you can demonstrate the value of methods and metrics is to measure the cost benefit of &lt;i&gt;not&lt;/i&gt; using the methods and metrics and compare that to the cost benefit of using them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;For example, in a case study of an early-1990s shrink-wrap RAD project a group of trained testers, using the methods and metrics in this book, found bugs at the rate of two to three per hour, while &lt;a name="113"&gt;&lt;/a&gt;&lt;a name="IDX-47"&gt;&lt;/a&gt;untrained testers, who were not using formal methods and metrics, found three bugs per day in the same applications. Further, over 90 percent of the bugs reported by the trained testers were fixed, while half of the bugs reported by the untrained testers were returned by developers as &lt;b style=""&gt;&lt;i&gt;unreproducible&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;The best reason for using methods and metrics is that companies using them have a competitive advantage. They get a much better job done for less.&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;A competent journeyman tester (the ones using methods and metrics) can successfully test any development project regardless of the development methodology being employed as long as they have sufficient resources and management support to do so. Developing or tailoring the test approach to suit the needs of the project is a critical piece of acquiring those resources and that support.&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="para" style="margin-left: 18pt; line-height: 150%;"&gt;What is required is a &lt;i&gt;balance&lt;/i&gt; between creativity and method. This is where engineers come into the picture.&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-2429415434188963336?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/2429415434188963336/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=2429415434188963336' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2429415434188963336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2429415434188963336'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/approaches-to-managing-software-testing.html' title='Approaches to Managing Software Testing'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3122756523535592130</id><published>2008-08-03T07:27:00.000-07:00</published><updated>2008-08-03T07:34:17.170-07:00</updated><title type='text'>The quality process - traditional vs. new</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;Traditional quality assurance principles are not a good fit for today's software projects. Further, the traditional processes by which we ensure quality in software systems are cumbersome and inflexible. Even more important, the traditional tools used by quality assurance are not able to keep up with the pace of software development today. Testers constrained to follow these outmoded practices using these cumbersome tools are doomed to failure.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;The quality process must be reinvented to fit the real needs of the development process. The process by which we ensure quality in a product must be improved. A company needs to write its own quality goals and create a process for ensuring that they are met. The process needs to be flexible, and it needs to take advantage of the tools that exist today.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Several new technologies exist that can be used to support quality assurance principles, such as collaboration, which allows all involved parties to contribute and communicate as the design and implementation evolve. These technologies can also help make quality assurance faster and more efficient by replacing traditional paper documentation, distribution, and review processes with instantly available single-source electronic documents, and by supplementing written descriptions with drawings.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Replacing tradition requires a culture change. And, people must change their way of working to include new tools. Changing a culture is difficult. Historically, successful cultures simply absorb new invading cultures, adopt the new ideas that work, and get on with life. Cultures that &lt;a name="108"&gt;&lt;/a&gt;&lt;a name="IDX-44"&gt;&lt;/a&gt;resist the invasion must spend resources to do so, and so become distracted from the main business at hand.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;&lt;i&gt;Software quality&lt;/i&gt; is a combination of reliability, timeliness to market, price/cost, and the feature richness. The test effort must exist in balance with these other factors. Testers need &lt;i&gt;tools&lt;/i&gt;-that is, methods and metrics that can keep up with development-and testers need the knowledge to use those tools.&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;Traditionally, testing has been a tool to measure the quality of the product. Today, testing needs to be able to do more than just measure; it needs to be able to add to the value of the product. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3122756523535592130?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3122756523535592130/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3122756523535592130' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3122756523535592130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3122756523535592130'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/quality-process-traditional-vs-new.html' title='The quality process - traditional vs. new'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-2754375775446412012</id><published>2008-08-02T02:00:00.000-07:00</published><updated>2008-08-03T07:39:22.324-07:00</updated><title type='text'>Improving the Quality Process - Improving Documentation Techniques(3)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_YkimMrvbcY8/SJXC-2ijprI/AAAAAAAAAAs/M_KRtMTYGZY/s1600-h/clip_image002.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_YkimMrvbcY8/SJXC-2ijprI/AAAAAAAAAAs/M_KRtMTYGZY/s320/clip_image002.jpg" alt="" id="BLOGGER_PHOTO_ID_5230300927308834482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[if !supportLists]--&gt;  &lt;h5 style="line-height: 150%;"&gt;  &lt;/h5&gt;&lt;h5 style="line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-style: normal;"&gt;Improving the Way Systems Are Described: Replacing Words with Pictures&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h5&gt;  It can take anywhere from 15 to 30 pages of commentary to adequately describe this process. Yet this graphic does it in one page. This type of flow mapping is far more efficient than describing the process in a commentary. It is also far more maintainable. This type of flow can be used to generate the tests required to validate the system during the test effort.&lt;a name="104"&gt;&lt;/a&gt;&lt;a name="IDX-41"&gt;&lt;/a&gt;&lt;a name="105"&gt;&lt;/a&gt;&lt;a name="IDX-42"&gt;&lt;/a&gt;  &lt;p class="para" style="line-height: 150%;"&gt;Visualization techniques create systems that are self-documenting.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-2754375775446412012?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/2754375775446412012/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=2754375775446412012' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2754375775446412012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2754375775446412012'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/improving-quality-process-improving_8350.html' title='Improving the Quality Process - Improving Documentation Techniques(3)'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_YkimMrvbcY8/SJXC-2ijprI/AAAAAAAAAAs/M_KRtMTYGZY/s72-c/clip_image002.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-802579303262997618</id><published>2008-08-02T01:54:00.000-07:00</published><updated>2008-08-03T07:43:12.492-07:00</updated><title type='text'>Improving the Quality Process - Improving Documentation Techniques(2)</title><content type='html'>&lt;span style=""&gt;&lt;span style="font-weight: bold;"&gt;Improving the Way Documents Are Created, Reviewed, and Maintained&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;We can greatly improve the creation, review, and approval process for documents if they are (1) kept in a single-source repository and (2) reviewed by the entire team with all comments being collected and merged automatically into a single document. Thousands of hours of quality assurance process time can be saved by using a collaborative environment with these capabilities.&lt;/p&gt;        &lt;p class="para" style="line-height: 150%;"&gt;In a project managed using a traditional process of distributing the design documents via email and paper, collecting comments and then rolling all the comments back into a single new version takes a lot more time than doing that through a collaborative Web site, which takes a couple of hours to create and another 1-2 days to write the &lt;a name="100"&gt;&lt;/a&gt;&lt;a name="IDX-39"&gt;&lt;/a&gt;instructions to the reviewers and train the team to use the site. One document specialist can be assigned as the permanent support role on the site to answer questions and reset passwords.&lt;br /&gt;&lt;/p&gt;  &lt;p class="last-para" style="line-height: 150%;"&gt;The whole concept of having to call in old documents and redistribute new copies in a project of any size is so wasteful that an automated Web-based system can usually pay for itself in the first revision cycle.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-802579303262997618?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/802579303262997618/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=802579303262997618' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/802579303262997618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/802579303262997618'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/improving-quality-process-improving_02.html' title='Improving the Quality Process - Improving Documentation Techniques(2)'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-2923461078716456437</id><published>2008-08-02T01:48:00.000-07:00</published><updated>2008-08-02T01:53:22.290-07:00</updated><title type='text'>Improving the Quality Process - Improving Documentation Techniques(1)</title><content type='html'>&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;span style="font-weight: bold;"&gt;Automating Record Keeping&lt;/span&gt;  &lt;/span&gt;  &lt;p class="first-para" style="line-height: 150%;"&gt;We certainly need to keep records, and we need to write down our plans, but we can't spend time doing it. The records must be generated automatically as a part of our development and quality process. The records that tell us who, what, where, when, and how should not require special effort to create, and they should be maintained automatically every time something is changed.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;The most important (read: &lt;i&gt;cost-effective&lt;/i&gt;) test automation has &lt;i&gt;not&lt;/i&gt; been preparing automated test scripts. It has been automating the documentation process, via the inventory, and test management by instituting online forms and a single-source repository for all test documentation and process tracking.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;A project Web site proved to be such a useful tool that the company kept it in service for years after the product was shipped. It was used by the support groups to manage customer issues, internal training, and upgrades to the product for several years.&lt;/p&gt;  &lt;p class="para" style="line-height: 150%;"&gt;This automation of online document repositories for test plans, scripts, scheduling, bug reporting, shared information, task lists, and discussions has been so successful that it has taken on a life of its own as a set of project management tools that enable instant collaboration amongst team members, no matter where they are located.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-2923461078716456437?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/2923461078716456437/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=2923461078716456437' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2923461078716456437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2923461078716456437'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/improving-quality-process-improving.html' title='Improving the Quality Process - Improving Documentation Techniques(1)'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-888616475697391844</id><published>2008-08-02T01:07:00.001-07:00</published><updated>2008-08-02T01:20:35.079-07:00</updated><title type='text'>Improving the Quality Process - Picking the Correct Components for Quality in Your Environment</title><content type='html'>The following are some definitions of the fundamental components that should be the goals of quality assurance.&lt;br /&gt;• The definition of quality is customer satisfaction. &lt;br /&gt;• The system for achieving quality is constant refinement. &lt;br /&gt;• The measure of quality is the profit. &lt;br /&gt;• The target goal of the quality process is a hit every time. &lt;br /&gt; &lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; Quality can be quantified most effectively by measuring customer satisfaction.&lt;br /&gt;The formula for achieving these goals is:&lt;br /&gt;• Be first to market with the product.&lt;br /&gt;• Ask the right price.&lt;br /&gt;• Get the right features in it-the required stuff and some flashy stuff that will really please the users.&lt;br /&gt;• Keep the unacceptable bugs to an absolute minimum. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Corollary: &lt;/span&gt;Make sure your bugs are less expensive and less irritating than your competitor's bugs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-888616475697391844?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/888616475697391844/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=888616475697391844' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/888616475697391844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/888616475697391844'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/improving-quality-process-picking.html' title='Improving the Quality Process - Picking the Correct Components for Quality in Your Environment'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6875149007342728802</id><published>2008-08-02T01:02:00.001-07:00</published><updated>2008-08-02T01:07:03.002-07:00</updated><title type='text'>Improving the Quality Process - Introduction</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;To improve a quality process, you need to examine your technology environment (hardware, networks, protocols, standards) and your market, and develop definitions for quality that suit them. First of all, quality is only achieved when you have balance-that is, the right proportions of the correct ingredients.&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;&lt;a name="94"&gt;&lt;/a&gt;&lt;a name="IDX-35"&gt;&lt;/a&gt;   &lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 0cm;" valign="top"&gt;   &lt;p class="MsoNormal" style="line-height: 150%;"&gt; &lt;b&gt;Note: &lt;/b&gt;Quality is getting the right balance   between timeliness, price, features, reliability, and support to achieve   customer satisfaction.&lt;/p&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6875149007342728802?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6875149007342728802/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6875149007342728802' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6875149007342728802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6875149007342728802'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/improving-quality-process.html' title='Improving the Quality Process - Introduction'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-4780454378971627541</id><published>2008-08-02T01:01:00.001-07:00</published><updated>2008-08-02T01:01:59.320-07:00</updated><title type='text'>Traditional tools used by quality assurance and software testers</title><content type='html'>&lt;p class="first-para"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="para" style="margin-left: 27pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;Records. &lt;/b&gt;Documentation that keeps track of events, answering the questions when, where, who, how, and why.&lt;/p&gt;  &lt;p class="para" style="margin-left: 27pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;Documents. &lt;/b&gt;Standards, quality plan, test plan, process statements, policy.&lt;/p&gt;  &lt;p class="para" style="margin-left: 27pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;Activities. &lt;/b&gt;Reviews, change management, version control, testing.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-4780454378971627541?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/4780454378971627541/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=4780454378971627541' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4780454378971627541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/4780454378971627541'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/traditional-tools-used-by-quality.html' title='Traditional tools used by quality assurance and software testers'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3283380283802429528</id><published>2008-08-02T00:59:00.001-07:00</published><updated>2008-08-02T01:15:32.161-07:00</updated><title type='text'>What the Auditors Want to Know from the Testers</title><content type='html'>&lt;p class="first-para" style="line-height: 150%;"&gt;When testing a product the auditors want to know:&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;What does the software or system do?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;What are you going to do to prove that it works?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;What are your test results? Did it work under the required environment? Or, did you have to tweak it?&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;To test means to compare an actual result to a &lt;b style=""&gt;standard&lt;/b&gt;. If there is no standard to compare against, there can be no test. &lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Obviously, there is great room for &lt;b style=""&gt;improvement in the software testing environment&lt;/b&gt;. Testing is often insufficient and frequently nonexistent. But valuable software testing can take place, even in the constraints (and seeming chaos) of the present market, and the test effort can and should add value and quality to the product.&lt;/p&gt;  &lt;p class="first-para"&gt;&lt;i&gt;&lt;b&gt;Quality Assurance: &lt;/b&gt;All those planned and systematic actions necessary to provide adequate confidence that a product or service will satisfy given requirements for quality.&lt;/i&gt; &lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The best combination: &lt;b style=""&gt;Formal design inspections, formal quality assurance, formal testing&lt;/b&gt; 77%-95%&lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Quality is not a thing; it is the measure of a thing. &lt;i&gt;Quality is a metric.&lt;/i&gt; The &lt;i&gt;thing&lt;/i&gt; that quality measures is &lt;b style=""&gt;&lt;span style=""&gt;excellence.&lt;/span&gt;&lt;/b&gt; How much excellence does a thing possess? Excellence is the fact or condition of excelling; of superiority; surpassing goodness or merit.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The definition of quality is "conformance with requirements."&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The system for achieving quality is "prevention, not cure."&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The measure of success is "the cost of quality."&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The target goal of the quality process is "Zero defects-get it right the first time."&lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;Overplanning&lt;/b&gt; and &lt;b style=""&gt;underplanning&lt;/b&gt; the product are two of the main failings in software development efforts today. &lt;/p&gt;  &lt;p class="para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A development process that does not allow sufficient time for &lt;b style=""&gt;design&lt;/b&gt;, &lt;b style=""&gt;test&lt;/b&gt;, and &lt;b style=""&gt;fix&lt;/b&gt; cycles will fail to produce the right product.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3283380283802429528?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3283380283802429528/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3283380283802429528' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3283380283802429528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3283380283802429528'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/what-auditors-want-to-know-from-testers.html' title='What the Auditors Want to Know from the Testers'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-3875635005044098640</id><published>2008-08-02T00:57:00.000-07:00</published><updated>2008-08-02T00:58:15.815-07:00</updated><title type='text'>Software Testing Fundamentals-Methods and Metrics</title><content type='html'>&lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;span class="glossterm"&gt;metric&lt;/span&gt; = a measure.&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;span class="glossterm"&gt;metric system&lt;/span&gt; = a set or system of measures.&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The only type of &lt;b style=""&gt;metrics &lt;/b&gt;used regularly has to do with counting bugs and ranking them by severity. Only a small percentage of respondents measure the bug find rate or the bug fix rate. No other metrics are widely used in development or testing, even among the best-educated and seemingly most competent testers. It can also be inferred from these results that the companies for which these testers work do not have a tradition of measuring their software development or test processes.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;Inspection or &lt;i&gt;structured analysis =&lt;/i&gt;&lt;/b&gt; some documented structured or systematic method of analyzing the test needs of a system. &lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;Automated test tools&lt;/b&gt; are used today, but test automation is also voted as the most difficult test technique to implement and maintain in the test effort.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Within months, every major hardware and software vendor had a support &lt;b style=""&gt;presence on the Web&lt;/b&gt;. &lt;b style=""&gt;The bug fix process became far more efficient because it was no longer necessary to ship fixes to everyone who purchased the product-only those who noticed the problem came looking for a solution&lt;/b&gt;. Thanks to the Internet, the cost of distributing a bug fix fell to almost nothing as more and more users downloaded the fixes from the Web. The customer support Web site provided a single source of information and updates for customers and customer service, and the time required to make a fix available to the users shrank to insignificance. The cost of implementing these support Web sites is very small and the savings were huge; customer satisfaction and profit margins go up. It has become common practice to distribute bug-fix releases (put the patches and fixes on the Web site) within a few weeks of the initial release-after the market has been captured. Consequently, reliability metrics are not currently considered to be crucial to commercial success of the product.&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The way to develop a good cost-benefit statement, and add real credibility to software testing, is to use &lt;b style=""&gt;formal methods and good metrics.&lt;/b&gt;&lt;/p&gt;  &lt;p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Regardless of the cause, once a software maker has decided to use formal methods, it must address the question of &lt;b style=""&gt;which formal methods and metrics to adopt.&lt;/b&gt; Once methods or a course toward methods has been determined, everyone must be educated in the new methods. Moving an established culture from an informal method of doing something to a formal method of doing the same thing takes time, determination, and a good cost-benefit ratio. It amounts to a cultural change, and introducing culture changes is risky business. Once the new methods are established, it still takes a continuing commitment from management to keep them alive and in use.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-3875635005044098640?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/3875635005044098640/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=3875635005044098640' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3875635005044098640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/3875635005044098640'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/08/software-testing-fundamentals-methods.html' title='Software Testing Fundamentals-Methods and Metrics'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8284234311832963496</id><published>2008-07-31T10:11:00.000-07:00</published><updated>2008-08-02T01:30:31.700-07:00</updated><title type='text'>The Benefits of Automation and Tools</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_YkimMrvbcY8/SJHzCTVWPyI/AAAAAAAAAAU/L78SYljgPsA/s1600-h/clip_image001.jpg"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_YkimMrvbcY8/SJHzCTVWPyI/AAAAAAAAAAU/L78SYljgPsA/s320/clip_image001.jpg" alt="" id="BLOGGER_PHOTO_ID_5229227863228956450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/div&gt;&lt;p class="doctext" style="line-height: 150%; text-align: center;"&gt;&lt;b style=""&gt;A project-level pie chart shows how many bugs were found in each major functional area of the software.&lt;/b&gt;&lt;/p&gt;&lt;p class="doctext" style="line-height: 150%;"&gt;If you're testing a particular feature that means you may need to run your tests not once, but potentially dozens of times. You'll check that the bugs you found in previous test runs were indeed fixed and that no new bugs were introduced. This process of rerunning your tests is known as &lt;span class="docemphasis"&gt;regression testing&lt;/span&gt;.&lt;a name="ch15index05"&gt;&lt;/a&gt;&lt;a name="ch15index04"&gt;&lt;/a&gt;&lt;a name="ch15index03"&gt;&lt;/a&gt;&lt;a name="ch15index02"&gt;&lt;/a&gt;&lt;a name="ch15index01"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;If a small software project had several thousand test cases to run, there might be barely enough time to execute them just once. Running them numerous times might be impossible, let alone monotonous. Software test tools and automation can help solve this problem by providing a more efficient means to run your tests than by manual testing.&lt;a name="ch15index06"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;b style=""&gt;The principal attributes of tools and automation are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Speed&lt;/b&gt;&lt;/span&gt;. Think about how long it would take you to manually try a few thousand test cases for the Windows Calculator. You might average a test case every five seconds or so. Automation might be able to run 10, 100, even 1000 times that fast.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Efficiency&lt;/b&gt;&lt;/span&gt;. While you're busy running test cases, you can't be doing anything else. If you have a test tool that reduces the time it takes for you to run your tests, you have more time for test planning and thinking up new tests.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Accuracy and Precision&lt;/b&gt;&lt;/span&gt;. After trying a few hundred cases, your attention span will wane and you'll start to make mistakes. A test tool will perform the same test and check the results perfectly, each and every time.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Resource Reduction&lt;/b&gt;&lt;/span&gt;. Sometimes it can be physically impossible to perform a certain test case. The number of people or the amount of equipment required to create the test condition could be prohibitive. A test tool can be used to simulate the real world and greatly reduce the physical resources necessary to perform the testing.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Simulation and Emulation&lt;/b&gt;&lt;/span&gt;. Test tools are often used to replace hardware or software that would normally interface to your product. This "fake" device or application can then be used to drive or respond to your software in ways that you choose and ways that might otherwise be difficult to achieve.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;Relentlessness&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Test tools and automation never tire or give up. They're like that battery-operated bunny of the TV commercials they can keep going and going and…&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;All this probably sounds like great news. You could have test tools do all the work for you turn them loose and wait for the results. Unfortunately, it's not that easy. Houses aren't built automatically, even though carpenters have power saws and nail guns. The tools just make it easier for them to do their work and for the resulting work to be of higher quality. Software test tools operate the same way.&lt;/p&gt;  &lt;p class="docnotetitle" style="line-height: 150%;"&gt;&lt;a name="ch15note01"&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Software test tools aren't a substitute for software testers they just help software testers perform their jobs better.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;It's important to note that using test tools isn't always the right answer. Sometimes there's no substitute for manual testing. For now, take in the information about what tests tools can do and how they work. Think about how you might use them to complement your testing tasks. At the end of this chapter, you'll learn about a few limitations and cautions to consider before you embark on using tools on your projects.&lt;a name="ch15index07"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="text-align: center; line-height: 150%;" align="center"&gt;&lt;br /&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8284234311832963496?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8284234311832963496/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8284234311832963496' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8284234311832963496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8284234311832963496'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/benefits-of-automation-and-tools.html' title='The Benefits of Automation and Tools'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_YkimMrvbcY8/SJHzCTVWPyI/AAAAAAAAAAU/L78SYljgPsA/s72-c/clip_image001.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-1854101085612995759</id><published>2008-07-31T10:08:00.002-07:00</published><updated>2008-08-02T01:47:24.906-07:00</updated><title type='text'>The fundamentals of software testing</title><content type='html'>&lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Static black-box&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt; testing&lt;/b&gt; involves examining the specification and looking for problems before they get written into the software.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Dynamic black-box&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt; testing&lt;/b&gt; involves testing the software without knowing how it works.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Static white-box&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt; testing&lt;/b&gt; involves examining the details of the written code through formal reviews and inspections.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Dynamic white-box&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt; testing&lt;/b&gt; involves testing the software when you can see how it works and basing your tests on that information.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 18pt; line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Here's a list of seven important traits common to a good UI. It doesn't matter if the UI is on a digital watch or is the Mac OS X interface, they all still apply.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Follows standards and guidelines&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Intuitive&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Consistent&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Flexible&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Comfortable&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Correct&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-weight: bold;"&gt;Useful&lt;/span&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;When you're testing a user interface, consider the following things and how they might apply to gauging how intuitive your software is:&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Is the user interface clean, unobtrusive, not busy? The UI shouldn't get in the way of what you want to do. The functions you need or the response you're looking for should be obvious and be there when you expect them.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Is the UI organized and laid out well? Does it allow you to easily get from one function to another? Is what to do next obvious? At any point can you decide to do nothing or even back up or back out? Are your inputs acknowledged? Do the menus or windows go too deep?&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Is there excessive functionality? Does the software attempt to do too much, either as a whole or in part? Do too many features complicate your work? Do you feel like you're getting information overload?&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;If all else fails, does the help system really help you?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-1854101085612995759?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/1854101085612995759/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=1854101085612995759' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1854101085612995759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1854101085612995759'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/fundamentals-of-software-testing.html' title='The fundamentals of software testing'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-1406959361126476408</id><published>2008-07-31T10:08:00.001-07:00</published><updated>2008-07-31T10:08:21.892-07:00</updated><title type='text'>Follow Experience, Intuition, and Hunches</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;There's no better way to improve as a software tester than to gain experience. There's no better learning tool than just doing it, and there's no better lesson than getting that first phone call from a customer who found a bug in the software you just finished testing.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Experience and intuition can't be taught. They must be gained over time. You can apply all the techniques you've learned so far and still miss important bugs. It's the nature of the business. As you progress through your career, learning to test different types and sizes of products, you'll pick up little tips and tricks that steer you toward those tough-to-find bugs. You'll be able to start testing a new piece of software and quickly find bugs that your peers would have missed.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Take notes of what works and what doesn't. Try different approaches. If you think something looks suspicious, take a closer look. Go with your hunches until you prove them false.&lt;a name="ch05index202"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-1406959361126476408?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/1406959361126476408/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=1406959361126476408' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1406959361126476408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/1406959361126476408'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/follow-experience-intuition-and-hunches.html' title='Follow Experience, Intuition, and Hunches'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-5938709268595580008</id><published>2008-07-31T10:07:00.001-07:00</published><updated>2008-07-31T10:07:35.060-07:00</updated><title type='text'>Think like a Hacker</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;No software is 100% secure. The hackers of the world know this and will seek to find vulnerabilities in your software and exploit them. As a tester, you'll need to be devious and conniving. Try to think of what things of value your software contains, why someone might want to gain access to them, and what the methods of entry might be for them to get in. Don't be gentle. They won't be.&lt;a name="ch05index201"&gt;&lt;/a&gt;&lt;a name="ch05index200"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-5938709268595580008?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/5938709268595580008/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=5938709268595580008' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5938709268595580008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5938709268595580008'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/think-like-hacker.html' title='Think like a Hacker'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-7563081616219692573</id><published>2008-07-31T10:06:00.001-07:00</published><updated>2008-07-31T10:06:50.921-07:00</updated><title type='text'>Look for Bugs Where You've Already Found Them</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;There are two reasons to look for bugs in the areas where you've already found them:&lt;a name="ch05index199"&gt;&lt;/a&gt;&lt;a name="ch05index198"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;The more bugs you find, the more bugs there are. If you discover that you're finding lots of bugs at the upper boundary conditions across various features, it would be wise to emphasize testing these upper boundaries on all features. Of course you're going to test these anyway, but you might want to throw in a few special cases to make sure the problem isn't pervasive.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Many programmers tend to fix only the specific bug you report. No more, no less. If you report a bug that starting, stopping, and restarting a program 255 times results in a crash, that's what the programmer will fix. There may have been a memory leak that caused the problem and the programmer found and fixed it. When you get the software back to retest, make sure you rerun the same test for 256 times and beyond. There could very well be yet another memory leak somewhere out there.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-7563081616219692573?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/7563081616219692573/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=7563081616219692573' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/7563081616219692573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/7563081616219692573'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/look-for-bugs-where-youve-already-found.html' title='Look for Bugs Where You&apos;ve Already Found Them'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-484550895043086220</id><published>2008-07-31T10:05:00.001-07:00</published><updated>2008-08-02T01:44:44.757-07:00</updated><title type='text'>Repetition, Stress, and Load</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;Three other test-to-fail state tests are repetition, stress, and load. These tests target state handling problems where the programmer didn't consider what might happen in the worst-case scenarios.&lt;a name="ch05index176"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Repetition&lt;/b&gt; &lt;b style=""&gt;testing&lt;/b&gt;&lt;/span&gt; involves doing the same operation over and over. This could be as simple as starting up and shutting down the program over and over. It could also mean repeatedly saving and loading data or repeatedly selecting the same operation. You might find a bug after only a couple repetitions or it might take thousands of attempts to reveal a problem.&lt;a name="ch05index181"&gt;&lt;/a&gt;&lt;a name="ch05index180"&gt;&lt;/a&gt;&lt;a name="ch05index179"&gt;&lt;/a&gt;&lt;a name="ch05index178"&gt;&lt;/a&gt;&lt;a name="ch05index177"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;The main reason for doing repetition testing is to look for &lt;span class="docemphasis"&gt;memory leaks&lt;/span&gt;. A common software problem happens when computer memory is allocated to perform a certain operation but isn't completely freed when the operation completes. The result is that eventually the program uses up memory that it depends on to work reliably. If you've ever used a program that works fine when you first start it up, but then becomes slower and slower or starts to behave erratically over time, it's likely due to a memory leak bug. Repetition testing will flush these problems out.&lt;a name="ch05index182"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Stress&lt;/b&gt; &lt;b style=""&gt;testing&lt;/b&gt;&lt;/span&gt; is running the software under less-than-ideal conditions: slow memory, low disk space, slow CPUs, slow modems, and so on. Look at your software and determine what external resources and dependencies it has. Stress testing is simply limiting them to their bare minimum. Your goal is to starve the software. Does this sound like boundary condition testing? It is.&lt;a name="ch05index184"&gt;&lt;/a&gt;&lt;a name="ch05index183"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Load testing&lt;/b&gt;&lt;/span&gt; is the opposite of stress testing. With stress testing, you starve the software; with load testing, you feed it all that it can handle. Operate the software with the largest possible data files. If the software operates on peripherals such as printers or communications ports, connect as many as you can. If you're testing an Internet server that can handle thousands of simultaneous connections, do it. Max out the software's capabilities. Load it down.&lt;a name="ch05index186"&gt;&lt;/a&gt;&lt;a name="ch05index185"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Don't forget about time as a load testing variable. With most software, it's important for it to run over long periods. Some software should be able to run forever without being restarted.&lt;/p&gt;&lt;p class="doctext" style="line-height: 150%; font-weight: bold;"&gt;NOTE:&lt;/p&gt;&lt;p class="doctext" style="line-height: 150%;"&gt;&lt;a name="ch05index189"&gt;&lt;/a&gt;&lt;a name="ch05index188"&gt;&lt;/a&gt;&lt;a name="ch05index187"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="docnotetitle" style="line-height: 150%;"&gt;&lt;a name="ch05note16"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;There's no reason that you can't combine repetition, stress, and load, running all the tests at the same time. This is a sure way to expose severe bugs that might otherwise be difficult to find.&lt;a name="ch05index190"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-484550895043086220?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/484550895043086220/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=484550895043086220' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/484550895043086220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/484550895043086220'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/repetition-stress-and-load.html' title='Repetition, Stress, and Load'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-2430140377255467253</id><published>2008-07-31T10:03:00.000-07:00</published><updated>2008-08-02T01:45:53.681-07:00</updated><title type='text'>What Makes a Good Software Tester?</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;Here's a list of traits that most software testers should have:&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are explorers&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Software testers aren't afraid to venture into unknown situations. They love to get a new piece of software, install it on their PC, and see what happens.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are troubleshooters&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Software testers are good at figuring out why something doesn't work. They love puzzles.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are relentless&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Software testers keep trying. They may see a bug that quickly vanishes or is difficult to re-create. Rather than dismiss it as a fluke, they will try every way possible to find it.&lt;a name="ch01index45"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are creative&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;. &lt;/b&gt;Testing the obvious isn't sufficient for software testers. Their job is to think up creative and even off-the-wall approaches to find bugs.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are (mellowed) perfectionists&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; They strive for perfection, but they know when it becomes unattainable and they're okay with getting as close as they can.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They exercise good judgment&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Software testers need to make decisions about what they will test, how long it will take, and if the problem they're looking at is really a bug.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are tactful and diplomatic&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Software testers are always the bearers of bad news. They have to tell the programmers that their baby is ugly. Good software testers know how to do so tactfully and professionally and know how to work with programmers who aren't always tactful and diplomatic.&lt;/p&gt;  &lt;p class="doctext" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphstrong"&gt;&lt;b style=""&gt;They are persuasive&lt;/b&gt;&lt;/span&gt;&lt;b style=""&gt;.&lt;/b&gt; Bugs that testers find won't always be viewed as severe enough to be fixed. Testers need to be good at making their points clear, demonstrating why the bug does indeed need to be fixed, and following through on making it happen.&lt;a name="ch01index47"&gt;&lt;/a&gt;&lt;a name="ch01index46"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Software testing is a critical job. With the size and complexity of today's software, it's imperative that software testing be performed professionally and effectively. Too much is at risk. We don't need more defective computer chips, crashed systems, or stolen credit card numbers.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Look at a few examples so you can start thinking about all the &lt;b style=""&gt;boundary possibilities&lt;/b&gt;:&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;If a text entry field allows 1 to 255 characters, try entering 1 character and 255 characters as the valid partition. You might also try 254 characters as a valid choice. Enter 0 and 256 characters as the invalid partitions.&lt;a name="ch05index71"&gt;&lt;/a&gt;&lt;a name="ch05index70"&gt;&lt;/a&gt;&lt;a name="ch05index69"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;If a program reads and writes to a CD-R, try saving a file that's very small, maybe with one entry. Save a file that's very largejust at the limit for what the disc holds. Also try saving an empty file and a file that's too large to fit on the disc.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;If a program allows you to print multiple pages onto a single page, try printing just one (the standard case) and try printing the most pages that it allows. If you can, try printing zero pages and one more than it allows.&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Maybe the software has a data-entry field for a 9-digit ZIP code. Try 00000-0000, the simplest and smallest. Try entering 99999-9999 as the largest. Try entering one more or one less digit than what's allowed.&lt;a name="ch05index74"&gt;&lt;/a&gt;&lt;a name="ch05index73"&gt;&lt;/a&gt;&lt;a name="ch05index72"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:10;"  &gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;If you're testing a flight simulator, try flying right at ground level and at the maximum allowed height for your plane. Try flying below ground level and below sea level as well as into outer space.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Since you can't test everything, performing equivalence partitioning around boundary conditions, such as in these examples, to create your test cases is critical. It's the most effective way to reduce the amount of testing you need to perform.&lt;/p&gt;  &lt;p class="docnotetitle" style="line-height: 150%;"&gt;&lt;a name="ch05note09"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;It's vitally important that you continually look for boundaries in every piece of software you work with. The more you look, the more boundaries you'll discover, and the more bugs you'll find.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-2430140377255467253?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/2430140377255467253/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=2430140377255467253' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2430140377255467253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/2430140377255467253'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/what-makes-good-software-tester.html' title='What Makes a Good Software Tester?'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-466947919655264077</id><published>2008-07-31T10:02:00.000-07:00</published><updated>2008-07-31T10:03:36.070-07:00</updated><title type='text'>What Exactly Does a Software Tester Do?</title><content type='html'>&lt;p class="doclist" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;The goal of a software tester is to find bugs, find them as early as possible, and make sure they get fixed.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-466947919655264077?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/466947919655264077/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=466947919655264077' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/466947919655264077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/466947919655264077'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/what-exactly-does-software-tester-do.html' title='What Exactly Does a Software Tester Do?'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-6668184941798675782</id><published>2008-07-30T07:49:00.000-07:00</published><updated>2008-07-30T07:50:44.971-07:00</updated><title type='text'>The Cost of Bugs</title><content type='html'>&lt;p class="doctext" style="line-height: 150%;"&gt;The costs are logarithmic that is, they increase tenfold as time increases. A bug found and fixed during the early stages when the specification is being written might cost next to nothing, or $1 in our example. The same bug, if not found until the software is coded and tested, might cost $10 to $100. If a customer finds it, the cost could easily be thousands or even millions of dollars.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-6668184941798675782?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/6668184941798675782/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=6668184941798675782' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6668184941798675782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/6668184941798675782'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/cost-of-bugs.html' title='The Cost of Bugs'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-5319603327888860064</id><published>2008-07-30T07:40:00.000-07:00</published><updated>2008-07-30T07:44:23.546-07:00</updated><title type='text'>Why Do Bugs Occur?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_YkimMrvbcY8/SJB-BoV97-I/AAAAAAAAAAM/3hJu9Z8H7EU/s1600-h/schema1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_YkimMrvbcY8/SJB-BoV97-I/AAAAAAAAAAM/3hJu9Z8H7EU/s320/schema1.JPG" alt="" id="BLOGGER_PHOTO_ID_5228817733851672546" border="0" /&gt;&lt;/a&gt;  &lt;p class="doctext" style="line-height: 150%; text-align: center;"&gt;&lt;b style=""&gt;Bugs are caused for numerous reasons, but, in this sample project analysis, the main cause can be traced to the specification.&lt;/b&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="text-align: center; line-height: 150%;" align="center"&gt;What you'll be surprised to find out is that most of them aren't caused by programming errors. Numerous studies have been performed on very small to extremely large projects and the results are always the same. The number one cause of software bugs is the specification.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-5319603327888860064?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/5319603327888860064/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=5319603327888860064' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5319603327888860064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/5319603327888860064'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/why-do-bugs-occur.html' title='Why Do Bugs Occur?'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_YkimMrvbcY8/SJB-BoV97-I/AAAAAAAAAAM/3hJu9Z8H7EU/s72-c/schema1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4037345767661994659.post-8226230497987610108</id><published>2008-07-30T07:36:00.000-07:00</published><updated>2008-08-02T01:47:59.205-07:00</updated><title type='text'>What Is a Bug?</title><content type='html'>&lt;h4 style="line-height: 150%;"&gt;Terms for Software Failures&lt;/h4&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;Depending on where you're employed as a software tester, you will use different terms to describe what happens when software fails. Here are a few:&lt;a name="ch01index17"&gt;&lt;/a&gt;&lt;a name="ch01index16"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;thead&gt;   &lt;tr style=""&gt;    &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;    &lt;p class="doctext" style="line-height: 150%;"&gt;Defect&lt;/p&gt;    &lt;/td&gt;    &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;    &lt;p class="doctext" style="line-height: 150%;"&gt;Variance&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Fault&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Failure&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Problem&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Inconsistency&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Error&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Feature&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Incident&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Bug&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="doctext" style="line-height: 150%;"&gt;Anomaly&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding: 3.75pt; font-weight: bold;" valign="top"&gt;   &lt;p class="MsoNormal" style="line-height: 150%;"&gt; &lt;/p&gt;  &lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="line-height: 150%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;(There's also a list of unmentionable terms, but they're most often used privately among programmers.)&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;You might be amazed that so many names could be used to describe a software failure. Why so many? It's all really based on the company's culture and the process the company uses to develop its software. If you look up these words in the dictionary, you'll find that they all have slightly different meanings. They also have inferred meanings by how they're used in day-to-day conversation.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;For example, &lt;span class="docemphasis"&gt;fault, failure&lt;/span&gt;, and &lt;span class="docemphasis"&gt;defect&lt;/span&gt; tend to imply a condition that's really severe, maybe even dangerous. It doesn't sound right to call an incorrectly colored icon a &lt;span class="docemphasis"&gt;fault&lt;/span&gt;. These words also tend to imply blame: "It's his fault that the software failed."&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;Anomaly, incident&lt;/span&gt;, and &lt;span class="docemphasis"&gt;variance&lt;/span&gt; don't sound quite so negative and are often used to infer unintended operation rather than all-out failure. "The president stated that it was a software anomaly that caused the missile to go off course."&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;span class="docemphasis"&gt;&lt;b style=""&gt;Problem&lt;/b&gt;, &lt;b style=""&gt;error&lt;/b&gt;&lt;/span&gt;, and &lt;span class="docemphasis"&gt;&lt;b style=""&gt;bug&lt;/b&gt;&lt;/span&gt; are probably the most generic terms used.&lt;a name="ch01index18"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;For the purposes of this book and much of the software industry, a &lt;span class="docemphasis"&gt;software bug&lt;/span&gt; occurs when one or more of the following five &lt;b style=""&gt;rules&lt;/b&gt; is true:&lt;a name="ch01index25"&gt;&lt;/a&gt;&lt;a name="ch01index24"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;The software doesn't do something that the product specification says it should do.&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;The software does something that the product specification says it shouldn't do.&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;3.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;The software does something that the product specification doesn't mention.&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;4.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;The software doesn't do something that the product specification doesn't mention but should.&lt;/span&gt;&lt;/p&gt;  &lt;p class="doclist" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;5.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class="docemphasis"&gt;The software is difficult to understand, hard to use, slow, orin the software tester's eyeswill be viewed by the end user as just plain not right&lt;/span&gt;.&lt;/p&gt;  &lt;p class="doctext" style="line-height: 150%;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4037345767661994659-8226230497987610108?l=devtesting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devtesting.blogspot.com/feeds/8226230497987610108/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4037345767661994659&amp;postID=8226230497987610108' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8226230497987610108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4037345767661994659/posts/default/8226230497987610108'/><link rel='alternate' type='text/html' href='http://devtesting.blogspot.com/2008/07/what-is-bug.html' title='What Is a Bug?'/><author><name>Adrian</name><uri>http://www.blogger.com/profile/06405624790460668527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
