<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-57341664125790677</id><updated>2011-11-27T15:28:28.460-08:00</updated><category term='SDLC'/><category term='Silk Test Interview Questions'/><title type='text'>Munish's Blog</title><subtitle type='html'>The purpose of the blog is to share and update my knowledge :-)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-6147548149776387160</id><published>2009-06-14T04:20:00.000-07:00</published><updated>2009-06-15T09:37:47.584-07:00</updated><title type='text'>Golden Master (GM)</title><content type='html'>A physical CD that contains the approved &lt;a href="http://mkatyal.blogspot.com/2009/06/final-candidate.html"&gt;Final Candidate&lt;/a&gt; that will be distributed to customers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Release&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;:  The Golden Master is necessary in order for a &lt;a href="http://mkatyal.blogspot.com/2009/06/first-article.html"&gt;First Article&lt;/a&gt; to be created. The purpose is to ship the software to the customers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria&lt;/span&gt;: QA should receive the &lt;a href="http://mkatyal.blogspot.com/2009/06/final-candidate.html"&gt;Final Candidate&lt;/a&gt; burned on to a CD.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities &lt;/span&gt;&lt;br /&gt;Apart from all the testing activities done during FC phase, a few additional activities are done which are as follows:&lt;br /&gt;• Test the CD for Viruses.&lt;br /&gt;• Test the CD for block/sectors quality.&lt;br /&gt;• Verify CD structure.&lt;br /&gt;• Verify that all the files are being installed at the proper location.&lt;br /&gt;• Verify that all the files appear with correct extension and icons on respective platforms.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-6147548149776387160?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/6147548149776387160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/golden-master.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6147548149776387160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6147548149776387160'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/golden-master.html' title='Golden Master (GM)'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-603948131716775547</id><published>2009-06-14T04:19:00.000-07:00</published><updated>2009-06-15T09:37:37.664-07:00</updated><title type='text'>Final Candidate</title><content type='html'>Final Candidate certification by QA means that the software is usable by customers under the normal workflow environment of the features described in the Requirements.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Final Candidate&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;: Ship the software to the customers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria &lt;/span&gt;&lt;br /&gt;• All Showstopper, Alpha, Beta and FC defects thrashed till specified number of days prior to the publication of the build must be fixed.&lt;br /&gt;• All defects fixed in the prior build of FC candidate should have appropriate action taken on them.&lt;br /&gt;• All pre-release customers reported defects thrashed till specified number of days prior to the publication of the build must be fixed.&lt;br /&gt;• The user documentation except for known issues and issues resolved must be reviewed and signed off by Legal, PM, R &amp;amp;D and QA.&lt;br /&gt;• Configuration Documents are defined and reviewed by the stakeholders prior to the publication of the build.&lt;br /&gt;• All test plans and DITs must be updated on iport with all the execution results.&lt;br /&gt;• QA must be able to replicate the documented customer workflow on the candidate build.&lt;br /&gt;• All 3rd party licenses are reviewed and approved by Legal.&lt;br /&gt;• QA has verified that all legal requirements have been met.&lt;br /&gt;• Product has final icons, splash screens and other artwork.&lt;br /&gt;• All localization and UI defects should be fixed and localizable resources frozen in the weekly build prior to the FC build.&lt;br /&gt;•The MTBF (Mean Time Between failure) of the application should be more than specified number of hours.&lt;br /&gt;•The Final candidate build delivered to QA should be installable by the final product installation process from CD.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities &lt;/span&gt;&lt;br /&gt;• Acceptance according to following criteria:&lt;br /&gt;      • Successful execution of Build Acceptance tests.&lt;br /&gt;      • &lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Acceptance&lt;/a&gt; results shall be published within 1 working day after receiving the Final&lt;br /&gt;        Candidate build.&lt;br /&gt;• Regress all OpenForQA bugs fixed for the Accepted Final Candidate build after publishing the&lt;br /&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Acceptance test&lt;/a&gt; results. &lt;br /&gt;• Regress all Fixed/NLI defects.&lt;br /&gt;• Execute all the identified workflows.&lt;br /&gt;• Execute one round of structured tests and update the results on iport.&lt;br /&gt;• QA must execute Shortcut Key tests on the candidate build.&lt;br /&gt;• Localized testing must be done on the candidate build.&lt;br /&gt;• Performance testing is to be done on candidate build.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exit Criteria &lt;/span&gt;&lt;br /&gt;• The Activities described above are completed.&lt;br /&gt;• If any new defect is logged or existing defect is found to reoccur, it needs to be approved by the Triage team with the justification or the build cannot be certified as GM.&lt;br /&gt;• Documented Training Tutorials are complete.&lt;br /&gt;• All deliverables like Sales Kit, Printed Manuals, Boxes, BOM, Mercury Setup, QLA and XDK should be ready for distribution.&lt;br /&gt;• Older validation codes do not work. Installer has no built in time bomb.&lt;br /&gt;• Build is published on product server.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-603948131716775547?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/603948131716775547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/final-candidate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/603948131716775547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/603948131716775547'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/final-candidate.html' title='Final Candidate'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-5918304180365071475</id><published>2009-06-14T04:18:00.000-07:00</published><updated>2009-06-15T09:33:49.898-07:00</updated><title type='text'>First Article</title><content type='html'>A physical CD that contains the approved &lt;a href="http://mkatyal.blogspot.com/2009/06/golden-master.html"&gt;GM&lt;/a&gt; that will be distributed to customers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Release&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;: Ship software to Customers&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria&lt;/span&gt;&lt;br /&gt;• &lt;a href="http://mkatyal.blogspot.com/2009/06/golden-master.html"&gt;GM&lt;/a&gt; is approved.&lt;br /&gt;• QA requests SCM/WPSI to co-ordinate for the &lt;a href="http://mkatyal.blogspot.com/2009/06/first-article.html"&gt;First Article&lt;/a&gt; process.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities  &lt;/span&gt;&lt;br /&gt;• Check the Rimage text.&lt;br /&gt;• Perform Installer testing.&lt;br /&gt;• Test the CD for Viruses.&lt;br /&gt;• Test the CD for block/sectors quality.&lt;br /&gt;• Verify CD structure.&lt;br /&gt;• Verify that all the files are being installed at the proper location.&lt;br /&gt;• Verify that all the files appear with correct extension and icons on respective platforms.&lt;br /&gt;• Check for correct splash screen.&lt;br /&gt;• Perform &lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Acceptance testing&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exit Criteria &lt;/span&gt;&lt;br /&gt;• The above activities are completed.&lt;br /&gt;• First Article approved as identical to &lt;a href="http://mkatyal.blogspot.com/2009/06/golden-master.html"&gt;GM&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-5918304180365071475?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/5918304180365071475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/first-article.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5918304180365071475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5918304180365071475'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/first-article.html' title='First Article'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-3553525320780076965</id><published>2009-06-14T04:12:00.000-07:00</published><updated>2009-06-15T10:09:31.275-07:00</updated><title type='text'>EggPlant</title><content type='html'>EggPlant is a testing tool used for Automation of user actions on the Graphical User Interface (GUI) for Macintosh based applications. It interacts with the UI by identifying the images of the objects (pushbutton, checkbox, textfield etc.) in a dialog.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LvidLO0dnOA/SjTb7kiPcRI/AAAAAAAAB-c/U0tCJGCIz8s/s1600-h/Eggplant.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 154px;" src="http://4.bp.blogspot.com/_LvidLO0dnOA/SjTb7kiPcRI/AAAAAAAAB-c/U0tCJGCIz8s/s320/Eggplant.JPG" alt="" id="BLOGGER_PHOTO_ID_5347140474061680914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Eggplant runs on Mac OS system called “Client”, while the Application Under Test (AUT) runs on a separate computer, called “System-Under-Test” (SUT). Eggplant interacts with the SUT via a network, using Virtual Network Computer (VNC) server running on the SUT.&lt;br /&gt;&lt;br /&gt;EggPlant uses an Object Oriented scripting language called SenseTalk. Basic concepts in SenseTalk include Values, Containers, Expressions and Control Structures.&lt;br /&gt;&lt;br /&gt;Automated Testing Methodology in EggPlant&lt;br /&gt;Most of the Eggplant activity takes place in four types of windows:&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Remote Screen Window&lt;/span&gt; - The Remote Screen appears in an Eggplant window on client Mac. User can see and interact with software running on the SUT via the Remote Screen.&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Script Editor Windows&lt;/span&gt; - The Script Editor lets the user create and edit scripts. Scripts test the software by simulating user actions with a list of scripted steps.&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Run Window&lt;/span&gt; - The Run window shows a variety of levels of detail about the currently running script or scripts.&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Suite Editor Windows&lt;/span&gt; - A Suite is a collection of testing elements. With Suite Editor, user can manage these elements including scripts, images, results, schedules and helpers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Framework&lt;/span&gt;&lt;br /&gt;The commonly used framework comprises of the following files:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Frame&lt;/span&gt; – Common library containing commonly used functions and images. In addition, it also contains the Recovery system used by EggPlant.&lt;br /&gt;&lt;br /&gt;To know about Automation Script, Please go &lt;a href="http://mkatyal.blogspot.com/2009/06/automation-scripts.html"&gt;Automation Scripts&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-3553525320780076965?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/3553525320780076965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/eggplant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3553525320780076965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3553525320780076965'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/eggplant.html' title='EggPlant'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LvidLO0dnOA/SjTb7kiPcRI/AAAAAAAAB-c/U0tCJGCIz8s/s72-c/Eggplant.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-7857080113684247222</id><published>2009-06-14T04:08:00.000-07:00</published><updated>2009-06-15T09:34:06.854-07:00</updated><title type='text'>Engineering Complete</title><content type='html'>Engineering Complete (EC) of a component ensures that each requirement of the component is demonstrable with at least one input.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pre-EC&lt;/span&gt; is a phase, when some of the features have reached an EC status within a component.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Engineering&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;: Implement all features as specified in &lt;a href="http://mkatyal.blogspot.com/2009/03/software-development-life-cycle-models.html"&gt;Software Requirements Specification&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria &lt;/span&gt;&lt;br /&gt;•The requirements completely and accurately define the functionality that was intended to be developed.&lt;br /&gt;• The code-level design of the feature is a complete and accurate reflection of the functionality defined in the requirements.&lt;br /&gt;• The user interface of the software is an accurate and complete representation of what is represented in the user interface specification (UIS).&lt;br /&gt;• The functionality is implemented on all supported operating systems as well as all flavors of the application.&lt;br /&gt;• QA has developed the test plan as per SRS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities&lt;/span&gt;&lt;br /&gt;• Once the entry criteria have been met, R&amp;amp;D should communicate to the team, at multiple stages in the development of the component, that requirements have reached an EC status.&lt;br /&gt;• R&amp;amp;D ensures the requirements can be demonstrated at GUI layer using an SCM compiled build, thus ensuring there are no integration issues in the software.&lt;br /&gt;• When declaring requirements have reached an EC status, R&amp;amp;D should communicate the following to the team:&lt;br /&gt;     • Build number used to evaluate requirements (daily or weekly build).&lt;br /&gt;     • Platform used (Mac or Win).&lt;br /&gt;     • Requirement numbers that were tested by R&amp;amp;D.&lt;br /&gt;• Once EC is declared by R&amp;amp;D, an EC review meeting should be held involving all the stakeholders, in which the following activities will occur:&lt;br /&gt;     • Software is evaluated against each requirement listed in the SRS.&lt;br /&gt;     • Software architecture is evaluated against the design documents.&lt;br /&gt;• Once the EC review meeting is completed, a component EC summary should be sent to the component team, Managers/Directors of QA, PM, and R &amp;amp;D.&lt;br /&gt;• Test plans should be reviewed by R&amp;amp;D and PM.&lt;br /&gt;• Initial Risk Analysis should be generated from customers, developers and testing perspective.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exit Criteria &lt;/span&gt;&lt;br /&gt;• The Activities described above are completed.&lt;br /&gt;• QA and PM sign-off that there are no missing features.&lt;br /&gt;• Test plans are approved by R&amp;amp;D and PM.&lt;br /&gt;• Installers are provided for all future builds.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-7857080113684247222?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/7857080113684247222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/engineering-complete.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/7857080113684247222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/7857080113684247222'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/engineering-complete.html' title='Engineering Complete'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-4172531838278530383</id><published>2009-06-14T03:56:00.000-07:00</published><updated>2009-06-15T09:34:20.483-07:00</updated><title type='text'>Defect Tracking</title><content type='html'>QA can start testing once SCM starts delivering builds, especially once the builds are delivered on a regular basis. During testing using the defined Strategies described in the ‘&lt;a href="http://mkatyal.blogspot.com/2009/03/testing-methodologies.html"&gt;Testing Methodology&lt;/a&gt;’ section, the tester may discover certain deviations from the intended behavior. This deviation is termed as a defect. Hence a defect maybe defined as “a deviation of a system or component from specified or expected behavior”.&lt;br /&gt;&lt;br /&gt;After encountering what appears to be a defect, the first step is to replicate it.&lt;br /&gt;&lt;br /&gt;• Repeat the steps leading to the problem. Also try quitting and re-launching, or rebooting, and then repeating the steps.&lt;br /&gt;• Always start from a known state (e.g. launch the application).&lt;br /&gt;• After you have a repeatable sequence of steps that replicate the problem, try to narrow it down.&lt;br /&gt;• Try to eliminate steps that are not required to reproduce the problem.&lt;br /&gt;• Eliminate dependencies on input methods (e.g. keyboard shortcuts vs. mouse actions).&lt;br /&gt;• Replicate it on a second machine.&lt;br /&gt;• Determine if it is platform dependent or a cross platform issue.&lt;br /&gt;• Determine if this is a general problem or specific to this feature.&lt;br /&gt;• Determine if this problem is file dependent or can be replicated in a new file.&lt;br /&gt;If it is not obvious that it is a bug (ambiguous feature behavior), as opposed to a system failure or a graphic output problem, check the Functional Requirements or Use Cases. If the behavior is still unclear, talk to the QA Manager or Supervisor or other team members or the developer responsible for the feature.&lt;br /&gt;It is also helpful to determine when the bug was introduced. This can help the developers determine if recent changes made in an associated area created a new bug.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-4172531838278530383?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/4172531838278530383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-tracking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4172531838278530383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4172531838278530383'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-tracking.html' title='Defect Tracking'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-5110309476206368454</id><published>2009-06-14T03:54:00.001-07:00</published><updated>2009-06-15T09:36:49.205-07:00</updated><title type='text'>Defect Thrashing Procedure</title><content type='html'>By the term “Defect Thrashing”, we mean assigning a priority to a defect. A team of individuals does "Defect Thrashing". Representatives from R &amp;amp;D, PM and QA prioritize defects on a regular basis depending on the development phase. Product Management always has the authority for overriding the priority.&lt;br /&gt;&lt;br /&gt;The setting of priority of the defect is an automatic process. The QA Engineer responsible for the defect thrashing has to answer the following questions.&lt;br /&gt;&lt;br /&gt;• What is the impact on customer workflow?&lt;br /&gt;• Does this Bug stop us from Testing?&lt;br /&gt;• What is the probability of occurrence or occurring in workflow of customer?&lt;br /&gt;• What is the origin of the defect?&lt;br /&gt;• What is the impact of the defect on other related modules?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Depending upon the answers provided to the above questions by the QA Engineer, the system automatically assigns a priority to the defect.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-5110309476206368454?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/5110309476206368454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-thrashing-procedure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5110309476206368454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5110309476206368454'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-thrashing-procedure.html' title='Defect Thrashing Procedure'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-5407600535161174734</id><published>2009-06-14T03:52:00.000-07:00</published><updated>2009-06-15T10:04:33.769-07:00</updated><title type='text'>Defect Logging</title><content type='html'>&lt;span style="font-weight: bold;"&gt;When the defect has been isolated&lt;/span&gt;&lt;br /&gt;• See if it is known. Check the bug database to see if the bug you have found has already been reported.&lt;br /&gt;• If the defect you have found is a duplicate but the one in the database has a status of Closed, reopen it and enter a comment in the history.&lt;br /&gt;• If the bug you have just found is similar to a bug which is already in the database, but not exactly the same, then the existing report may need to be modified. Add your comments to the bug.&lt;br /&gt;• If it isn't a duplicate, write it up after isolating it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Writing up Problem Reports&lt;/span&gt;&lt;br /&gt;In general, the Problem Title and Steps to recreate should be very specific and not contain editorial comments or opinion. With the exception of Enhancements, these fields should describe "what you did", "what object you did it to" and "what happened". The object needs to be referred to by its real name. Likewise, correct OS terminology must be used as well. Using the correct terminology will help others find your bug and reduce the number of duplicate bugs.&lt;br /&gt;&lt;br /&gt;Given below is the format of how to log a clear and concise defect&lt;br /&gt;&lt;br /&gt;/*****************************************************/&lt;br /&gt;Problem Title: &lt;mention&gt;&lt;br /&gt;&lt;br /&gt;Product name:&lt;give&gt;&lt;br /&gt;Build Tested: &lt;give&gt;&lt;br /&gt;Origin: &lt;give&gt;&lt;br /&gt;&lt;br /&gt;O.S. Tested: &lt;all&gt;&lt;br /&gt;O.S. Affected: &lt;give&gt;&lt;br /&gt;&lt;br /&gt;Tested in previous version of the product (if applicable): &lt;yes not=""&gt;&lt;br /&gt;Affected: &lt;yes no="" not=""&gt;&lt;br /&gt;&lt;br /&gt;Browser Tested :&lt;&gt;&lt;br /&gt;Browser Affected :&lt;&gt;&lt;br /&gt;(Applicable only to web related defects)&lt;br /&gt;_______________________________________________________________________&lt;br /&gt;Steps to Recreate:&lt;br /&gt;1.&lt;br /&gt;2.&lt;br /&gt;3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Result: &lt;mention&gt;&lt;br /&gt;Expected Result: &lt;mention&gt;&lt;br /&gt;&lt;br /&gt;What works vs what does not:&lt;br /&gt;&lt;br /&gt;Note&lt;br /&gt;/*****************************************************/&lt;br /&gt;&lt;br /&gt;Description of the main fields is given below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Problem Title&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This is a one sentence summary that describes the bug. The summary should be concise, and include any special circumstances or exceptions. The Problem Title should be so accurate that someone associated with the project should be able to understand and even reproduce the problem from the problem title field alone.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Steps to Recreate&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;This is a sequence of steps that describe the problem so that anyone can replicate the problem. Descriptions should be as concise as possible and should really be no more than 10 steps. The result needs to be written down separately. The steps should only describe the incorrect behavior. There is a tendency to write an example of similar correct behavior first and then the incorrect behavior to help justify the bug. This only confuses and frustrates the developer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Result&lt;/span&gt;:&lt;br /&gt;Description of the incorrect behavior, including specific file errors with stack crawls, asserts &amp;amp; user breaks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Expected Result&lt;/span&gt;:&lt;br /&gt;Description of what the specification defines or (if undefined) your expectations. If the expected behavior is at all at question, it probably needs to be escalated to management for definition.&lt;br /&gt;&lt;br /&gt;What works what does not work:&lt;br /&gt;a) Should contain what works and what does not (mandatory for almost all defects, few exceptional cases may be there!).&lt;br /&gt;b) Special notes describing the defect, which is helpful for R&amp;amp;D to fix the defect (optional).&lt;br /&gt;c) Related defect Ids. (Optional).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note&lt;/span&gt;:&lt;br /&gt;This is additional information that assists the developer in understanding the bug. This could be the version where it was introduced, things that you discovered while narrowing the bug down, circumstances where the bug doesn't occur, and example of the correct behavior elsewhere in the product, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Proofread your bug reports and try to reproduce the problems following the steps exactly as written.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Visit&lt;/span&gt;&lt;span&gt; &lt;a href="http://mkatyal.blogspot.com/2009/06/defect-thrashing-procedure.html"&gt;Defect Thrashing Procedure&lt;/a&gt; and &lt;a href="http://mkatyal.blogspot.com/2009/06/defect-tracking.html"&gt;Defect Tracking&lt;/a&gt; as well for more information &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/mention&gt;&lt;/mention&gt;&lt;/yes&gt;&lt;/yes&gt;&lt;/give&gt;&lt;/all&gt;&lt;/give&gt;&lt;/give&gt;&lt;/give&gt;&lt;/mention&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-5407600535161174734?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/5407600535161174734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-logging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5407600535161174734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5407600535161174734'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/defect-logging.html' title='Defect Logging'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-7761281752892905600</id><published>2009-06-14T03:50:00.000-07:00</published><updated>2009-06-15T09:37:02.709-07:00</updated><title type='text'>Concurrent Versions System (CVS)</title><content type='html'>• CVS is a version control system used by individual programmers in large teams.&lt;br /&gt;• It allows developers to access their code from anywhere with an Internet connection&lt;br /&gt;• It maintains a history of changes made to all files in the project directory&lt;br /&gt;• It allows users to have an automatic backup of all their work and the ability to rollback to previous versions, if need be&lt;br /&gt;• CVS is run on a central server for all team members to access.  Team members can simply checkout code, and then check it back in when done&lt;br /&gt;&lt;br /&gt;The process of updating a file to the database consists of three steps:&lt;br /&gt;• Get current version of file from database&lt;br /&gt;• Merge any changes between the database version and the local version&lt;br /&gt;• Commit the file back to the database&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Two pieces of software are required to setup CVS:&lt;br /&gt;• Server&lt;br /&gt;• Client&lt;br /&gt;The server handles the database end and the client handles the local side.&lt;br /&gt;&lt;br /&gt;Tracking Changes&lt;br /&gt;The standard tool used for tracking changes is “diff”.&lt;br /&gt;&lt;br /&gt;Authentication&lt;br /&gt;The user needs to authenticate to the CVS server. Following information needs to be specified:&lt;br /&gt;• CVS server&lt;br /&gt;• Directory on that server which has the CVS files&lt;br /&gt;• Username&lt;br /&gt;• Authentication method&lt;br /&gt;The combination of all of these is sometimes called the “CVSROOT”&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-7761281752892905600?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/7761281752892905600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/concurrent-versions-system-cvs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/7761281752892905600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/7761281752892905600'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/concurrent-versions-system-cvs.html' title='Concurrent Versions System (CVS)'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-2105132613741466837</id><published>2009-06-14T03:47:00.000-07:00</published><updated>2009-06-15T09:37:08.512-07:00</updated><title type='text'>Communicating with various Departments</title><content type='html'>Effective Communication with various departments is very important in order to develop the weekly testing strategy. Below are some key points, which can be discussed on a weekly basis with the following stakeholders.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Research and Development (R&amp;amp;D) &lt;/span&gt;&lt;br /&gt;• Effective bug reports.&lt;br /&gt;• Tips for Regression during bug fixing.&lt;br /&gt;• Complex Areas of the code.&lt;br /&gt;• Affected areas after Code Optimization.&lt;br /&gt;• Implementation schedule of features.&lt;br /&gt;• Components with maximum code changes.&lt;br /&gt;• Unit Testing of implemented features.&lt;br /&gt;• Feedback on Test planning.&lt;br /&gt;• Components with high defect rejection.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Product Management (PM) &lt;/span&gt;&lt;br /&gt;• Use cases for the features.&lt;br /&gt;• Customer Workflow and frequency of usage.&lt;br /&gt;• Feedback on the Quality of the component.&lt;br /&gt;• Feedback on Usability of the components.&lt;br /&gt;• Feedback on Test planning.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Technical Support &lt;/span&gt;&lt;br /&gt;• Type and frequency of queries.&lt;br /&gt;• Issues reported and workarounds given for the components.&lt;br /&gt;• Overall feedback for a Product.&lt;br /&gt;• Integration of a particular feature with other features.&lt;br /&gt;• Expectations of the customer from our Products.&lt;br /&gt;• Third Party XTensions used by the customers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Customers&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Email Communication:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do’s&lt;/span&gt;&lt;br /&gt;• Always start the email with a friendly salutation.&lt;br /&gt;• Run a spell check on the emails before sending them to the customer.&lt;br /&gt;• Re-read the email before sending it to ensure that the email conveys the right message and does not sound too cold or rude.&lt;br /&gt;• Include confidentiality notice in your e-mails.&lt;br /&gt;• Keep the MDA in CC and the customer in the TO list while replying.&lt;br /&gt;• If the customer is not responding write to the respective MDA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don’ts&lt;/span&gt;&lt;br /&gt;• Avoid writing emails with unclear subject lines.&lt;br /&gt;• If unsure about the customer’s gender, refrain from using Mr/Mrs.&lt;br /&gt;• Don’t use fancy fonts and background images in the email.&lt;br /&gt;• Don’t forward internal mails/communication to the customer.&lt;br /&gt;• Don’t commit anything regarding bug fixes and feature enhancements.&lt;br /&gt;• Don’t use abbreviations which are not commonly understood.&lt;br /&gt;• Don’t write emails in upper case.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phone Conversations: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do’s&lt;/span&gt;&lt;br /&gt;• Speak in a slow and clear tone.&lt;br /&gt;• Greet the customer when starting a phone conversation or closing it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don’ts&lt;/span&gt;&lt;br /&gt;• Don’t interrupt the customer in between.&lt;br /&gt;• Don’t show anger, resentment in your tone.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-2105132613741466837?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/2105132613741466837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/communicating-with-various-departments.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2105132613741466837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2105132613741466837'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/communicating-with-various-departments.html' title='Communicating with various Departments'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-6547991439447082163</id><published>2009-06-14T03:45:00.000-07:00</published><updated>2009-06-15T09:37:24.148-07:00</updated><title type='text'>Beta Certification</title><content type='html'>Beta certification by QA means that the software is usable by customers under the normal and high probability workflow environment of the features described in the Requirements.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Beta&lt;br /&gt;&lt;br /&gt;Purpose: Present product to external customers for environmental testing including use of intended configuration, hardware, workflow, network etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria: &lt;/span&gt;&lt;br /&gt;• All Showstoppers, Alpha and Beta defects thrashed till specified number of days prior to the publication of the build must be fixed.&lt;br /&gt;• Defects which are dependent on external implementation must have possible fix dates (before the FC date). All exceptions are in escalation with senior management.&lt;br /&gt;• All Defects fixed in the prior build of Beta candidate should have appropriate action taken on them.&lt;br /&gt;• All pre-release customer reported defects (Showstopper, Alpha and Beta) thrashed till specified number of days prior to publication of the build must be fixed.&lt;br /&gt;• All the Gray Area tasks identified by R&amp;amp;D prior to Alpha build must be completed before Beta build is delivered to QA.&lt;br /&gt;• Results of Performance tests are available and all Showstopper, Alpha and Beta defects have been resolved.&lt;br /&gt;• QA must complete one round of site visits for predefined customers.&lt;br /&gt;• QA must be able to replicate the documented customer workflow on the beta build.&lt;br /&gt;• All exceptions must be approved by competent authority.&lt;br /&gt;• UI specification is complete and signed off. Pixel perfect reviews are finished and all identified issues are resolved.&lt;br /&gt;• Customer pre-release documentation (What to test, Known Issues, New features list, test Documents) is complete.&lt;br /&gt;• The help files must be part of the Beta candidate build and must be launched from the application.&lt;br /&gt;• All other documentation reviewed and final drafts must be installed by the installers. The structure of the installed build must be as per the configuration document reviewed by the stake holders.&lt;br /&gt;• All test Plans and DITs reviewed and approved by R&amp;amp;D and PM and the test wares are updated on shared location.&lt;br /&gt;• All functional requirements from PM and design doc from R&amp;amp;D should be up-to-date and approved.&lt;br /&gt;• The MTBF (Mean Time Between failure) of the application should be more than specified number of hours.&lt;br /&gt;• The UI implementation is complete in all respects.&lt;br /&gt;• All localization changes (Application and XTensions) should have been completed.&lt;br /&gt;• File Format should be frozen i.e. any file saved in the Beta build or later can be opened without data loss.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities &lt;/span&gt;&lt;br /&gt;• Acceptance testing by QA according to following criteria:&lt;br /&gt;             •   Successful execution of Build Acceptance tests i.e. Smoke test and Manual test.              &lt;br /&gt;             • &lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Acceptance&lt;/a&gt; results shall be published within 1 working day after receiving the Beta Build.&lt;br /&gt;• Regress all OpenForQA bugs fixed for the Accepted Beta build after publishing the Acceptance test results.&lt;br /&gt;• Regress all Fixed/NLI Showstopper, Alpha and Beta defects.&lt;br /&gt;• Execute all the identified workflows.&lt;br /&gt;• Execute one round of Structured tests and update the results on Shared location.&lt;br /&gt;• Gather, document and react to the feedback from external sources.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exit Criteria: &lt;/span&gt;&lt;br /&gt;• The above testing methods are completed.&lt;br /&gt;• If any of Showstopper, Alpha or Beta defect is rejected, it needs to be approved by PM as an exception.&lt;br /&gt;• Beta build distributed to testers, including external customers.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-6547991439447082163?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/6547991439447082163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/beta-certification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6547991439447082163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6547991439447082163'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/beta-certification.html' title='Beta Certification'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-2862158571939847308</id><published>2009-06-14T03:41:00.000-07:00</published><updated>2009-06-15T10:14:40.653-07:00</updated><title type='text'>Automation Scripts</title><content type='html'>The Automation scripts are executed on Weekly/Daily Builds to perform Regression and Functionality testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Contents&lt;/span&gt;&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;File Summary&lt;/span&gt;: Summary of the file – Functionality name, Creation date, and scripter&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Script&lt;/span&gt; Data types and Variables&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Script Functions&lt;/span&gt;: Commonly used functions in the script&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Positive Test scripts&lt;/span&gt;: All positive test cases according to the Test Case Document&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Negative Test scripts&lt;/span&gt;: All negative test cases according to the Test Case Document&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Test plan file&lt;/span&gt;: All the test cases defined in the script file are called&lt;br /&gt;&lt;br /&gt;Automation scripts also use pre-created Test Files which include:&lt;br /&gt;• Legacy Documents&lt;br /&gt;• Image files of different formats&lt;br /&gt;• Different Font Files&lt;br /&gt;• MS Word, Excel files etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Audience&lt;/span&gt;&lt;br /&gt;The automated scripts are created for use by the QA team.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Review: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;&lt;br /&gt;To verify that the test cases are automated as per the pass fail criteria specified in the Test Case Document.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Who should review the Automation Scripts&lt;/span&gt;?&lt;br /&gt;Automation scripts for each feature in the application are to be reviewed by the primary person assigned for manual testing of that feature.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Automation Script Review Checklis&lt;/span&gt;t&lt;br /&gt;• Verify that all possible verifications listed in the Pass Fail criteria are done through the script.&lt;br /&gt;• Verify proper exception handling for all automated test cases.&lt;br /&gt;• Verify that there is no redundant code and functions are used wherever necessary.&lt;br /&gt;• Verify that proper error messages are displayed in the event of a test case failure.&lt;br /&gt;&lt;br /&gt;To know about Apple Scripting, please visit &lt;a href="http://mkatyal.blogspot.com/2009/06/apple-scripting.html"&gt;Apple Scripting&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To know about Eggplant, please visit &lt;a href="http://mkatyal.blogspot.com/2009/06/eggplant.html"&gt;Eggplant&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To know about Silk Test, please refer to &lt;a href="http://mkatyal.blogspot.com/2009/04/silk-test.html"&gt;Silk Test Q&amp;amp;A&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;To know about WinRunner, please refer to &lt;a href="http://mkatyal.blogspot.com/2009/04/winrunner-questions-and-answers.html"&gt;WinRunner Q&amp;amp;A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-2862158571939847308?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/2862158571939847308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/automation-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2862158571939847308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2862158571939847308'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/automation-scripts.html' title='Automation Scripts'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-3763156932617955369</id><published>2009-06-14T03:40:00.000-07:00</published><updated>2009-06-15T10:10:59.189-07:00</updated><title type='text'>Apple Scripting</title><content type='html'>AppleScript (AS) is a scripting language that allows to directly control Macintosh applications, including the Mac OS itself. The AppleScript compiler is provided by Mac OS and Script Editor is used to write and execute AppleScripts.&lt;br /&gt;&lt;br /&gt;AppleScript allows to create sets of written instructions, known as scripts, to automate repetitive tasks, customize applications, and control complex workflows.&lt;br /&gt;&lt;br /&gt;Application support for AppleScript is provided by R&amp;amp;D team wherever required in the product. The role of QA is to test all those features in the application, which are made Scriptable.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Framework&lt;/span&gt;&lt;br /&gt;The commonly used framework for AppleScript is divided into two parts:&lt;br /&gt;• &lt;span style="font-style: italic;"&gt;AS suite&lt;/span&gt;&lt;br /&gt;It consists of all AppleScripts to provide the test case input and steps in the form of AppleScripts.&lt;br /&gt;• &lt;span style="font-style: italic;"&gt;EggPlant suite&lt;/span&gt;&lt;br /&gt;It consists of scripts written in Eggplant, which verify the job performed by AS at application’s UI.&lt;br /&gt;&lt;br /&gt;To know more about Automation Scripts, please refer to &lt;a href="http://mkatyal.blogspot.com/2009/06/automation-scripts.html"&gt;Automation Scripts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-3763156932617955369?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/3763156932617955369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/apple-scripting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3763156932617955369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3763156932617955369'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/apple-scripting.html' title='Apple Scripting'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-4057922723689663941</id><published>2009-06-14T03:38:00.000-07:00</published><updated>2009-06-15T09:38:34.943-07:00</updated><title type='text'>Alpha Certification</title><content type='html'>Alpha certification by QA means that software is testable by customers under the controlled environment of the features described in the Requirements.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Phase&lt;/span&gt;: Alpha&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Purpose&lt;/span&gt;: Present fully functional product to customers for testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Entry Criteria&lt;/span&gt;&lt;br /&gt;• All Showstoppers and Alpha defects thrashed till specified number of days prior to the publication of the build must be fixed.&lt;br /&gt;• Defects which are dependent on external implementation should have possible fix dates.&lt;br /&gt;• All Defects fixed in the prior build of Alpha candidate should have appropriate action taken on them.&lt;br /&gt;• UI Specification is complete and accepted by PM, QA and R&amp;amp;D.&lt;br /&gt;• Customer Pre-Release Documentations like What to test, Known Issues, New Features is completed.&lt;br /&gt;• Help Files should be launched within the application.&lt;br /&gt;• Configuration Documents are defined and reviewed by stakeholders.&lt;br /&gt;• All test plans reviewed and approved by R&amp;amp;D and PM. Final draft of DIT in progress or sent for review.&lt;br /&gt;• UI implementation should be ready for pixel perfect review.&lt;br /&gt;• All localization changes should have been completed.&lt;br /&gt;• All workflows are defined, reviewed and accepted by stakeholders.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Activities&lt;/span&gt;&lt;br /&gt;• Acceptance testing according to following criteria:&lt;br /&gt;  • Successful execution of &lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Build Acceptance tests&lt;/a&gt; i.e. Smoke test and Manual test.&lt;br /&gt;  • Acceptance results shall be published within 1 working day after receiving the Alpha build.&lt;br /&gt;• Regress all OpenForQA bugs fixed for the Accepted Alpha build after publishing the Acceptance test results.&lt;br /&gt;• Regress all Fixed/NLI Showstoppers and Alpha defects.&lt;br /&gt;• Automated Focus Results should not report any new Showstoppers and Alpha defects or result in reopening of the closed ones.&lt;br /&gt;• QA shall execute structured tests on the Alpha candidate build and the result will be updated on shared location.&lt;br /&gt;• Execute all the identified workflows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exit Criteria&lt;/span&gt;&lt;br /&gt;• The Activities described above have been completed.&lt;br /&gt;• If any Showstopper or Alpha defect is rejected, the build cannot be certified as Alpha. However, for a rejected defect with lower priority, the decision to certify the product shall be that of the Triage team.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-4057922723689663941?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/4057922723689663941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/alpha-certification.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4057922723689663941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4057922723689663941'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/alpha-certification.html' title='Alpha Certification'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-2603106882308541673</id><published>2009-06-14T03:36:00.000-07:00</published><updated>2009-06-15T09:38:40.573-07:00</updated><title type='text'>Adhoc Testing</title><content type='html'>Adhoc testing can also be termed as unstructured testing. It is a form of testing carried out using no recognized test case design technique.&lt;br /&gt;&lt;br /&gt;Following are some of the characteristics of Adhoc Testing:&lt;br /&gt;&lt;br /&gt;• It involves utilizing strange and random input to determine if the application reacts adversely to it.&lt;br /&gt;• There is no structured testing involved and no test cases are run. It involves various permutations and combinations of different inputs that may affect the functionality of a component.&lt;br /&gt;• It also involves integration of different functionalities which is outside the normal scope of structured testing.&lt;br /&gt;• It goes along simultaneously with structured testing.&lt;br /&gt;• It is done to ascertain that the product is running successfully as a whole under any circumstance.&lt;br /&gt;• It is basically an approach to test the product from user’s perspective.&lt;br /&gt;• It is unscripted, unrehearsed, and improvisational.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-2603106882308541673?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/2603106882308541673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/adhoc-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2603106882308541673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/2603106882308541673'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/adhoc-testing.html' title='Adhoc Testing'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-3170091772908702520</id><published>2009-06-14T03:34:00.000-07:00</published><updated>2009-06-15T09:38:46.715-07:00</updated><title type='text'>Acceptance Testing</title><content type='html'>Acceptance test cases are a subset of structured test cases designed to test if the product can perform basic level functionality.&lt;br /&gt;&lt;br /&gt;Acceptance cases are categorized as R1 cases, where R1 = (Rotation 1 i.e. test cases to be executed every week when weekly build is published)&lt;br /&gt;These are the critical test cases executed on every Weekly build. All Acceptance test cases would fall in this category.&lt;br /&gt;&lt;br /&gt;The following is the acceptance procedure followed by QA:&lt;br /&gt;&lt;br /&gt;• QA receives SCM compiled build from R&amp;amp;D.&lt;br /&gt;• QA conducts Acceptance testing on the very day of the publishing of the weekly build by executing all the R1 cases.&lt;br /&gt;• If no R1 cases are failing then the build is declared “Accepted”. QA will now test further on this Accepted build.&lt;br /&gt;• If one or more of the R1 cases are failing then the build is declared “Rejected”. This information is passed on to R&amp;amp;D and PM with the information of the failing test cases and their corresponding defect numbers. QA does not carry on any further testing and continues to work on the older build until a new build has passed the Acceptance criteria.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-3170091772908702520?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/3170091772908702520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/06/acceptance-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3170091772908702520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/3170091772908702520'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/06/acceptance-testing.html' title='Acceptance Testing'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-6715091814148194026</id><published>2009-04-15T05:32:00.000-07:00</published><updated>2009-06-15T09:58:33.766-07:00</updated><title type='text'>Testing definitions</title><content type='html'>&lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;&lt;span style="font-weight: bold;"&gt;Acceptance Test&lt;/span&gt;&lt;/a&gt;: Formal tests (often performed by a customer) to determine whether or not a system has satisfied predetermined acceptance criteria. These tests are often used to enable the customer (either internal or external) to determine whether or not to accept a system.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/adhoc-testing.html"&gt;&lt;span style="font-weight: bold;"&gt;Ad Hoc Testing&lt;/span&gt;&lt;/a&gt;: Testing carried out using no recognized test case design technique.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/alpha-certification.html"&gt;&lt;span style="font-weight: bold;"&gt;Alpha Testing&lt;/span&gt;&lt;/a&gt;: Testing of a software product or system conducted at the developer’s site by the customer.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/automation-scripts.html"&gt;&lt;span style="font-weight: bold;"&gt;Automated Testing&lt;/span&gt;&lt;/a&gt;: Software testing which is assisted with software technology that does not require operator (tester) input, analysis, or evaluation.&lt;br /&gt;&lt;br /&gt;Bug glitch, error, goof, slip, fault, blunder, boner, howler, oversight, botch, delusion, issue, problem.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/beta-certification.html"&gt;&lt;span style="font-weight: bold;"&gt;Beta Testing&lt;/span&gt;&lt;/a&gt;: Testing conducted at one or more customer sites by the end-user of a delivered software product or system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benchmarks&lt;/span&gt;: Programs that provide performance comparison for software, hardware, and systems.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Black Box Testing&lt;/span&gt;: A testing method where the application under test is viewed as a black box and the internal behavior of the program is completely ignored. Testing occurs based upon the external specifications. Also known as behavioral testing, since only the external behaviors of the program are evaluated and analyzed. For more details about Black Box Testing, please refer to &lt;a href="http://mkatyal.blogspot.com/2009/03/testing-methodologies.html"&gt;Testing Methodologies&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Boundary Value Analysis (BVA)&lt;/span&gt;: BVA is different from equivalence partitioning in that it focuses on “corner cases” or values that are usually out of range as defined by the specification. This means that if function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001. BVA attempts to derive the value often used as a technique for stress, load or volume testing. This type of validation is usually performed after positive functional validation has completed (successfully) using requirements specifications and user documentation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Breadth Test&lt;/span&gt;: A test suite that exercises the full scope of a system from a top-down perspective, but does not test any aspect in detail.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cause Effect Graphing&lt;/span&gt;:&lt;br /&gt;• Test data selection technique. The input and output domains are partitioned into classes and analysis is performed to determine which input classes cause which effect. A minimal set of inputs is chosen which will cover the entire effect set.&lt;br /&gt;• A systematic method of generating test cases representing combinations of conditions. See: testing, functional. [G. Myers]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code Inspection&lt;/span&gt;: A manual [formal] testing [error detection] technique where the programmer reads source code, statement by statement, to a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards. Contrast with code audit, code review, code walkthrough. This technique can also be applied to other software and configuration items.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code Walkthrough&lt;/span&gt;: A manual testing [error detection] technique where program [source code] logic [structure] is traced manually [mentally] by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer ’s logic and assumptions.[G.Myers/NBS] Contrast with code audit, code inspection, code review.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Compatibility Testing&lt;/span&gt;: The process of determining the ability of two or more systems to exchange information. In a situation where the developed software replaces an already working program, an investigation should be conducted to assess possible comparability problems between the new software and other programs or systems.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Defect&lt;/span&gt;: The difference between the functional specification (including user documentation) and actual program text (source code and data). Often reported as problem and stored in defect-tracking and problem-management system&lt;br /&gt;Defect also called a fault or a bug, a defect is an incorrect part of code that is caused by an error. An error of commission causes a defect of wrong or extra code. An error of omission results in a defect of missing code. A defect may cause one or more failures. Please refer the article &lt;a href="http://mkatyal.blogspot.com/2009/06/defect-logging.html"&gt;Defect Logging&lt;/a&gt; to know how to log a defect.&lt;a href="http://mkatyal.blogspot.com/2009/06/defect-logging.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Decision Coverage&lt;/span&gt;: A test coverage criteria requiring enough test cases such that each decision has a true and false result at least once, and that each statement is executed at least once. Contrast with condition coverage, multiple condition coverage, path coverage, statement coverage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dirty testing&lt;/span&gt; is also called Negative testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dynamic testing&lt;/span&gt;: Testing, based on specific test cases, by execution of the test object or running programs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Equivalence Partitioning&lt;/span&gt;: An approach where classes of inputs are categorized for product or function validation. This usually does not include combinations of input, but rather a single state value based by class. For example, with a given function there may be several classes of input that may be used for positive testing. If function expects an integer and receives an integer as input, this would be considered as positive test assertion. On the other hand, if a character or any other input class other than integer is provided, this would be considered a negative test assertion or condition.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Error&lt;/span&gt; An error is a mistake of commission or omission that a person makes. An error causes a defect. In software development one error may cause one or more defects in requirements, designs, programs, or tests.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Error Guessing&lt;/span&gt;: Another common approach to black-box validation. Black-box testing is when everything else other than the source code may be used for testing. This is the most common approach to testing. Error guessing is when random inputs or conditions are used for testing. Random in this case includes a value either produced by a computerized random number generator, or an ad hoc value or test conditions provided by engineer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exception Testing&lt;/span&gt;: Identify error messages and exception handling processes a conditions that trigger them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exhaustive Testing(NBS)&lt;/span&gt;: Executing the program with all possible combinations of values for program variables. Feasible only for small, simple programs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Functional Testing:&lt;/span&gt; Application of test data derived from the specified functional requirements without regard to the final program structure. Also known as black-box testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gray Box Testing&lt;/span&gt;: Tests involving inputs and outputs, but test design is educated by information about the code or the program operation of a kind that would normally be out of scope of view of the tester.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;High-level tests&lt;/span&gt;: These tests involve testing whole, complete products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Inspection&lt;/span&gt;: A formal evaluation technique in which software requirements, design, or code are examined in detail by person or group other than the author to detect faults, violations of development standards, and other problems [IEEE94]. A quality improvement process for written material that consists of two dominant components: product (document) improvement and process improvement (document production and inspection).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Integration&lt;/span&gt;: The process of combining software components or hardware components or both into overall system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Integration testing&lt;/span&gt;: Testing of combined parts of an application to determine if they function together correctly. The ‘parts’ can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. For more details about Integration Testing, please refer to &lt;a href="http://mkatyal.blogspot.com/2009/03/testing-methodologies.html"&gt;Testing Methodologies&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-6715091814148194026?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/6715091814148194026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/04/testing-definitions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6715091814148194026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6715091814148194026'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/04/testing-definitions.html' title='Testing definitions'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-4063929025507614742</id><published>2009-04-07T05:14:00.000-07:00</published><updated>2009-06-15T09:38:55.349-07:00</updated><title type='text'>WinRunner Questions and Answers</title><content type='html'>1. &lt;span style="font-weight: bold;"&gt;TSL is C like or C++ like&lt;/span&gt;?&lt;br /&gt;C Like&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;What are the modes of recording tests&lt;/span&gt;?&lt;br /&gt;a) &lt;span style="font-style: italic;"&gt;Context-Sensitive&lt;/span&gt;: Object mapping saved in GUI map so change is required there only&lt;br /&gt;b) &lt;span style="font-style: italic;"&gt;Analog mode&lt;/span&gt;: Analog mode records mouse clicks, keyboard input, and the exact x- and y- coordinates traveled by the mouse. Switch over from Context Sensitive to analog and vice versa can be done with F2.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;What are the modes of running tests&lt;/span&gt;?&lt;br /&gt;Use Verify mode when running a test to check the behavior of your application, and when you want to save the test results.&lt;br /&gt;Use &lt;span style="font-style: italic;"&gt;Debug &lt;/span&gt;mode when you want to check that the test script runs smoothly without errors in syntax.&lt;br /&gt;Use &lt;span style="font-style: italic;"&gt;Update &lt;/span&gt;mode when you want to create new expected results for a GUI&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;What are the modes for organizing GUI Map files&lt;/span&gt;?&lt;br /&gt;a) &lt;span style="font-style: italic;"&gt;Global GUI Map File mode&lt;/span&gt;: You can create a GUI map file for your entire application, or for each window in your application. Different tests can reference a common GUI map file&lt;br /&gt;b) &lt;span style="font-style: italic;"&gt;GUI Map File per Test mode&lt;/span&gt;: Win Runner automatically creates a GUI map file that corresponds to each test you create.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;What is the testing Process in Win Runner&lt;/span&gt;?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Create GUI Map&lt;/span&gt;:&lt;br /&gt;RapidTest Script wizard, Alternatively, you can add descriptions of individual objects to the GUI map by clicking objects while recording a test.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Create Test &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Debug Test&lt;/span&gt;&lt;br /&gt;One can set breakpoints, monitor variables, and control how tests are run&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Run Test&lt;/span&gt;&lt;br /&gt;One runs tests in &lt;span style="font-style: italic;"&gt;Verify mode&lt;/span&gt; to test your application.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;View Result&lt;/span&gt;&lt;br /&gt;One can view the expected results and the actual results from the Test Results window. In cases of  bitmap mismatches, one can also view a bitmap that displays only the difference between the expected and actual results.&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;What are logical name and physical description of an object&lt;/span&gt;?&lt;br /&gt;The logical name is actually a nickname for the object’s physical description. The physical description contains a list of the object’s physical properties. The logical name and the physical description together ensure that each GUI object has its own unique identification.&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;What are logical name and physical description of an object&lt;/span&gt;?&lt;br /&gt;The logical name is actually a nickname for the object’s physical description. The physical description contains a list of the object’s physical properties. The logical name and the physical description together ensure that each GUI object has its own unique identification.&lt;br /&gt;&lt;br /&gt;8. &lt;span style="font-weight: bold;"&gt;What set_window command does&lt;/span&gt;?&lt;br /&gt;If one programs a test manually, you need to enter the set_ window statement when the active window changes.&lt;br /&gt;&lt;br /&gt;9. &lt;span style="font-weight: bold;"&gt;What are the functions of GUI Map Editor and GUI spy&lt;/span&gt;?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;GUI Spy&lt;/span&gt; to view the properties of any GUI object on your desktop, to see how WinRunner identifies it.&lt;br /&gt;By using the &lt;span style="font-style: italic;"&gt;GUI Map Editor&lt;/span&gt; to learn the properties of an individual GUI object, window, or all GUI objects in a window.&lt;br /&gt;One can modify the set of properties that WinRunner learns for a specific object class using the GUI Map Configuration dialog box.&lt;br /&gt;You must load the appropriate GUI map files before you run tests. WinRunner uses these files to help locate the objects in the application being tested. It is most efficient to insert a GUI_ load statement into your startup test.&lt;br /&gt;&lt;br /&gt;10. &lt;span style="font-weight: bold;"&gt;How object descriptions are edited in GUI map&lt;/span&gt;?&lt;br /&gt;You must edit the label in the button’s physical description in the GUI map. You can change the physical description using regular expressions.&lt;br /&gt;&lt;br /&gt;11. &lt;span style="font-weight: bold;"&gt;What type of test cases Win Runner writes automatically when running Rapid Test Script wizard&lt;/span&gt;?&lt;br /&gt;GUI Regression Test&lt;br /&gt;Bitmap Regression Test&lt;br /&gt;User Interface Test&lt;br /&gt;Test Template:  This test provides a basic framework of an automated test that navigates your application. It opens and closes each window, leaving space for you to add code (through recording or programming) that checks the window.&lt;br /&gt;&lt;br /&gt;12. &lt;span style="font-weight: bold;"&gt;Can there be more than one Global GUI map files for one application&lt;/span&gt;?&lt;br /&gt;Yes, but that needs to be loaded programmatically. Sometimes the logical name of an object is not descriptive. If you use the GUI Map Editor to learn your application before you record, then you can modify the logical name of the object in the GUI map to a descriptive name by highlighting the object and clicking the Modify button.&lt;br /&gt;&lt;br /&gt;GUI Map files can also be merged. Both Auto and Manual Merge are there and conflict resolution for same window name and object name can be used while merging.&lt;br /&gt;&lt;br /&gt;13. &lt;span style="font-weight: bold;"&gt;What are two regular expressions&lt;/span&gt;?&lt;br /&gt;A regular expression is a string that specifies a complex search phrase in order to enable WinRunner to identify objects with varying names or titles.&lt;br /&gt;In the Physical Description label line, add an “!” immediately following the opening quotes to indicate that this is a regular expression.&lt;br /&gt;The regexp_ label property is used for windows only. It operates “behind the scenes” to insert a regular expression into a window’s label description.&lt;br /&gt;The regexp_ MSW_ class property inserts a regular expression into an object’s MSW_ class. It is obligatory for all types of windows and for the object class object.&lt;br /&gt;&lt;br /&gt;14. &lt;span style="font-weight: bold;"&gt;How objects are identified in WinRunner&lt;/span&gt;?&lt;br /&gt;Each GUI object in the application being tested is defined by multiple properties, such as class, label, MSW_ class, MSW_ id, x (coordinate), y (coordinate), width, and height. WinRunner uses these properties to identify GUI objects in your application during Context Sensitive testing.&lt;br /&gt;&lt;br /&gt;15. &lt;span style="font-weight: bold;"&gt;What is generic object class&lt;/span&gt;?&lt;br /&gt;When WinRunner records an operation on a custom object, it generates obj_ mouse_ statements in the test script. If a custom object is similar to a standard object, you can map it to one of the standard classes. You can also configure the properties WinRunner uses to identify a custom object during Context Sensitive testing. The mapping and the configuration you set are valid only for the current WinRunner session. To make the mapping and the configuration permanent, you must add configuration statements to your startup test script.&lt;br /&gt;&lt;br /&gt;16. &lt;span style="font-weight: bold;"&gt;What is Virtual Object&lt;/span&gt;?&lt;br /&gt;By defining a bitmap as a virtual object, you can instruct WinRunner thru Virtual Object Wizard to treat it like a GUI object such as a push button, when you record and run tests.This makes your test scripts easier to read and understand.&lt;br /&gt;&lt;br /&gt;17. &lt;span style="font-weight: bold;"&gt;What is Synchronization Point&lt;/span&gt;?&lt;br /&gt;Synchronization points solve timing and window location problems that may occur during a test run. A synchronization point tells WinRunner to pause the test run in order to wait for a specified response in the application.&lt;br /&gt;&lt;br /&gt;18. &lt;span style="font-weight: bold;"&gt;When should Synchronization be done&lt;/span&gt;?&lt;br /&gt;to retrieve information from a database&lt;br /&gt;for a window to pop up&lt;br /&gt;for a progress bar to reach 100%&lt;br /&gt;for a status message to appear&lt;br /&gt;&lt;br /&gt;19. &lt;span style="font-weight: bold;"&gt;How should Synchronization be done&lt;/span&gt;?&lt;br /&gt;General: Increase the default time that WinRunner waits. To do so, you change the value of the Timeout for Checkpoints and CS Statements option in the Run tab of the General Options dialog box (Settings &gt; General Options).&lt;br /&gt;&lt;br /&gt;In Script: Choose Create &gt; Synchronization Point &gt; For Object/ Window Bitmap or click the Synchronization Point for Object/ Window Bitmap button on the User toolbar. A synchronization point appears as obj_ wait_ bitmap or win_ wait_ bitmap statements in the test script.&lt;br /&gt;&lt;br /&gt;20. &lt;span style="font-weight: bold;"&gt;What are the statements for checking GUI objects&lt;/span&gt;?&lt;br /&gt;obj_ check_ gui statement into the test script if you are checking an object, or a win_ check_ gui statement if you are checking a window.&lt;br /&gt;Choose Settings &gt; General Options . In the General Options dialog box, click the Run tab, and clear the Break when verification fails check box. This enables the test to run without interruption.&lt;br /&gt;&lt;br /&gt;21. &lt;span style="font-weight: bold;"&gt;How does one check bitmaps&lt;/span&gt;?&lt;br /&gt;WinRunner captures a bitmap image and saves it as expected results. It then inserts an obj_check_bitmap statement into the test script if it captures an object, or a win_ check_ bitmap statement if it captures an area or window.&lt;br /&gt;&lt;br /&gt;22. &lt;span style="font-weight: bold;"&gt;How is function generator used&lt;/span&gt;?&lt;br /&gt;Choose Create &gt; Insert Function &gt; For Object/ Window or click the Insert Function for Object/ Window button on the User toolbar. Use the pointer to click the # field.&lt;br /&gt;The Function Generator opens and suggests the edit_ get_ text function.&lt;br /&gt;This function reads the text in the # field and assigns it to a variable. The default variable name is text. Change the variable name, text, to anytext of your choice by typing in the field. Edit &gt; Comment . After the # sign.&lt;br /&gt;&lt;br /&gt;23. &lt;span style="font-weight: bold;"&gt;How Logics for correctness can be written in scripts&lt;/span&gt;?&lt;br /&gt;By adding tl_ step statements to your test script, you can determine whether a particular operation within the test passed or failed, and send a message to the report.&lt;br /&gt;if (tickets* price == total)&lt;br /&gt;tl_ step (" total", 0, "Total is correct.");&lt;br /&gt;else&lt;br /&gt;tl_ step (" total", 1, "Total is incorrect.");&lt;br /&gt;&lt;br /&gt;24. &lt;span style="font-weight: bold;"&gt;What debugging tools are used in Win Runner&lt;/span&gt;?&lt;br /&gt;Run the test line by line using the Step commands&lt;br /&gt;Define breakpoints that enable you to stop running the test at a specified line or function in the test script&lt;br /&gt;Monitor the values of variables and expressions using the Watch List&lt;br /&gt;&lt;br /&gt;25. &lt;span style="font-weight: bold;"&gt;What are the statements used to write data driven tests&lt;/span&gt;?&lt;br /&gt;The table = line defines the table variable.&lt;br /&gt;The ddt_ open statement opens the table, and the subsequent lines confirm that the data- driven test opens successfully.&lt;br /&gt;The ddt_ get_ row_ count statement checks how many rows are in the table, and therefore, how many iterations of the parameterized section of the test to perform.&lt;br /&gt;The for statement sets up the iteration loop.&lt;br /&gt;The ddt_ set_ row statement tells the test which row of the table to use on each iteration.&lt;br /&gt;In the edit_ set statement, the value, “ aaa ” is replaced with a ddt_ val statement.&lt;br /&gt;The ddt_ close statement closes the table.&lt;br /&gt;&lt;br /&gt;26. &lt;span style="font-weight: bold;"&gt;How batch tests are run in Win Runner&lt;/span&gt;?&lt;br /&gt;You choose the Run in batch mode option on the Run tab of the General Options dialog box ( Settings &gt; General Options ) before running the test. This option instructs WinRunner to suppress messages that would otherwise interrupt the test.&lt;br /&gt;for (i= 0; i&lt;&gt; Activate Exception Handling&lt;br /&gt;Define Handler Function&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WinRunner enables you to handle the following types of exceptions&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Pop-up exceptions&lt;/span&gt;: Instruct WinRunner to detect and handle the appearance of a specific window.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TSL exceptions:&lt;/span&gt; Instruct WinRunner to detect and handle TSL functions that return a specific error code.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Object exceptions:&lt;/span&gt; Instruct WinRunner to detect and handle a change in a property for a specific GUI object.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Web exceptions&lt;/span&gt;: When the WebTest add-in is loaded, you can instruct WinRunner to handle unexpected events and errors that occur in your Web site during a test run.&lt;br /&gt;&lt;br /&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-4063929025507614742?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/4063929025507614742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/04/winrunner-questions-and-answers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4063929025507614742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/4063929025507614742'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/04/winrunner-questions-and-answers.html' title='WinRunner Questions and Answers'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-5105067073177971947</id><published>2009-04-07T04:17:00.000-07:00</published><updated>2009-06-15T09:39:03.511-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silk Test Interview Questions'/><title type='text'>Silk Test Questions and Answers</title><content type='html'>1. &lt;span style="font-weight: bold;"&gt;Which Type of Functional Test Cases should be automated?&lt;/span&gt;&lt;br /&gt;a) Regression Bugs  : As the functionality is already present in the software&lt;br /&gt;b) Repetitive Test Cases  : Similar Type of test cases which if one is automated leads to easier automation of other test cases&lt;br /&gt;c) Data Driven  :  When repetitive type of Data inputs are required for test cases&lt;br /&gt;d) Easy to automate  : Test Cases which are easy to automate thru Silk/WinRunner&lt;br /&gt;e) Data base testing: Which needs input from database or takes output from database for validation.&lt;br /&gt;f) Acceptance Tests of Builds&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Why Functional Automation?&lt;/span&gt;&lt;br /&gt;Automation is done to reduce repeated and redundant testing. Automation maintains a single standard of quality for your application over time — across releases, platforms, and networks.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Steps to Automate through Silk&lt;/span&gt;?&lt;br /&gt;•Creating a test plan&lt;br /&gt;•Recording a test frame&lt;br /&gt;•Creating Test cases&lt;br /&gt;•Running Test cases and interpreting their results&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;Why Silk?&lt;/span&gt;&lt;br /&gt;Silk is an object-oriented fourth-generation language (4GL) using 4Test language. Silk is used for testing GUI applications, C/S applications, web applications and web browsers.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;What Host and agent do?&lt;/span&gt;&lt;br /&gt;SilkTest host software&lt;br /&gt;•The SilkTest host software is the program you use to develop, edit, compile, run, and debug your Silk scripts and test plans.&lt;br /&gt;The Agent&lt;br /&gt;•The 4Test Agent is the software process that translates the commands in Silk scripts into GUI-specific commands.&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;What Type of Data Types Silk Uses&lt;/span&gt;?&lt;br /&gt;•Built-in Data Types&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ANYTYPE&lt;/span&gt;&lt;br /&gt;A variable of type ANYTYPE stores data of any type, including user-defined types.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;BOOLEAN&lt;/span&gt;&lt;br /&gt;A variable of type BOOLEAN stores either TRUE or FALSE.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DATACLASS &lt;/span&gt;&lt;br /&gt;The legal values of the DATACLASS type are the names of all the 4Test classes, including user-defined classes&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;C Data types&lt;/span&gt;&lt;br /&gt;Char•Int•Short•Long•unsigned char•unsigned int•unsigned short•unsigned long•Float•double&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;User Defined Data Types&lt;/span&gt;&lt;br /&gt;example: type FILE is LIST OF STRING&lt;br /&gt;type COLOR is enum&lt;br /&gt;red&lt;br /&gt;green&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;What are Various Types of 'Built in Functions' in Silk?&lt;/span&gt;&lt;br /&gt;•Application state&lt;br /&gt;•Array manipulation&lt;br /&gt;•Char/string conversion&lt;br /&gt;•Data type manipulation&lt;br /&gt;&lt;br /&gt;8. &lt;span style="font-weight: bold;"&gt;What are Various Types of Files in Silk?&lt;/span&gt;&lt;br /&gt;•Test Frames&lt;br /&gt;•Include Files&lt;br /&gt;•Test Scripts&lt;br /&gt;•Test Plans&lt;br /&gt;•Suite Files&lt;br /&gt;•Option Set&lt;br /&gt;•Result File&lt;br /&gt;&lt;br /&gt;9. &lt;span style="font-weight: bold;"&gt;How Window declarations are useful&lt;/span&gt;?&lt;br /&gt;•Declarations specify logical names&lt;br /&gt;•Declarations can encapsulate data and functions&lt;br /&gt;&lt;br /&gt;10. &lt;span style="font-weight: bold;"&gt;What are the stages of recording Window declaration&lt;/span&gt;?&lt;br /&gt;Two stages for Recording window Declaration:&lt;br /&gt;•Record the window declarations for the main window (including its menus and controls).&lt;br /&gt;•Bring up each dialog one at a time and record a declaration for each.&lt;br /&gt;&lt;br /&gt;11. &lt;span style="font-weight: bold;"&gt;What are the stages of recording Window declaration?&lt;/span&gt;&lt;br /&gt;Two stages for Recording window Declaration:&lt;br /&gt;•Record the window declarations for the main window (including its menus and controls).&lt;br /&gt;•Bring up each dialog one at a time and record a declaration for each.&lt;br /&gt;•Every window declaration consists of a class, identifier, and one or more tags. The class cannot be changed&lt;br /&gt;•The window declaration maps the object’s logical, platform-independent name, called the identifier, to the object’s actual name, called the tag. Identifier can be changed.&lt;br /&gt;&lt;br /&gt;12. &lt;span style="font-weight: bold;"&gt;What are the various types of Tags?&lt;/span&gt;&lt;br /&gt;•Caption&lt;br /&gt;•Prior text: Prior text tags begin with the ^ character.&lt;br /&gt;•Index: Index tags begin with the # character.&lt;br /&gt;•Window ID: Window ID tags begin with the $ character.&lt;br /&gt;•Location: Location tags begin with the @ character.&lt;br /&gt;&lt;br /&gt;13. &lt;span style="font-weight: bold;"&gt;What Multitags used for?&lt;/span&gt;&lt;br /&gt;This is particularly an issue in situations where captions change dynamically, such as in MDI applications where the window title changes each time a different child window is made active. When running test cases, The Agent tries to resolve each part of a multiple tag from top to bottom until it finds an object that matches.&lt;br /&gt;&lt;br /&gt;14. &lt;span style="font-weight: bold;"&gt;How Errors are handled in Silk?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;a) &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Default Error Handling&lt;/span&gt;&lt;br /&gt;If a test case fails (for example, if the expected value doesn’t match the actual value in a verification statement), Silk Test by default calls its built-in recovery system, which:&lt;br /&gt;- Terminates the test case&lt;br /&gt;- Logs the error in the results file&lt;br /&gt;- Restores your application to its default base state in preparation for the next test case. These runtime errors are called exceptions. They indicate that something did not go as expected in a script. They can be generated automatically by Silk Test, such as when verification fails, when there is a division by zero in a script, or when an invalid function is called.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;b) &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Explicit Error Handling&lt;/span&gt;&lt;br /&gt;However, suppose you don’t want Silk Test to transfer control to the recovery system when an exception is generated, but instead want to trap the exception and handle it yourself. To do this, you use the 4Test do...except statement.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;c) &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Programmatically logging an error&lt;/span&gt;&lt;br /&gt;•Some of the test cases passed, even though an error occurred, because they used their own error handler and did not specify to log the error. If you want to handle errors locally and generate an error (that is, log an error in the results file), you can do any of the following:&lt;br /&gt;- After you have handled the error, reraise it using the reraise statement and let the default recovery system handle it&lt;br /&gt;- Call any of the following functions in your script:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Function Action&lt;/span&gt;&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;LogError&lt;/span&gt; (string) Writes string to the results file as an error (displays in red or italics, depending on platform) and increments the error counter. This function is called automatically if you don’t handle the error yourself.&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;LogWarning&lt;/span&gt; (string) same as LogError, except it logs a warning, not an error.&lt;br /&gt;•&lt;span style="font-style: italic;"&gt;ExceptLog&lt;/span&gt; ( ) Calls LogError with the data from the most recent exception.&lt;br /&gt;&lt;br /&gt;15. &lt;span style="font-weight: bold;"&gt;What are Custom Objects and how are they useful?&lt;/span&gt;&lt;br /&gt;•Silk designates an object as custom if it is not an instance of a built-in class.&lt;br /&gt;•Custom classes enable an application to:&lt;br /&gt;- perform functions specific to the application&lt;br /&gt;- enhance standard class functionality&lt;br /&gt;- be maintained and extended easily by the developers&lt;br /&gt;•All custom objects default to the built-in class CustomWin&lt;br /&gt;&lt;br /&gt;16. &lt;span style="font-weight: bold;"&gt;How Custom Objects can be used?&lt;/span&gt;&lt;br /&gt;•Mapping to Known Classes&lt;br /&gt;•Procedure to Class Map a Custom Object&lt;br /&gt;1. Select Record / Window Declarations&lt;br /&gt;2. Place the cursor over the custom object&lt;br /&gt;3. Press Ctrl-Alt. The Record Window Declaration dialog appears&lt;br /&gt;4. Click Class Map. The Class Map dialog appears&lt;br /&gt;5. Select the corresponding standard class&lt;br /&gt;6. Click Add&lt;br /&gt;7. Click OK&lt;br /&gt;8. Click Resume Tracking.&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt;Adding User-Defined Methods&lt;/span&gt;:&lt;br /&gt;Functions specific to a window are called methods. A method is a series of commands that perform a task.&lt;br /&gt;- Methods can have data passed to them&lt;br /&gt;- Methods can return a value&lt;br /&gt;&lt;br /&gt;•To create a method specific to a window, define the function within the declaration of the window. The function automatically becomes a member of that window, or a member function.&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt;Methods Available to an Entire Class&lt;/span&gt;&lt;br /&gt;Some methods may be applicable for any instance of a class, not just for a particular object&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt;Normal function syntax applies&lt;/span&gt;:&lt;br /&gt;- Scope is local (to the class)&lt;br /&gt;- May return or take parameters&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt;Use the following structure to define a new class&lt;/span&gt;:&lt;br /&gt;winclass new_sub_class_name : class_name&lt;br /&gt;&lt;br /&gt;•Derive your new class from what is the logical parent class of the custom class.&lt;br /&gt;&lt;br /&gt;•To add the new method for a class, place it within this class definition.&lt;br /&gt;&lt;br /&gt;•Since you are defining your methods at the class level, there may be multiple instances of the class in your application. When referring to the object within your method, instead of ‘hard coding’ a particular instance refer to it generically with the keyword this.&lt;br /&gt;&lt;br /&gt;•‘this’ refers to the specific instance (object) that the method will operate against at runtime. It is an object oriented technique that may be used when defining methods within a window class declaration.&lt;br /&gt;&lt;br /&gt;•&lt;span style="font-weight: bold;"&gt;Steps to implement&lt;/span&gt;:&lt;br /&gt;- Derive a new class for each custom class&lt;br /&gt;- Add methods to operate on instances of the class&lt;br /&gt;- Declare objects (or modify existing declarations) of the custom class to be instances of your new defined class.&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Calling DLL functions&lt;/span&gt;&lt;br /&gt;•A DLL (Dynamic Link Library) is a binary file containing functions. An application is dynamically linked to this file at run time:&lt;br /&gt;- Enabling the application executable to be smaller&lt;br /&gt;-Allowing multiple applications to share the same set of functions from a single source&lt;br /&gt;•You can access DLL functions, which are either:&lt;br /&gt;- Standard platform API calls&lt;br /&gt;-Application specific functions&lt;br /&gt;•These DLL functions are found in several files, including:&lt;br /&gt;- Kernel32.dll&lt;br /&gt;- Gdi32.dll&lt;br /&gt;User32.dll&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to call Dll functions&lt;/span&gt;?&lt;br /&gt;•Declare the name of the dll where the function is found&lt;br /&gt;•Declare the name of the function, its return type (if any) and its parameter list (if any)&lt;br /&gt;•Declare any specific data types used by the function&lt;br /&gt;•Declare any constants used by the function&lt;br /&gt;•Call the function from within a SilkTest script.&lt;br /&gt;dll “user32.dll”&lt;br /&gt;INT MessageBox (HWND hWnd, LPCSTR sText, LPCSTR sTitle, UINT uFlags)&lt;br /&gt;Passing arguments to DLL functions&lt;br /&gt;•Calling DLL functions written in C requires you to use the appropriate C data types:&lt;br /&gt;- If the function uses C type BOOL, substitute type INT&lt;br /&gt;- Pass string variable (STRING) for a pointer to a character(CHAR*)&lt;br /&gt;- Pass array or list of the appropriate type for a pointer to a numerical array&lt;br /&gt;-Pass a Silk record for a pointer to a record&lt;br /&gt;&lt;br /&gt;•Many applications store part of their functionality in one or more dynamic libraries.&lt;br /&gt;&lt;br /&gt;•Declare the DLL normally, but use the inprocess keyword before the function declaration in the DLL you are calling.&lt;br /&gt;dll “C:\MyPrograms\circle.dll”&lt;br /&gt;Inprocess INT GetRadius(HWND hWnd)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;17. &lt;span style="font-weight: bold;"&gt;Why do we use appstates in Silk?&lt;/span&gt;&lt;br /&gt;a) An application state is typically used to put an application into the state it should be in at the start of a test case.&lt;br /&gt;Example:&lt;br /&gt;appstate MyAppState () basedon MyBaseState&lt;br /&gt;// Code to bring the application to the proper state...&lt;br /&gt;&lt;br /&gt;appstate MyBaseState ()&lt;br /&gt;// Code to bring the application to the base state...&lt;br /&gt;&lt;br /&gt;18. &lt;span style="font-weight: bold;"&gt;Which silk function opens the desired file on the host system? Give example&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FileOpen &lt;/span&gt;function&lt;br /&gt;Example Syntax :-&lt;br /&gt;&lt;br /&gt;// output file handle&lt;br /&gt;HFILE OutputFileHandle&lt;br /&gt;FILESHARE fShare&lt;br /&gt;// now open the file&lt;br /&gt;OutputFileHandle = FileOpen ("mydata.txt", FM_WRITE, fShare)&lt;br /&gt;&lt;br /&gt;19. &lt;span style="font-weight: bold;"&gt;Which function in Silk would you use to connect to database and give its syntax/example?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DB_Connect function&lt;/span&gt;&lt;br /&gt;Example: -&lt;br /&gt;Hdatabase hdbc&lt;br /&gt;hdbc = DB_Connect ("DSN=QESS;SRVR=PIONI;UID=sa;PWD=tester")&lt;br /&gt;&lt;br /&gt;20. &lt;span style="font-weight: bold;"&gt;Which function in Silk would you use to query database and give its syntax/example?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DB_ExecuteSql function&lt;/span&gt;&lt;br /&gt;Example: -&lt;br /&gt;hstmnt = DB_ExecuteSql (hdbc, "SELECT * FROM emp")&lt;br /&gt;&lt;br /&gt;21. &lt;span style="font-weight: bold;"&gt;How would you ensure exception handling in Silk test script?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Using “Do…. Except” statement&lt;/span&gt;. The do...except statement allows a possible exception to be handled by the test case instead of automatically terminating the test case. It Handles (ignores) an exception without halting a script.&lt;br /&gt;&lt;br /&gt;22. &lt;span style="font-weight: bold;"&gt;What is the use of “Spawn” and “Rendezvous” in silk test?&lt;/span&gt;&lt;br /&gt;a) &lt;span style="font-style: italic;"&gt;Spawn &lt;/span&gt;-: The purpose of the spawn is to initiate Concurrent operation on Multiple Machines.&lt;br /&gt;b) &lt;span style="font-style: italic;"&gt;Rendezvous&lt;/span&gt; -: Blocks execution of the calling thread until all threads that were spawned by the calling thread have completed.&lt;br /&gt;&lt;br /&gt;23. &lt;span style="font-weight: bold;"&gt;What is DefaultBasestate and why do we use it?&lt;/span&gt;&lt;br /&gt;Silk Test provides a DefaultBaseState for applications, which ensures the following conditions are met before recording and executing a test case:&lt;br /&gt;i. The application is running&lt;br /&gt;ii. The application is not minimized&lt;br /&gt;iii. The application is the active application&lt;br /&gt;iv. No windows other than the application’s main window are open&lt;br /&gt;&lt;br /&gt;Example: -&lt;br /&gt;Here is a sample application state that performs the setup for all forward case-sensitive searches in the Find dialog:&lt;br /&gt;&lt;br /&gt;appstate Setup () basedon DefaultBaseState&lt;br /&gt;TextEditor.File.New.Pick ()&lt;br /&gt;DocumentWindow.Document.TypeKeys ("Test Case&lt;home&gt;")&lt;br /&gt;TextEditor.Search.Find.Pick ()&lt;br /&gt;Find.CaseSensitive.Check ()&lt;br /&gt;Find.Direction.Select ("Down")&lt;br /&gt;&lt;br /&gt;24. &lt;span style="font-weight: bold;"&gt;When do we use Appstate none&lt;/span&gt;?&lt;br /&gt;a) When we do not want to have our test case any base state.&lt;br /&gt;b) If your test case is based on an application state of none or a chain of application states ultimately based on none, all functions within the recovery system are not called. For example, SetAppState and SetBaseState are not called, while DefaultTestCaseEnter, DefaultTestCaseExit, and error handling are called.&lt;br /&gt;&lt;br /&gt;25. &lt;span style="font-weight: bold;"&gt;What do the following commands do in the Debugging techniques&lt;/span&gt;: -&lt;br /&gt;a) Step Into command:  use Step Into to step through the function one line at a time, executing each line in turn as you go.&lt;br /&gt;b) Step Over command: use Step Over to speed up debugging if you know a particular function is bug-free.&lt;br /&gt;c) Finish Function command: use Finish Function to execute the script until the current function returns. SilkTest sets the focus at the line where the function returns. Try using Finish Function in combination with Step Into to step into a function and then run it.&lt;br /&gt;&lt;br /&gt;26. &lt;span style="font-weight: bold;"&gt;What Would you do when you get the following error while executing your script Error: Window 'name' is not enabled&lt;/span&gt;&lt;br /&gt;There are 2 ways to achieve this –&lt;br /&gt;a) To turn off the verification globally, uncheck the Verify that windows are enabled option on the Verification tab in the Agent Options dialog (select Options/Agent).&lt;br /&gt;b) Turn off the option in your script on a case by case basis, add the following statement to the script, just before the line causing the error: Agent.SetOption(OPT_VERIFY_ENABLED, FALSE)&lt;br /&gt;Add the following line just after the line causing the error: Agent.SetOption(OPT_VERIFY_ENABLED, TRUE).This means SilkTest will execute the action regardless of whether the window is enabled.&lt;br /&gt;&lt;br /&gt;27. &lt;span style="font-weight: bold;"&gt;How custom objects are mapped in Silk?&lt;/span&gt;&lt;br /&gt;There are two ways to map custom objects to standard classes&lt;br /&gt;a) While recording Window declaration Custom Win class can be mapped to Standard class. There is a button called Class Map on the declaration window. On clicking this button Class Map Window appears where you can physically map.&lt;br /&gt;b) In scripts while writing you can go to Menu Options and  select Class Map&lt;br /&gt;&lt;br /&gt;&lt;/home&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-5105067073177971947?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/5105067073177971947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/04/silk-test.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5105067073177971947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/5105067073177971947'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/04/silk-test.html' title='Silk Test Questions and Answers'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-1743884192739885410</id><published>2009-03-22T01:08:00.000-07:00</published><updated>2009-06-15T09:39:26.470-07:00</updated><title type='text'>Testing Methodologies</title><content type='html'>Coding: The Art of Construction&lt;br /&gt;&lt;br /&gt;Testing: The Art of Destruction. An integral part of Quality Assurance.&lt;br /&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C23%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Productive QA:&lt;/b&gt;  &lt;meta name="Description" content="3/22/2009"&gt; &lt;u2:shapelayout ext="edit"&gt;&lt;/u2:shapelayout&gt;&lt;u2:idmap ext="edit" data="1"&gt;&lt;/u2:idmap&gt;&lt;u1:colorscheme colors="#ffffff,#000000,#00007d,#000000,#9999ff,#9999cc,#666699,#cccce6"&gt;Involves activities that improve the product.&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u1:colorscheme&gt;&lt;/p&gt;  &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;u4:worddocument&gt;   &lt;u4:view&gt;Normal&lt;/u4:View&gt;   &lt;u4:zoom&gt;0&lt;/u4:Zoom&gt;   &lt;u4:punctuationkerning/&gt;   &lt;u4:validateagainstschemas/&gt;   &lt;u4:saveifxmlinvalid&gt;false&lt;/u4:SaveIfXMLInvalid&gt;   &lt;u4:ignoremixedcontent&gt;false&lt;/u4:IgnoreMixedContent&gt;   &lt;u4:alwaysshowplaceholdertext&gt;false&lt;/u4:AlwaysShowPlaceholderText&gt;   &lt;u4:compatibility&gt;    &lt;u4:breakwrappedtables/&gt;    &lt;u4:snaptogridincell/&gt;    &lt;u4:wraptextwithpunct/&gt;    &lt;u4:useasianbreakrules/&gt;    &lt;u4:dontgrowautofit/&gt;    &lt;u4:usefelayout/&gt;   &lt;/u4:Compatibility&gt;   &lt;u4:browserlevel&gt;MicrosoftInternetExplorer4&lt;/u4:BrowserLevel&gt;  &lt;/u4:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;u5:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/u5:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Analytical QA:&lt;/b&gt; Compromises activities which ascertain its level of Quality. Software Testing comes under Analytical QA&lt;b style=""&gt;.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C04%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:804543951; 	mso-list-type:hybrid; 	mso-list-template-ids:373433924 1190040918 -2078495792 -880535352 269363848 -328670864 999318018 1830572208 -706860064 -1105803240;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l0:level2 	{mso-level-start-at:1090; 	mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:1.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Software Testing&lt;/u&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;1.&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Testing involves operation of a system or application under controlled conditions and evaluating the results.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;2. Every Test consists of&lt;span style=""&gt;  &lt;/span&gt;3 steps :-&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;u&gt;Planning&lt;/u&gt; : Inputs to be given, results to be obtained and the process to proceed is to planned.&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;u&gt;Execution&lt;/u&gt; : preparing test environment, Completing the test, and determining test results.&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;u&gt;Evaluation&lt;/u&gt; : compare the actual test outcome with what the correct outcome should have been.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C15%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\0022"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C22%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\0022"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C10%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\0022"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C12%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\0022"; 	panose-1:0 0 0 0 0 0 0 0 0 0; 	mso-font-alt:"Times New Roman"; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:auto; 	mso-font-signature:0 0 0 0 0 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;‘&lt;span style="font-weight: bold;"&gt;Pareto principle&lt;/span&gt;’ - says that 80% of the errors are concentrated at 20% of the code only – forms a good criteria for testing.&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Classifications in Testing&lt;/u&gt;:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Various methodologies of testing exist which can best be classified into 2 major categories:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Testing Methods:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;b style=""&gt;Black Box Testing:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Comparison Testing &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Graph Based Testing&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Boundary Value Testing &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Equivalence class Testing&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;b style=""&gt;Gray Box Testing:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;Similar to Black box but the test cases, risk assessments, and test methods involved in gray box testing are developed based on the knowledge of the internal data and flow structures.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;b style=""&gt;White Box Testing:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Mutation Testing&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Basic Path Testing&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style=""&gt;Control Structure Testing&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Testing Levels:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Unit Testing&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Integration Testing&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;System Testing&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;a href="http://mkatyal.blogspot.com/2009/06/acceptance-testing.html"&gt;Acceptance Testing&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;br /&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Black Box Testing&lt;/u&gt;:&lt;/b&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Also called ‘&lt;span style=""&gt;Functional Testing’&lt;/span&gt; as it concentrates on testing of the functionality rather than the internal details of code.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Test cases are designed based on the task descriptions.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Equivalence Class Testing&lt;/span&gt;&lt;/u&gt;: Test inputs are classified into Equivalence classes such that one input check validates all the input values in that class.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Boundary Value Testing&lt;/span&gt;&lt;/u&gt;&lt;span style=""&gt;: &lt;/span&gt;Boundary values of the Equivalence classes are considered and tested as they generally fail in Equivalence class testing.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Comparison Testing&lt;/span&gt;&lt;/u&gt;: Test cases results are compared with the features/results of other products e.g. competitor product.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Graph based Testing&lt;/span&gt;&lt;/u&gt;&lt;span style=""&gt;: &lt;/span&gt;Cause and effect graphs are generated and cyclometric complexity considered in using the test cases.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;White Box Testing&lt;/u&gt;:&lt;/b&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Also called ‘&lt;span style=""&gt;Structural Testing / Glass Box Testing’&lt;/span&gt; is used for testing the code keeping the system specs in mind.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Inner working is considered and thus Developers Test.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Mutation Testing&lt;/span&gt;&lt;/u&gt;:&lt;span style=""&gt;  &lt;/span&gt;Number of mutants of the same program created with minor changes and none of their result should coincide with that of the result of the original program given same test case.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Basic Path Testing&lt;/span&gt;&lt;/u&gt;&lt;span style=""&gt;: &lt;/span&gt;Testing is done based on Flow graph notation, uses Cyclometric complexity &amp;amp; Graph matrices.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span style=""&gt;Control Structure Testing&lt;/span&gt;&lt;/u&gt;: The Flow of control execution path is considered for testing. It does also checks:-&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Conditional Testing: Branch Testing, Domain Testing.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Data Flow Testing.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Loop testing: Simple, Nested, Conditional, and Unstructured Loops&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LvidLO0dnOA/ScX9V50PLtI/AAAAAAAAB9I/Xsr-K0LAKgE/s1600-h/Testing.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_LvidLO0dnOA/ScX9V50PLtI/AAAAAAAAB9I/Xsr-K0LAKgE/s320/Testing.JPG" alt="" id="BLOGGER_PHOTO_ID_5315933487919738578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C08%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Unit Testing&lt;/u&gt;:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Unit Testing is primarily carried out by the developers themselves.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Deals functional correctness and the completeness of individual program units.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;White box testing methods are employed.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Integration Testing&lt;/u&gt;:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Deals with testing when several program units are integrated.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Regression testing&lt;/u&gt;&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;Change of behavior due to modification or addition is called ‘&lt;i&gt;Regression’&lt;/i&gt;. Used to bring changes from worst to least.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Incremental Integration Testing&lt;/u&gt;&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;Checks out for bugs which encounter when a module has been integrated to the existing.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Smoke Testing&lt;/u&gt;: &lt;/b&gt;It is the battery of test which checks the basic functionality of program. If fails then the program is not sent for further testing.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;System Testing&lt;/u&gt;:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Deals with testing the whole program system for its intended purpose.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Recovery testing&lt;/u&gt;&lt;/b&gt;:&lt;b&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/b&gt;System is forced to fail and is checked out how well the system recovers the failure.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Security Testing&lt;/u&gt;&lt;/b&gt;:&lt;b&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/b&gt;Checks the capability of system to defend itself from hostile attack on programs and data.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Load &amp;amp; Stress Testing&lt;/u&gt;:&lt;span style=""&gt;  &lt;/span&gt;&lt;/b&gt;The system is tested for max load and extreme stress points are figured out.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Performance Testing&lt;/u&gt;:&lt;span style=""&gt;  &lt;/span&gt;&lt;/b&gt;Used to determine the processing speed.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Installation Testing&lt;/u&gt;:&lt;span style=""&gt;  &lt;/span&gt;&lt;/b&gt;Installation &amp;amp; uninstallation is checked out in the target platform.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Acceptance Testing&lt;/u&gt;:&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;UAT ensures that the project satisfies the customer requirements.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Alpha Testing:&lt;/u&gt; &lt;/b&gt;It is the test done by the client at the developer’s site.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Beta Testing&lt;/u&gt;:&lt;span style=""&gt;  &lt;/span&gt;&lt;/b&gt;This is the test done by the end-users at the client’s site.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Long Term Testing&lt;/u&gt;: &lt;/b&gt;Checks out for faults occurrence in a long term usage of the product.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;&lt;u&gt;Compatibility Testing&lt;/u&gt;: &lt;/b&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id="ieooui"&gt;&lt;/object&gt; &lt;style&gt; st1\:*{behavior:url(#ieooui) } &lt;/style&gt; &lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;Testing to ensure compatibility of an application or Web site with different browsers, &lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;OSs&lt;/st1:place&gt;&lt;/st1:city&gt;, and hardware platforms.  &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;For more software testing definitions, please go &lt;a href="http://mkatyal.blogspot.com/2009/04/testing-definitions.html"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C06%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:723338271; 	mso-list-type:hybrid; 	mso-list-template-ids:1096158778 1186881334 723272084 1347218114 -1492627672 690280130 1808595976 1854844166 995922320 -1298505038;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l0:level2 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:1.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l0:level4 	{mso-level-start-at:1090; 	mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:2.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l1 	{mso-list-id:1620836465; 	mso-list-type:hybrid; 	mso-list-template-ids:1296734768 -1350165308 -789180482 1257954204 -1527083490 -1787113582 -1131760394 -356716238 -1288016470 2060762616;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l2 	{mso-list-id:1765345179; 	mso-list-type:hybrid; 	mso-list-template-ids:-808932802 -1390407914 514366012 2075166772 -831588550 889230252 -707632614 -124753886 2007260698 -1625752442;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l2:level2 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:1.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} @list l2:level4 	{mso-level-start-at:1090; 	mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:2.0in; 	mso-level-number-position:left; 	text-indent:-.25in; 	font-family:Wingdings;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cmkatyal%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C13%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:PMingLiU; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:新細明體; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@PMingLiU"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:PMingLiU;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* 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-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-1743884192739885410?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/1743884192739885410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/03/testing-methodologies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/1743884192739885410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/1743884192739885410'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/03/testing-methodologies.html' title='Testing Methodologies'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LvidLO0dnOA/ScX9V50PLtI/AAAAAAAAB9I/Xsr-K0LAKgE/s72-c/Testing.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-57341664125790677.post-6227578033390216523</id><published>2009-03-20T11:08:00.000-07:00</published><updated>2009-06-14T00:55:33.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDLC'/><title type='text'>Software Development Life Cycle Models</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Description of a process typically showing the main stages in producing and maintaining&lt;/span&gt;:&lt;br /&gt;–Executable software (software development life cycle)&lt;br /&gt;–Computer Aided Business Systems (systems development life cycle)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Basic Systems/Software Development Steps&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Define the problem&lt;/span&gt;… essential first step (initiating systems development)&lt;br /&gt;–What is the problem?&lt;br /&gt;–Work: compile problem statement or vision statement. Define objectives. Define Scope.&lt;br /&gt;–Output: terms of reference for continuation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Feasibility&lt;/span&gt; (systems investigation)&lt;br /&gt;–Expand on problem. Is there a feasible solution? How do we develop a new system?&lt;br /&gt;–Work: High level analysis. Cost Benefit analysis. Organisational Feasibility. Technology available. Development and implementation plan (high level).&lt;br /&gt;–Output: Feasibility report. Summary of preliminary findings and recommendations for next step.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Systems Analysis&lt;/span&gt;&lt;br /&gt;–Understand what is done now. What are the requirements of a new system.&lt;br /&gt;–Work: Analyse existing system’s ability to meet user’s needs. Determine what problems are, what the requirements are.&lt;br /&gt;–Output: System model. Statement of requirements&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Systems Design&lt;/span&gt; (two steps)&lt;br /&gt;–How in general can the system be designed and realised&lt;br /&gt;–Work: transform the requirements into a logical design. Prepare designs for various options.&lt;br /&gt;–Output: alternative design options&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Detailed Design&lt;/span&gt;&lt;br /&gt;–How specifically should the system be designed and implemented&lt;br /&gt;–Work: prepare a detailed physical design (architecture, hardware, data organisation, detailed design software procedures) for the chosen solution&lt;br /&gt;–Output: detailed design specification&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Implementation&lt;/span&gt;&lt;br /&gt;–Realise the new system (put it into operation)&lt;br /&gt;–Work: buy or assemble or develop programs. Write procedures. Set up organisation. Install hardware. Test. Convert from old system. Go live.&lt;br /&gt;–Output: an operational system&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Operation, Maintenance &amp;amp; Review&lt;/span&gt;&lt;br /&gt;–Use the system, evaluate, modify if necessary, keep system in operation.&lt;br /&gt;–Work: day to day running, modifications and maintenance&lt;br /&gt;–Output: an ongoing operational system &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_LvidLO0dnOA/ScPrG8FVkXI/AAAAAAAAB8Q/o8IsiNtSw7A/s1600-h/Main.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315350489667572082" style="width: 309px; height: 231px;" alt="" src="http://2.bp.blogspot.com/_LvidLO0dnOA/ScPrG8FVkXI/AAAAAAAAB8Q/o8IsiNtSw7A/s320/Main.JPG" border="0" /&gt;&lt;/a&gt; &lt;a href="http://4.bp.blogspot.com/_LvidLO0dnOA/ScPrcp94uYI/AAAAAAAAB8Y/pH2623JQbZk/s1600-h/SDLC.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315350862761605506" style="width: 304px; height: 230px;" alt="" src="http://4.bp.blogspot.com/_LvidLO0dnOA/ScPrcp94uYI/AAAAAAAAB8Y/pH2623JQbZk/s320/SDLC.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Implementation of the SDLC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-“Traditional approach,” also known as the &lt;span style="font-style: italic;"&gt;Waterfall Model&lt;/span&gt;&lt;br /&gt;-&lt;span style="font-style: italic;"&gt;Rapid Prototyping&lt;/span&gt;&lt;br /&gt;-&lt;span style="font-style: italic;"&gt;Incremental Approach&lt;/span&gt;&lt;br /&gt;-&lt;span style="font-style: italic;"&gt;Extreme Programming&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_LvidLO0dnOA/ScPrxz5QVyI/AAAAAAAAB8g/GedO6n8Zn3E/s1600-h/WaterFall.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315351226203789090" style="width: 320px; height: 240px;" alt="" src="http://1.bp.blogspot.com/_LvidLO0dnOA/ScPrxz5QVyI/AAAAAAAAB8g/GedO6n8Zn3E/s320/WaterFall.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Waterfall Model Advantages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By far the most commonly used approach up to now&lt;br /&gt;All the most widely used methods are underpinned by the waterfall model&lt;br /&gt;The stages are clear cut&lt;br /&gt;&lt;br /&gt;Activities &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Outputs&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Requirements Analysis &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Feasibility Study, Outline Requirements&lt;/div&gt;&lt;div&gt;Requirements Definition &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Requirements Specification&lt;/div&gt;&lt;div&gt;System Specification &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Functional Specification, Acceptance Test Specification, Draft user manual&lt;/div&gt;&lt;div&gt;Architectural Design &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Design architecture specification, System test specification&lt;/div&gt;&lt;div&gt;Interface Design &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Interface specification, Integration test specification&lt;/div&gt;&lt;div&gt;Detailed Design &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Design Specification, Unit test specification&lt;/div&gt;&lt;div&gt;Coding &lt;span style="font-weight: bold;"&gt;-&gt; &lt;/span&gt;Program Code&lt;/div&gt;&lt;div&gt;Unit Testing&lt;span style="font-weight: bold;"&gt; -&gt;&lt;/span&gt; Unit test result report&lt;/div&gt;&lt;div&gt;Module Testing &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Module test result report&lt;/div&gt;&lt;div&gt;Integration Testing &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Integration test report, Final user manual&lt;/div&gt;&lt;div&gt;System Testing &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; System test report&lt;/div&gt;&lt;div&gt;Acceptance Testing &lt;span style="font-weight: bold;"&gt;-&gt;&lt;/span&gt; Final System&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Waterfall Disadvantages&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Can be too rigid&lt;br /&gt;One phase must be completed before proceeding on to the next&lt;br /&gt;Difficult to incorporate user feedback without implementation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rapid Prototyping &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_LvidLO0dnOA/ScPsNu2xlpI/AAAAAAAAB8o/SzldTFGM_mY/s1600-h/Prototyping.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315351705887544978" style="width: 320px; height: 240px;" alt="" src="http://1.bp.blogspot.com/_LvidLO0dnOA/ScPsNu2xlpI/AAAAAAAAB8o/SzldTFGM_mY/s320/Prototyping.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The prototype is an executable version of the functionality and interfaces (sometimes called a behavioural prototype)&lt;br /&gt;Minimal time investment in prototypes&lt;br /&gt;Facilitates user understanding and specification role&lt;br /&gt;The prototype is a throwaway program and used to elicit and specify requirements (non-operational)&lt;br /&gt;The system is then designed, constructed, and implemented using waterfall model&lt;br /&gt;Rapid prototyping has been enabled by the availability of modern programming tools (screen painters, 4GLs, Database software, etc.) &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;Incremental&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_LvidLO0dnOA/ScPtxa39A-I/AAAAAAAAB8w/iDQRWsTlZeg/s1600-h/Incremental.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315353418510697442" style="width: 320px; height: 240px;" alt="" src="http://4.bp.blogspot.com/_LvidLO0dnOA/ScPtxa39A-I/AAAAAAAAB8w/iDQRWsTlZeg/s320/Incremental.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Planning&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Management Cycle Plan: resource, execute, control&lt;br /&gt;Planning means “thinking of everything”&lt;br /&gt;Without a plan (defining some goal) it is impossible to evaluate how you are progressing toward that goal&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gantt Charts for Planning&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_LvidLO0dnOA/ScPuNImh_LI/AAAAAAAAB84/aPAoyfKiYEQ/s1600-h/Gantt+Chart.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315353894642121906" style="width: 320px; height: 240px;" alt="" src="http://3.bp.blogspot.com/_LvidLO0dnOA/ScPuNImh_LI/AAAAAAAAB84/aPAoyfKiYEQ/s320/Gantt+Chart.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Your Project&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The SDLC gives you the stages you must follow to develop your program/system&lt;br /&gt;You must plan how long you are going to take at each stage and what you are going to produce at each stage&lt;br /&gt;Then you can evaluate how you are progressing (control)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;There is a recognised systematic approach to software development&lt;br /&gt;The recognised steps are:&lt;br /&gt;–&lt;span style="font-style: italic;"&gt;Feasibility&lt;/span&gt; (investigation)&lt;br /&gt;–&lt;span style="font-style: italic;"&gt;Analysis&lt;/span&gt;&lt;br /&gt;–&lt;span style="font-style: italic;"&gt;Design&lt;/span&gt;&lt;br /&gt;–&lt;span style="font-style: italic;"&gt;Implementation&lt;/span&gt; (including testing)&lt;br /&gt;–&lt;span style="font-style: italic;"&gt;Maintenance and review&lt;/span&gt;&lt;br /&gt;Each stage delivers outputs that progressively build the system&lt;br /&gt;You can plan by assessing what you are going to deliver at each stage and how long you think it will take. You control, progress against the plan&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/57341664125790677-6227578033390216523?l=mkatyal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mkatyal.blogspot.com/feeds/6227578033390216523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mkatyal.blogspot.com/2009/03/software-development-life-cycle-models.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6227578033390216523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/57341664125790677/posts/default/6227578033390216523'/><link rel='alternate' type='text/html' href='http://mkatyal.blogspot.com/2009/03/software-development-life-cycle-models.html' title='Software Development Life Cycle Models'/><author><name>Munish Katyal</name><uri>http://www.blogger.com/profile/04790274870750422368</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LvidLO0dnOA/ScPrG8FVkXI/AAAAAAAAB8Q/o8IsiNtSw7A/s72-c/Main.JPG' height='72' width='72'/><thr:total>4</thr:total></entry></feed>
