tag:blogger.com,1999:blog-40373457676619946592024-03-29T05:29:34.609+02:00Software TestingAnonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-4037345767661994659.post-6006022376199688672016-11-10T16:57:00.002+02:002016-11-10T17:00:34.869+02:00User Acceptance Testing<h2>
<span style="font-size: small;">What is User Acceptance Testing?</span></h2>
<span style="font-size: small;">
</span><span style="font-size: small;">User acceptance testing, a testing methodology where the clients/end
users involved in testing the product to validate the product against
their requirements. It is performed at client location at developer's
site. </span><br />
<span style="font-size: small;">
</span><span style="font-size: small;">For industry such as medicine or aviation industry, contract and
regulatory compliance testing and operational acceptance testing is also
carried out as part of user acceptance testing.</span><br />
<span style="font-size: small;">
</span><span style="font-size: small;">UAT is context dependent and the UAT plans are prepared based on the
requirements and NOT mandatory to execute all kinds of user acceptance
tests and even coordinated and contributed by testing team.</span><br />
<span style="font-size: small;">
</span>
<h2>
<span style="font-size: small;">User Acceptance Testing - In SDLC</span></h2>
<span style="font-size: small;">
</span><span style="font-size: small;">The following diagram explains the fitment of user acceptance testing in the software development life cycle:</span><br />
<span style="font-size: small;">
<img alt="User acceptance testing in Test Life Cycle" height="185" src="https://www.tutorialspoint.com/software_testing_dictionary/images/use_acceptance_testing.jpg" width="320" />
</span><span style="font-size: small;">The acceptance test cases are executed against the test data or using
an acceptance test script and then the results are compared with the
expected ones. </span><br />
<span style="font-size: small;">
</span>
<h2>
<span style="font-size: small;">Acceptance Criteria</span></h2>
<span style="font-size: small;">
</span><span style="font-size: small;">Acceptance criteria are defined on the basis of the following attributes:</span><br />
<ul class="list">
<li><span style="font-size: small;">Functional Correctness and Completeness</span></li>
<li><span style="font-size: small;">Data Integrity</span></li>
<li><span style="font-size: small;">Data Conversion</span></li>
<li><span style="font-size: small;">Usability</span></li>
<li><span style="font-size: small;">Performance</span></li>
<li><span style="font-size: small;">Timeliness</span></li>
<li><span style="font-size: small;">Confidentiality and Availability</span></li>
<li><span style="font-size: small;">Installability and Upgradability</span></li>
<li><span style="font-size: small;">Scalability</span></li>
<li><span style="font-size: small;">Documentation</span></li>
</ul>
<span style="font-size: small;">
</span>
<h2>
<span style="font-size: small;">Acceptance Test Plan - Attributes</span></h2>
<span style="font-size: small;">
</span><span style="font-size: small;">The acceptance test activities are carried out in phases. Firstly the
basic tests are executed and if the test results are satisfactory then
the execution of more complex scenarios are carried out.</span><br />
<span style="font-size: small;">
</span><span style="font-size: small;">The Acceptance test plan has the following attributes</span><br />
<span style="font-size: small;">
</span>
<ul class="list">
<li><span style="font-size: small;">Introduction</span></li>
<li><span style="font-size: small;">Acceptance Test Category</span></li>
<li><span style="font-size: small;">operation Environment</span></li>
<li><span style="font-size: small;">Test case ID</span></li>
<li><span style="font-size: small;">Test Title</span></li>
<li><span style="font-size: small;">Test Objective</span></li>
<li><span style="font-size: small;">Test Procedure</span></li>
<li><span style="font-size: small;">Test Schedule</span></li>
<li><span style="font-size: small;">Resources</span></li>
</ul>
<span style="font-size: small;">
</span><span style="font-size: small;">The acceptance test activities are designed to reach at one of the conclusions :</span><br />
<span style="font-size: small;">
</span>
<ol class="list">
<li><span style="font-size: small;">Accept the system as delivered</span></li>
<li><span style="font-size: small;">Accept the system after the requested modifications have been made</span></li>
<li><span style="font-size: small;">Do not accept the system</span></li>
</ol>
<span style="font-size: small;">
</span>
<h2>
<span style="font-size: small;">Acceptance Test Report - Attributes</span></h2>
<span style="font-size: small;">
</span><span style="font-size: small;">The Acceptance test Report has the following attributes:</span><br />
<span style="font-size: small;">
</span>
<ul class="list">
<li><span style="font-size: small;">Report Identifier</span></li>
<li><span style="font-size: small;">Summary of Results</span></li>
<li><span style="font-size: small;">Variations</span></li>
<li><span style="font-size: small;">Recommendations</span></li>
<li><span style="font-size: small;">Summary of To-DO List</span></li>
<li><span style="font-size: small;">Approval Decision</span></li>
</ul>
Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com32tag:blogger.com,1999:blog-4037345767661994659.post-32981742796100511162016-11-10T16:50:00.002+02:002016-11-10T16:54:05.696+02:00Web Application Testing<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
<br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]-->
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;">
<b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">What
is Web Application Testing?</span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Web application testing, a software
testing technique exclusively adopted to test the applications that are hosted
on web in which the application interfaces and other functionalities are
tested.</span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 2;">
<b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Web
Application Testing - Techniques:</span></b></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">1. <b>Functionality Testing</b> -
The below are some of the checks that are performed but not limited to the
below list:</span></div>
<ul type="disc">
<li class="MsoNormal" style="line-height: normal; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Verify there is no dead page or invalid redirects.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">First check all the validations on each field.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Wrong inputs to perform negative testing.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Verify the workflow of the system.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l2 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Verify the data integrity.</span></li>
</ul>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">2. <b>Usability testing - </b>To
verify how the application is easy to use with.</span></div>
<ul type="disc">
<li class="MsoNormal" style="line-height: normal; mso-list: l1 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Test the navigation and controls.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l1 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Content checking.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l1 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Check for user intuition.</span></li>
</ul>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">3. <b>Interface testing - </b>Performed
to verify the interface and the dataflow from one system to other. </span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">4. <b>Compatibility testing- </b>Compatibility
testing is performed based on the context of the application. </span></div>
<ul type="disc">
<li class="MsoNormal" style="line-height: normal; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Browser compatibility</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Operating system compatibility </span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l4 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Compatible to various devices like notebook, mobile,
etc.</span></li>
</ul>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">5. <b>Performance testing - </b>Performed
to verify the server response time and throughput under various load
conditions.</span></div>
<ul type="disc">
<li class="MsoNormal" style="line-height: normal; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Load testing - </span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">It
is the simplest form of testing conducted to understand the behaviour of
the system under a specific load. Load testing will result in measuring
important business critical transactions and load on the database,
application server, etc. are also monitored. </span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Stress testing - </span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">It
is performed to find the upper limit capacity of the system and also to
determine how the system performs if the current load goes well above the
expected maximum.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Soak testing - </span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Soak
Testing also known as endurance testing, is performed to determine the
system parameters under continuous expected load. During soak tests the
parameters such as memory utilization is monitored to detect memory leaks
or other performance issues. The main aim is to discover the system's
performance under sustained use.</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l3 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Spike testing - </span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Spike
testing is performed by increasing the number of users suddenly by a very
large amount and measuring the performance of the system. The main aim is
to determine whether the system will be able to sustain the work load.</span></li>
</ul>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">6. <b>Security testing - </b>Performed
to verify if the application is secured on web as data theft and unauthorized
access are more common issues and below are some of the techniques to verify
the security level of the system.</span></div>
<ul type="disc">
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Injection</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Broken Authentication and Session Management</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Cross-Site Scripting (XSS)</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Insecure Direct Object References</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Security Misconfiguration</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Sensitive Data Exposure</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Missing Function Level Access Control</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Cross-Site Request Forgery (CSRF)</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Using Components with Known Vulnerabilities</span></li>
<li class="MsoNormal" style="line-height: normal; mso-list: l0 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Unvalidated Redirects and Forwards</span></li>
</ul>
<div class="MsoNormal">
<br /></div>
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com13tag:blogger.com,1999:blog-4037345767661994659.post-49705072062851776432013-11-15T10:21:00.001+02:002017-05-05T12:18:08.347+03:00How to write a good test case?<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Writing test cases is one of the major and most important activities which any tester performs during the entire testing cycle. The approach for writing good test cases will be to identify, define and analyse the requirements. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When you begin writing the test cases, there are few steps which you need to follow to ensure that you are writing good test cases:</span></div>
<span style="color: #eeeeee;"><b id="docs-internal-guid-578b4eac-d7e5-5a7b-963e-49b2b548834f" style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1. Identify the purpose of testing.</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> You need to understand requirements to be tested. The first step is to define testing purpose.</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When you start writing test cases for any software module, you must understand the features of the same and user requirements.</span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2. The second step is to define how to perform testing.</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> This will include defining Test Scenarios.To write good test scenarios you should be well versed with familiar with the functional requirements. You need to know how software is used covering various operations.</span></span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3. Identify Non-funtional requiremts.</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The third step is to understand the other aspects of software related to non-functional requirements such as hardware requirements, operating system, security aspects to be considered, and other prerequisites such as data files or test data preparation. Testing of non-functional requirements is very important. For example, if the software requires a user to fill in the form, proper time-out logic should be defined by the developer to ensure that it should not result in time-out while submitting the form once user has filled in all required information. Simultaneously, under the same scenario tester should also ensure that user is getting logged-off after certain defined delay to ensure security of the application is not breached. </span></span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4. Fourth step would be to define a framework of test cases.</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> The framework of test cases should cover UI interface, functionality, fault tolerance, compatibility, and performance of several categories. Each category should be defined in accordance with the logic of the software application.</span></span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">5. Next step would be to become familiar with the modular principle.</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> It is easy to analyze the relevance of the software modules present in the specified application. However, it is very important to understand the coupling between the modules. It is very important to test the "Mutual influence" of modules. </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The test cases should be designed to cover influence of any module on other modules of the application. For example, in online shopping software while testing shopping cart and order checkout you need to also consider inventory management and validate if the same quantity of the purchased product is deducted from the stores. Similarly, while testing returns, we need to test its effect on the financial part of application along with store inventory.</span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Structuring of Test cases</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Now you have all the required information to begin writing test cases. We will talk about the structure of a test case. Requirements of the software are mapped with test scenarios, which are further elaborated in test cases. For each test scenario, we define test cases. In each test case, we define Test Steps. Test Step is the smallest entity under any test case. It specifies the action to be performed, Expected result of the test application. </span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The format of a test case comprises of:</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1. Test Case ID ( This is the unique number which helps in identifying a specific test cases)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2. Module to be tested (Usually we provide Requirement ID to maintain traceability between test case and requirements) </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3. Test Data ( We provide variable and values based on need of the test case)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4. Test Steps ( Steps to be executed)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">5. Expected results ( How application should behave after performing stated test steps)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">6. Actual results ( Actual output tester will get after preforming steps)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">7. A result ( Pass or fail after comparing expected and actual results)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">8. Comments ( We can provide screen shot or any other relevant information to help developer debug the code)</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">During testing you will mark your results against each step, and the defect report will provide related test case ID, which failed during execution. This can help a tester to relate back to requirements and understand the business scenario which needs to be fixed in code.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For writing test cases you can use simple xls file or tester can select from a wide variety of tools already available. There are few tools such as Quality Centre, Test Director which tester can avail after paying license cost, or you can avail open source tools such as bugzilla.</span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The test cases can be written with great details, including a large number of steps, or you can also write relatively simple test cases. I personally do not agree with the approach of a large number of steps to be included in test cases. </span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #eeeeee; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Here are my thoughts on how a tester can write effective test cases: </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">1. Self-explanatory and specific –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> test cases should have sufficient details so that even a new tester can execute the same without any help. All the pre-requisite which are required to execute a specific test should be mentioned in the tests itself. Further, it should clearly specify the purpose and scope of their steps.</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2. Valid and concise –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> test cases should have all designated steps to test based on expectations of the testing. It should not have unnecessary steps. If there are too many test steps in a single test case to be performed the tester may lose focus and aim. </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">3. Traceable –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> test cases should cover all the requirements of the software, and every test case should be mapped with “Requirement ID." This helps in ensuring that testing is providing 100% coverage to complete requirements and tester is performing testing for all requirements. Further, it also helps in impact analysis. </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4. Maintainable –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> with the changes in requirement, tester should be able to easily maintain the test suite of test cases. It should reflect the changes in software and accordingly steps should be modified.</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">5. Positive and negative coverage–</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> test cases should test for boundary values, equivalence classes, normal and abnormal conditions. Apart from testing for expected results, the negative coverage can help in testing failure conditions and error-handling.</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">6. Coverage for Usability aspect –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Test cases should include testing for UI interface from the aspect of ease of use. The overall layout and color should be tested against a style guide, if any defined for the software application under testing or should be tested against the signed off mock- up designs. Basic English punctuations, spellings, drop-down list categorizations such as depended pick lists should be covered.</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">7. Test Data –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> there should be the diversity of the data which should be used in test cases such as - Valid data, Legitimate invalid data (to test boundary value), Illegal and abnormal data ( to test error handling and recovery).</span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">8. Non-Functional aspect –</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> the test cases should cover scenarios for basic performance testing of the application such as Multi-user operation, capacity test. It should cover security aspects such as user permissions, logging mechanism. Test cases for Browser support in case of web application. </span></span></div>
<span style="color: #eeeeee;"><b style="font-weight: normal;"><br /></b>
</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #eeeeee;"><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To summarize</span><span style="background-color: transparent; font-family: "arial"; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, the test cases should first be able to cover all the functional requirements, and then we should also include the test cases which are related to non- functional requirements as they are equally important for the proper functioning of the software. </span></span></div>
<br />Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com63tag:blogger.com,1999:blog-4037345767661994659.post-36595041764229052242008-08-09T17:10:00.001+03:002008-08-09T17:10:43.812+03:00Certification Process Checklists<table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Testing <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are test plans and procedures created and reviewed?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are test results recorded?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are defects or problems recorded, assigned, and tracked to closure?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is there an adequate test process to ensure that areas impacted by changes are retested?<a name="IDX-409"></a><a name="886"></a></p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Measurement <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">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?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">If field-testing is required, are the responsibilities of the supplier and the purchaser defined? Is the user environment restored following the test?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are product metrics collected and used to manage the testing effort?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are product defects measured and reported?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is corrective action taken if metric levels exceed established target levels?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are improvement goals established in terms of metrics</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are process metrics collected to measure the effectiveness of the testing process in terms of schedule and in terms of fault prevention and detection?</p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Tools / Techniques <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are tools and techniques used to help make testing and management processes more effective?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are the used tools and techniques reviewed, as required, and improved upon?</p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Training <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are training needs identified according to a procedure?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is training conducted for all personnel performing work related to quality?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are personnel who are performing specific tasks qualified on the basis of appropriate education, training, and/or experience?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are records kept of personnel training and experience?<a name="IDX-410"></a><a name="887"></a></p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Documentation <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are test plans, requirements, and other documents revision controlled?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Do procedures exist to control document approval and issue?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are changes to controlled documents reviewed and approved?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are current versions of test documents identifiable by a master list or document control procedures?</p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="display: none;"><o:p> </o:p></span></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Pass <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Fail <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Checklist for Configuration Management <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">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?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">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?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is there a mechanism and procedure that enables software, hardware, and files to be uniquely identified throughout the entire software development lifecycle?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is there a documented mechanism to identify, record, review, and authorize changes to software items under configuration management? Is this process always followed?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Are affected personnel notified of software changes?</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para" style="text-align: right;" align="right"><span class="unicode">□</span> </p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Is the status of software items and change requests reported?</p> </td> </tr> </tbody></table>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com20tag:blogger.com,1999:blog-4037345767661994659.post-67129805018125208272008-08-09T17:06:00.000+03:002008-08-09T17:07:50.772+03:00Defect Removal Efficiency (DRE)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8W6tYXGa9sboiebKeVWx1VCGCUVUHrxuBftpxzb4QiDaiNAi3hh4kallfPBee3fw7AG2hmfKEVagcjLLd_izE3gVeQ9YD4anqNSN-8KiRb6XMLZI6f_dciOG-NxykfaiNqKtIRBA/s1600-h/picture5.JPG"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8W6tYXGa9sboiebKeVWx1VCGCUVUHrxuBftpxzb4QiDaiNAi3hh4kallfPBee3fw7AG2hmfKEVagcjLLd_izE3gVeQ9YD4anqNSN-8KiRb6XMLZI6f_dciOG-NxykfaiNqKtIRBA/s320/picture5.JPG" alt="" id="BLOGGER_PHOTO_ID_5232519396002960722" border="0" /></a><br /><span style=";font-family:";font-size:12;" >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).<br /></span>The later we discover a bug, the greater harm it does and the more it costs to fix.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com13tag:blogger.com,1999:blog-4037345767661994659.post-32183634457381390862008-08-09T17:00:00.000+03:002008-08-09T17:05:25.223+03:00Incident DescriptionThe 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.<br /><br /><span style="font-weight: bold;">Section Heading Description</span><br />4.1 <span style="font-weight: bold;">Inputs:</span> Describes the inputs actually used (e.g., files, keystrokes, etc.).<br />4.2 <span style="font-weight: bold;">Expected Results:</span> This comes from the test case that was running when the incident was discovered.<br />4.3 <span style="font-weight: bold;">Actual Results:</span> Actual results are recorded here.<br />4.4 <span style="font-weight: bold;">Anomalies: </span>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.<br />4.5 <span style="font-weight: bold;">Date and Time:</span> The date and time of the occurrence of the incident.<br />4.6 <span style="font-weight: bold;">Procedure Step:</span> The step in which the incident occurred. This is particularly important if you use long, complex test procedures.<br />4.7 <span style="font-weight: bold;">Environment:</span> The environment that was used (e.g., system test environment or acceptance test environment, customer 'A' test environment, beta site, etc.)<br />4.8 <span style="font-weight: bold;">Attempts to Repeat:</span> How many attempts were made to repeat the test?<br />4.9 <span style="font-weight: bold;">Testers:</span> Who ran the test?<br />4.10 <span style="font-weight: bold;">Observers:</span> Who else has knowledge of the situation?<br /><br /><span style="font-weight: bold;">Example of Minor, Major, and Critical Defects </span><br />Minor: Misspelled word on the screen.<br />Major: System degraded, but a workaround is available.<br />Critical: System crashes.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com4tag:blogger.com,1999:blog-4037345767661994659.post-39661920220892065592008-08-09T16:58:00.000+03:002008-08-09T16:59:36.955+03:00Repetitive Tasks<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HGjQ05bHFhhyM9aM_xVAeyhBtf_MnTPxNToeGa7dCij-OLnt6W6jryQwEOimmgzMwsD_-oY8dzaZQa4cPr7QfWV9TFAKeg24tyQZY2Mbl7g4UhWOzPCV9_YiXBEZljPztNovPQx5/s1600-h/picture4.JPG"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HGjQ05bHFhhyM9aM_xVAeyhBtf_MnTPxNToeGa7dCij-OLnt6W6jryQwEOimmgzMwsD_-oY8dzaZQa4cPr7QfWV9TFAKeg24tyQZY2Mbl7g4UhWOzPCV9_YiXBEZljPztNovPQx5/s320/picture4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5232517301597899986" /></a><br />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.<br />If the application being tested is unstable or changing rapidly, automating the test scripts may be difficult.<br />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.<br />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.<br />A test set is a group of test cases that cover a feature or system.<br />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.<br />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.<br />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.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com36tag:blogger.com,1999:blog-4037345767661994659.post-10269303643097009642008-08-09T16:56:00.000+03:002008-08-09T16:57:57.807+03:00Black-Box vs. White-Box<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkEK-qDmFGVoyeepNAnhlgCEBnXBnBGNxdH5a0mc0CJHztNRQ-pdr2JatUxpDYdSdCTPz3ZN2TLME3os_2z75ZQmt0gjVzIdlphGITiNFBCvv_OWmKVcIZMBFypc9dOYV1NmHz6CwQ/s1600-h/picture3.JPG"><img style="cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkEK-qDmFGVoyeepNAnhlgCEBnXBnBGNxdH5a0mc0CJHztNRQ-pdr2JatUxpDYdSdCTPz3ZN2TLME3os_2z75ZQmt0gjVzIdlphGITiNFBCvv_OWmKVcIZMBFypc9dOYV1NmHz6CwQ/s320/picture3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5232516869651861826" /></a><br />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.<br />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.<br />The creation and execution of tests is best be done by the people who understand the environment associated with that level of test.<br />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.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com4tag:blogger.com,1999:blog-4037345767661994659.post-41283735287295032422008-08-09T16:48:00.000+03:002008-08-09T16:55:53.233+03:00Levels of Test Planning<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdRr_UJ-QIn5SjzalWW7BPZ_6AHH9vqsk7Odty3Onqh6MjLeNPvhaiF-11zJ72eEiqQQUibrDEwXA9BQA0uK9Y4RIDWgtQoIpln-04Rb7r7anpSJoWprMY8oq_Rv1oULZTFyKOYoXC/s1600-h/picture2.JPG"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdRr_UJ-QIn5SjzalWW7BPZ_6AHH9vqsk7Odty3Onqh6MjLeNPvhaiF-11zJ72eEiqQQUibrDEwXA9BQA0uK9Y4RIDWgtQoIpln-04Rb7r7anpSJoWprMY8oq_Rv1oULZTFyKOYoXC/s320/picture2.JPG" alt="" id="BLOGGER_PHOTO_ID_5232515594569887394" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN7rk2QvC-hKEMe7nCqbkDX0PYImOnyMtGJhhWEOxjCgefoZmURkFfsP-PSFCpfFnQTLEZJoqaZYYMH4KLp2SaS_xVHZ0UxahLxOlheafY_BoOW60cd3HwqeshO41zUiunbxdlYxeA/s1600-h/picture1.JPG"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN7rk2QvC-hKEMe7nCqbkDX0PYImOnyMtGJhhWEOxjCgefoZmURkFfsP-PSFCpfFnQTLEZJoqaZYYMH4KLp2SaS_xVHZ0UxahLxOlheafY_BoOW60cd3HwqeshO41zUiunbxdlYxeA/s320/picture1.JPG" alt="" id="BLOGGER_PHOTO_ID_5232515158044284898" border="0" /></a><br /><br /><p style="text-align: center;" class="last-para"><span class="figure-title"><b style="">Levels of Test Planning</b></span><b style=""><o:p></o:p></b></p> <p class="first-para">Test planning SHOULD be separated from test design.</p> <p class="MsoNormal" style="line-height: 150%;">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</p> <p class="first-para" style="line-height: 150%;">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.</p> <p class="MsoNormal" style="line-height: 150%;">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.</p> <p class="first-para">What you test is more important than how much you test. </p> <p class="MsoNormal" style="line-height: 150%;"><span style="display: none;"><o:p> </o:p></span></p> <p class="first-para" style="line-height: 150%;"><b style=""><span style="text-decoration: none; color: rgb(0, 0, 0);">Regression testing</span></b> is retesting previously tested features to ensure that a change or bug fix has not introduced new problems.<b style=""> <o:p></o:p></b></p> <p class="first-para" style="line-height: 150%;"><b style=""><span style="text-decoration: none; color: rgb(0, 0, 0);">Confirmation testing</span></b> is rerunning tests that revealed a bug to ensure that the bug was fully and actually fixed.</p> <p class="para" style="line-height: 150%;">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.</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com8tag:blogger.com,1999:blog-4037345767661994659.post-89223672337630384262008-08-09T16:46:00.000+03:002008-08-09T16:47:45.302+03:00Preventive Testing<p class="first-para" style="line-height: 150%;">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</p> <p class="first-para" style="line-height: 150%;">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.</p> <p class="first-para" style="line-height: 150%;">An added benefit of creating the test cases before the code is that the test cases themselves help document the software.<b><o:p></o:p></b></p> <p class="first-para"><b>Software Test Documentation Template for Test Documents</b> </p> <p class="para"><b><br /></b> </p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">1.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Plan<o:p></o:p></b></p> <p class="table-para">Used for the master test plan and level-specific test plans.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">2.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Design Specification<o:p></o:p></b></p> <p class="table-para">Used at each test level to specify the test set architecture and coverage traces.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">3.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Case Specification<o:p></o:p></b></p> <p class="table-para">Used as needed to describe test cases or automated scripts.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">4.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Procedure Specification<o:p></o:p></b></p> <p class="table-para">Used to specify the steps for executing a set of test cases.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">5.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Log<o:p></o:p></b></p> <p class="table-para">Used as needed to record the execution of test procedures.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">6.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Incident Report<o:p></o:p></b></p> <p class="table-para">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.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">7.</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b style="">Test Summary Report<o:p></o:p></b></p> <p class="table-para">Used to report completion of testing at a level or a major test objective within a level.</p> </td> </tr> </tbody></table> <p class="MsoNormal"><o:p> </o:p></p> <table class="MsoNormalTable" style="" border="1" cellpadding="0"> <thead> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Role <o:p></o:p></b></p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para"><b>Description of Responsibilities <o:p></o:p></b></p> </td> </tr> </thead> <tbody><tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Manager</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Communicate, plan, and coordinate.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Analyst</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Plan, inventory, design, and evaluate.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Technician</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Implement, execute, and check.</p> </td> </tr> <tr style=""> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Reviewer</p> </td> <td style="padding: 0.75pt;" valign="top"> <p class="table-para">Examine and evaluate.</p> </td> </tr> </tbody></table> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal" style="line-height: 150%;">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.</p> <p class="first-para" style="line-height: 150%;">Test planning CAN'T be separated from project planning.</p> <p class="last-para" style="line-height: 150%;">All important test planning issues are also important project planning issues.</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com64tag:blogger.com,1999:blog-4037345767661994659.post-88445690793295834372008-08-05T20:38:00.000+03:002008-08-05T20:39:21.950+03:00Risk Analysis<p class="para" style="line-height: 150%;">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 <a name="395"></a><a name="IDX-206"></a>minor, then even a high probability of occurrence may still be judged to cause a trivial problem.</p> <p class="first-para" style="line-height: 150%;">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.</p> <p class="last-para" style="line-height: 150%;">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.</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-46210332143082930842008-08-05T20:36:00.001+03:002008-08-05T20:37:32.278+03:00Metrics to Measure Performance<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCv7Q0gN5C9ZqEXC6tfVKN6K49uTot6RD8g7BvX96rClRoCH3DtyFwcXQqmpima-S1Yx59alRdFnuoGOKqqkMTSHaOWgs902NYt7zcJniS_7D9TE5Rej0jtmpR4ps2YPLHbVa8NrIT/s1600-h/clip_image007.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCv7Q0gN5C9ZqEXC6tfVKN6K49uTot6RD8g7BvX96rClRoCH3DtyFwcXQqmpima-S1Yx59alRdFnuoGOKqqkMTSHaOWgs902NYt7zcJniS_7D9TE5Rej0jtmpR4ps2YPLHbVa8NrIT/s320/clip_image007.jpg" alt="" id="BLOGGER_PHOTO_ID_5231089027444215282" border="0" /></a><br /><span style="font-weight: bold;">Was It Worth It?</span>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com0tag:blogger.com,1999:blog-4037345767661994659.post-61584135775504354162008-08-05T20:34:00.000+03:002008-08-05T20:38:12.450+03:00Test Effectiveness<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9m-vEu5Ez2_myp75q_OVt4wLbEkcmxh6nRXpE5m0T-m_K-_JsRTaoMlTCi6NKqbKaFUg8NeHXwBy3zPKJfaXUwwdWyhZshRx2uSZkVDY4wh3SgJrjAhWwi5I7S285ayCgdrw3aZiV/s1600-h/clip_image006.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9m-vEu5Ez2_myp75q_OVt4wLbEkcmxh6nRXpE5m0T-m_K-_JsRTaoMlTCi6NKqbKaFUg8NeHXwBy3zPKJfaXUwwdWyhZshRx2uSZkVDY4wh3SgJrjAhWwi5I7S285ayCgdrw3aZiV/s320/clip_image006.jpg" alt="" id="BLOGGER_PHOTO_ID_5231088731748103474" border="0" /></a><br /><span style=""><span style="font-weight: bold;"><br />How Good Were the Tests?</span></span>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com0tag:blogger.com,1999:blog-4037345767661994659.post-57659277921460309692008-08-05T20:33:00.000+03:002008-08-05T20:34:38.376+03:00Test Coverage<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxRbOMiuDgSWVO380Y1Z0PxNlol5ZptZW4nyXnsSXsG9eiR81RnBnbNHaAij4ZIFb4-cnmimU95ugSJcMFME0wb4-4DAA0zvl7iJmBso8fwzf1BhnIoe24KSoWhNGZTSVXGzPvmCAj/s1600-h/clip_image005.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxRbOMiuDgSWVO380Y1Z0PxNlol5ZptZW4nyXnsSXsG9eiR81RnBnbNHaAij4ZIFb4-cnmimU95ugSJcMFME0wb4-4DAA0zvl7iJmBso8fwzf1BhnIoe24KSoWhNGZTSVXGzPvmCAj/s320/clip_image005.jpg" alt="" id="BLOGGER_PHOTO_ID_5231088369138068050" border="0" /></a><br /> <h4>How Much of It Was Tested?</h4>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-60831976681257950492008-08-05T20:31:00.000+03:002008-08-05T20:32:51.948+03:00The Bug Fix Rate<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdI82g9rnpayXOXEWLu1TZKPLzshdQVxw1pZ5sze6muRYeWwR8PRIQGyAs4t4NepX8NA7e_2T3GA7YjLyFAfTLD9otRblJz9o0MTq8sWlIAYN9Hc0fJxRV_sW-WHULQ-czoB-eVKI7/s1600-h/clip_image001.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdI82g9rnpayXOXEWLu1TZKPLzshdQVxw1pZ5sze6muRYeWwR8PRIQGyAs4t4NepX8NA7e_2T3GA7YjLyFAfTLD9otRblJz9o0MTq8sWlIAYN9Hc0fJxRV_sW-WHULQ-czoB-eVKI7/s320/clip_image001.jpg" alt="" id="BLOGGER_PHOTO_ID_5231087911651222050" border="0" /></a><br /><span style="font-weight: bold;">How Many of the Bugs That Were Found Were Fixed?</span>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com2tag:blogger.com,1999:blog-4037345767661994659.post-35182837129970088752008-08-05T20:30:00.001+03:002008-08-05T20:30:55.827+03:00The Number of Bugs FoundFor 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.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com0tag:blogger.com,1999:blog-4037345767661994659.post-52029050895908524052008-08-05T20:26:00.001+03:002008-08-05T20:26:32.985+03:00Bug Type Classification<p class="first-para" style="line-height: 150%;">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.</p> <p class="para" style="line-height: 150%;">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.</p> <p class="para" style="line-height: 150%;">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:</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Network outages.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Communications failures.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->In mobile computing, individual units that are constantly connecting and disconnecting.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Integration errors.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Missing or malfunctioning components.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Timing and synchronization errors.</p> <p class="last-para" style="line-height: 150%;">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.</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-55307677833943625822008-08-05T20:25:00.003+03:002016-11-11T08:44:30.755+02:00Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com0tag:blogger.com,1999:blog-4037345767661994659.post-71038524985058865782008-08-05T20:25:00.002+03:002016-11-11T08:43:01.516+02:00Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com0tag:blogger.com,1999:blog-4037345767661994659.post-17596880639585319202008-08-05T20:25:00.001+03:002016-11-11T08:44:21.836+02:00Severity of Bugs<div class="first-para" style="line-height: 150%;">
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.</div>
<table border="1" cellpadding="0" class="MsoNormalTable"> <thead>
<tr> <td colspan="2" style="border: medium none; padding: 0.75pt;"><div align="center" class="MsoNormal" style="line-height: 150%; text-align: center;">
<span class="table-title">Severity Metrics and Ranking Criteria</span> <o:p></o:p></div>
</td> </tr>
<tr> <td style="padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b>SEVERITY RANKING <o:p></o:p></b></div>
</td> <td style="padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b>RANKING CRITERIA <o:p></o:p></b></div>
</td> </tr>
</thead> <tbody>
<tr> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Severity 1 Errors<o:p></o:p></span></b></div>
</td> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Program ceases meaningful operation<o:p></o:p></span></b></div>
</td> </tr>
<tr> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Severity 2 Errors<o:p></o:p></span></b></div>
</td> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Severe function error but application can continue<o:p></o:p></span></b></div>
</td> </tr>
<tr> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Severity 3 Errors<o:p></o:p></span></b></div>
</td> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Unexpected result or inconsistent operation<o:p></o:p></span></b></div>
</td> </tr>
<tr> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Severity 4 Errors<o:p></o:p></span></b></div>
</td> <td style="background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 50%; background-repeat: repeat; background-size: auto auto; padding: 0.75pt;" valign="top"><div class="table-para" style="line-height: 150%;">
<b><span style="background-color: white;">Design or suggestion<o:p></o:p></span></b></div>
</td> </tr>
</tbody></table>
Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-25314469256172008482008-08-05T20:21:00.000+03:002008-08-05T20:24:47.161+03:00BugsMany 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.<br />•<span style="font-weight: bold;"> Sample Units: </span>Severity, quantity, type, duration, distribution, and cost to find and fix. Note: Bug distribution and the cost to find and fix are derived metrics.<br />Like tests, bugs also have attributes as discussed in the following articles.Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-38194792202002855152008-08-04T21:53:00.000+03:002008-08-04T21:56:26.244+03:00Fundamental Metrics for Software Testing<p class="para" style="line-height: 150%;">The following are some typical software testing questions that require measurement to answer:</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How big is <i>it</i>?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How long will it take to test <i>it</i>?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How much will it cost to test <i>it</i>?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->What about the bugs?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How bad were they? What type were they?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->What kind of bugs were found?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><a name="206"></a><a name="IDX-106"></a><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How many of the bugs that were found were fixed?</p> <p class="first-para" style="margin-left: 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:";font-size:10;" ><span style="">o<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How many new bugs did the users find?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How much of <i>it</i> has to be tested?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->Will <i>it</i> be ready on time?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How good were the tests?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]--><span style="text-decoration: none;color:#000000;" >How much did it cost to test it?</span> </p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->Was the test effort adequate? Was <i>it</i> worth it?</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->How did <i>it</i> perform?</p> <p class="para" style="line-height: 150%;">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.</p> <h4 style="line-height: 150%;"><a name="218"></a><a name="ch05lev3sec4"></a>Tests</h4> <p class="first-para" style="line-height: 150%;">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.</p> <p class="para" style="line-height: 150%;"><a name="219"></a><a name="IDX-112"></a>Tests have attributes such as quantity, size, importance or priority, and type</p> <p class="para" style="line-height: 150%;"><b>Sample Units </b>(listed simplest to most complex):</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->A keystroke or mouse action</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->An SQL query</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->A single transaction</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->A complete function path traversal through the system</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="line-height: 150%;font-family:Symbol;font-size:10;" ><span style="">·<span style=";font-family:";font-size:7;" > </span></span></span><!--[endif]-->A function-dependent data set</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-69357667011785899242008-08-04T21:52:00.001+03:002008-08-04T21:52:57.687+03:00How to Succeed with MITs<p class="first-para" style="line-height: 150%;">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.</p> <p class="para" style="line-height: 150%;">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.</p> <h4 style="line-height: 150%;">Methods That Are Most Useful and Easiest to Implement</h4> <p class="first-para" style="line-height: 150%;">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.</p> <p class="para" style="line-height: 150%;"><a name="169"></a><a name="IDX-82"></a><b>EASIEST TO IMPLEMENT</b> </p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Bug tracking and bug-tracking metrics</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->The test inventory and test coverage metrics</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Planning, path analysis, and data analysis</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->MITs ranking and ranking criteria (risk analysis)</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->The test estimation worksheet</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Test performance metrics</p> <p class="para" style="line-height: 150%;"><b>MORE DIFFICULT TO IMPLEMENT</b> </p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->S-curves</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Test rerun automation</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="font-size: 10pt; line-height: 150%; font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]-->Automated test plan generation</p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-88434966894382577372008-08-04T21:25:00.000+03:002008-08-04T21:51:58.140+03:00The Most Important Tests (MITs) Method<p class="first-para">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.</p><br /><span style="font-weight: bold;">How MITs Works</span><br /><p class="first-para" style="line-height: 150%;">The process works by answering the following questions:</p><ol><li><span style="">What do we think we know about this project?</span></li><li><span style="">How big is the test effort?</span></li><li><span style="">If we can't test everything, what should we test?</span></li><li><span style="">How long will the effort take?</span></li><li><span style="">How much will it cost? (How much can we get?)</span></li><li><span style="">How do I identify the tests to run?</span></li><li><span style="">Are we on schedule? Have we tested enough?</span></li><li><span style="">How successful was the test effort? Was the test coverage adequate? Was the test effort adequate?</span></li></ol> <p class="bold" style="line-height: 150%;"><b style="">Answers<o:p></o:p></b></p> <ol><li><span style="">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.</span></li><li><span style="">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.</span></li><li><span style="">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.</span></li><li><span style="">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.</span></li><li><span style="">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.</span></li><li><span style="">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.</span></li><li><span style="">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 <b>S-curve</b> 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.</span></li><li><span style="">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.</span></li></ol> <p class="para" style="line-height: 150%;">In the <i>ideal</i> 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 <a name="167"></a><a name="IDX-81"></a>"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.</p> <p class="last-para" style="line-height: 150%;">Different environments have different needs, and these needs mandate different priorities in the test approach. </p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1tag:blogger.com,1999:blog-4037345767661994659.post-66239282463570283472008-08-04T21:24:00.001+03:002008-08-04T21:24:53.400+03:00How to Determine a Factor of Safety<p class="para" style="line-height: 150%;">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:</p> <p class="centered-para" style="line-height: 150%;">21/14 = 1.5</p> <p class="para" style="line-height: 150%;">When the <i>next</i> 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.</p> <table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"> <tbody><tr style=""> <td style="padding: 0cm;" valign="top"> <p class="MsoNormal" style="line-height: 150%;">Note </p> </td> <td style="padding: 0cm;" valign="top"> <p class="first-para" style="line-height: 150%;">It does not matter how a factor of safety is determined; using them improves estimates.</p> </td> </tr> </tbody></table> <h4><o:p> </o:p></h4> <h4>Always Get a Second Opinion</h4> <p class="para" style="margin-left: 18pt; line-height: 150%;">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.</p> <table class="MsoNormalTable" style="" border="0" cellpadding="0" cellspacing="0"> <tbody><tr style=""> <td style="padding: 0cm;" valign="top"> <p class="MsoNormal" style="line-height: 150%;">Note </p> </td> <td style="padding: 0cm;" valign="top"> <p class="first-para" style="line-height: 150%;">Two points for engineers in software to keep in mind:</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="">1.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span><!--[endif]-->You need to pick the right tool method or approach for the job at hand.</p> <p class="first-para" style="margin-left: 36pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span style="">2.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span><!--[endif]-->You need to remain flexible and plan for change.</p> </td> </tr> </tbody></table> <p class="para" style="line-height: 150%;"><b style="">Testers do not have to be <i>experts</i> in a system to test it well. <i>They must be trained testers, using a systematic approach, sound reasoning, and measurements to make their case</i>. 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.<o:p></o:p></b></p> <p class="para" style="line-height: 150%;"><b style="">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.<o:p></o:p></b></p>Anonymoushttp://www.blogger.com/profile/06405624790460668527noreply@blogger.com1