{"id":166,"date":"2018-02-13T23:13:00","date_gmt":"2018-02-13T22:13:00","guid":{"rendered":"https:\/\/kindsonthegenius.com\/blog\/2018\/02\/13\/how-to-create-a-software-test-plan\/"},"modified":"2020-08-22T14:36:42","modified_gmt":"2020-08-22T12:36:42","slug":"how-to-create-a-software-test-plan","status":"publish","type":"post","link":"https:\/\/kindsonthegenius.com\/blog\/how-to-create-a-software-test-plan\/","title":{"rendered":"How to Create a Software Test Plan"},"content":{"rendered":"<div style=\"color: #555555; font-size: 18px; line-height: 30px; text-align: justify;\">\n<div style=\"font-family: 'segoe ui';\"><b>What is a Test Plan?<\/b><br \/>An Software Test Plan or simply a Test Plan is a formal document containing details of the testing activities to be carried out during the software development process. The test plan details the following:<\/p>\n<ul>\n<li>Testing Strategy <\/li>\n<li>Testing Objectives<\/li>\n<li>Testing Criteria<\/li>\n<li>Required resources<\/li>\n<li>Test estimates<\/li>\n<\/ul>\n<p>A Test plan is used as a guide in conducting software testing activities as defined in the process.<\/p>\n<p>Having understood what a test plan is, let&#8217;s now discuss the process of developing a test plan.<\/p>\n<div style=\"text-align: center;\"><b><span style=\"color: #cc0000;\">Note:&nbsp;<\/span><\/b><\/div>\n<div style=\"text-align: center;\"><b><span style=\"color: #cc0000;\">A test plan is different from a test suite which is a collection of related test cases.<\/span><\/b><\/div>\n<p><b>Step of Creating a Test Plan<\/b><br \/>First know that the creation of a test plan takes considerable effort and time. Let&#8217;s now look at the steps involve developing a test plan.<\/p>\n<ol>\n<li>Analyse the Product Being Developed<\/li>\n<li>Design a Test Strategy<\/li>\n<li>Establish the Test Objectives<\/li>\n<li>Define the Test Criteria<\/li>\n<li>Plan the Resource Needs<\/li>\n<li>Plan the Test Environment<\/li>\n<li>Make a Schedule and Estimate Time and Resource Needs<\/li>\n<li>Determine Test Deliverables<\/li>\n<\/ol>\n<p>This steps take place in a loosely sequencial manner as illustrated in the figure.<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/4.bp.blogspot.com\/-oarvIjsdukQ\/WoNs02FNWEI\/AAAAAAAAA78\/dxrDIs2235c6gg4kejLMoy5eeX7OCCBCwCLcBGAs\/s1600\/Steps%2Bto%2BDevelop%2Ba%2BTest%2BPlan.jpg\" style=\"margin-left: 1em; margin-right: 1em;\"><img decoding=\"async\" loading=\"lazy\" border=\"0\" data-original-height=\"735\" data-original-width=\"1232\" height=\"379\" src=\"https:\/\/4.bp.blogspot.com\/-oarvIjsdukQ\/WoNs02FNWEI\/AAAAAAAAA78\/dxrDIs2235c6gg4kejLMoy5eeX7OCCBCwCLcBGAs\/s640\/Steps%2Bto%2BDevelop%2Ba%2BTest%2BPlan.jpg\" width=\"640\" \/><\/a><\/div>\n<p><b>1. Analyze the Product<\/b><br \/>To be able to carry out a complete test, you need to understand the application being developed. You need to find out who the users of the application will be. What will be the purpose of the system? Under what environment will the system work.<br \/>You can analyze the product in the following ways:<\/p>\n<ul>\n<li>Interveiw the customer and developers<\/li>\n<li>Review the product documents<\/li>\n<li>Peform walkthrough <\/li>\n<\/ul>\n<p><b>2. Design a Test Strategy<\/b><br \/>&nbsp;Development of a Test Strategy is normally done by a Test Manager. A test strategy documents the following:<br \/>The project testing objectives as well as the means to achieve them<br \/>The testing efforts and related costs<br \/>To develop an effective strategy, the following steps can be taken:<\/p>\n<ul>\n<li>Specify the scope of the testing (and out of scope as well)<\/li>\n<li>Identify the Testing Types<\/li>\n<li>Document Risks and mitigation plans<\/li>\n<li>Define test logisitcs <\/li>\n<\/ul>\n<p><b>3. Define the Test Objectives<\/b><br \/>The test objective is the overall goal of the testing process. The test objectives included making sure that &#8220;all&#8221; the defects are detected and corrected. All may not be possible but as many defects as possible.<br \/>To define the objective, the following steps are taken:<\/p>\n<ul>\n<li>List all the features of the system<\/li>\n<li>Define goals of each test based on the features<\/li>\n<\/ul>\n<p><b>4. Define the Test Criteria<\/b><br \/>Test criteria is the factors upon which the performance of the software testing process is evaluated.<br \/>The two criteria that need to be defined includes Success Criteria and Exit Criteria.<br \/><span style=\"color: #45818e;\"><b><i>Suspension Criteria: <\/i><\/b><\/span>This is the criteria to be met for the testing process to be suspended until the criteria is handle. An example of suspension criteria is failure of 50% of the test cases. This means that if 50% of the test cases fail, the the testing process is suspended until the developers fixes the defects.<br \/><span style=\"color: #76a5af;\"><i><b>Exit Criteria<\/b><\/i>:<\/span> This is criteria that specifies that the testing exits a particular phase to the next phase. <\/p>\n<p><b>5. Plan the Resources<\/b><br \/>Resource plan is a details summary of all the types of resources need to complete the testing tasks. Resources include both human and material resources needed to do the testing activities. <\/p>\n<p><b>6. Plan the Test Environment<\/b><br \/>A test environment is a setup of both the software and hardware system required to execute the test suites. Note that test environment also included users(whether real or simulated) that would be used to carry out the tests.<br \/>Example of test environment could be:<\/p>\n<ul>\n<li>One database server<\/li>\n<li>Two web servers<\/li>\n<li>An application server<\/li>\n<li>Six Client Systems(Desktops)<\/li>\n<li>Two Mobile (tablet or mobile phone)<\/li>\n<li>Network connection of all the systems <\/li>\n<li>Internet Connection<\/li>\n<li>Wireless connection to the network<\/li>\n<\/ul>\n<p><b>7. Schedule and Estimation<\/b><br \/>Schedule and Estimation has to do with the breakdown of the whole testing project into chunks of activities.<br \/>The schedule details the estimate of the activities and the amout of time each activity would take to complete. Then a total estimate of the overall time is obtained.<br \/>This could be acccomplished by creating a Work Breakdown structure using an application such as Primevera or Excel Spreadsheet.<\/p>\n<p><b>8. Test Deliverables<\/b><br \/>A deliverable is the finished product to be presented after a process. In the case of Software Testing, the test deliverables is a list of all the documents, tools and other artifacts developed and maitained in the support of the testing process.<br \/>The three categories of test deliverable includes:<\/p>\n<p><i>Deliverables before testing<\/i><br \/>Test plan documents<br \/>Test suites of test cases<br \/><i><br \/><\/i><i>Deliverables during testing<\/i><br \/>Test Scripts<br \/>Test Data<br \/>Traceability matrix<br \/>Execution logs and error logs<\/p>\n<p><i>Deliverables after testing<\/i><br \/>Test results and reports<br \/>Defect reports<br \/>Installation procedures<br \/>Release notes<\/p>\n<p><b>What Next?<\/b><br \/>Putting it all together, we would now develop a simple test plan for a hypothetical web application for a banking system.<\/p>\n<p><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>What is a Test Plan?An Software Test Plan or simply a Test Plan is a formal document containing details of the testing activities to be &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[588],"tags":[],"_links":{"self":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/166"}],"collection":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":1,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/166\/revisions"}],"predecessor-version":[{"id":1487,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/posts\/166\/revisions\/1487"}],"wp:attachment":[{"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/media?parent=166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/categories?post=166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kindsonthegenius.com\/blog\/wp-json\/wp\/v2\/tags?post=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}