Ankh Software Project Test Plan Document name and number: AnkhSTP1_0.doc Contributors: Ankh Software Development Team Ankh Software System Design Contents Test Plan Identifier ...............................................................................................................3 References ............................................................................................................................3 Test Items .............................................................................................................................4 Risk Issues ...........................................................................................................................5 Features To Be Tested .........................................................................................................5 Features Not To Be Tested ..................................................................................................5 Approach To Testing ...........................................................................................................6 Criteria for Pass and Fail......................................................................................................7 Component .......................................................................................................................7 Integration ........................................................................................................................7 System Testing .................................................................................................................8 Suspension and Resumption Criteria for Testing ................................................................8 Test Deliverables .................................................................................................................8 Remaining Test Tasks ..........................................................................................................9 Environmental Needs ...........................................................................................................9 Responsibilities ....................................................................................................................9 Schedule ...............................................................................................................................9 Risks and Contingencies ....................................................................................................10 Approvals ...........................................................................................................................10 Glossary and Definitions....................................................................................................10 265332077 2 Ankh Software System Design Test Plan Identifier This test plan is identified as AnkhSWTP_n_n. The numbering for the document shall be incremented by releases and versions after baseline reviews. References For general information on the test program: The general procedures for the system testing effort can be found in the Ankh System Test Plan. (AnkhSWSTP.doc). The procedures for the component testing effort can be found in the Ankh Component Test Plan (AnkhSWCTP.doc). The procedures for the integration testing effort can be found in the Ankh Integration Test Plan (AnkhSWITP.doc). Figure 1 shows the relationship between the project test plan and the specific plans relating to product features: . Softw are Test Plan Com ponent Test Plan (Functional Specifications and Docum entation) Integratino Test Plan (Stripes) System Test Plan (Installation) Figure 1. Specifics are given in component, integration, and system test plans. The following documents provide specification information: Requirements, along with use cases and CRC cards can be found in the Ankh Software Requirements Specification. Conceptual and behavioral diagrams, such as class, sequential, and collaboration diagrams, can be found in the Ankh Software Design Description. 265332077 3 Ankh Software System Design Component (implementation and deployment). The configuration for the components, classes, and files that comprise Ankh can be found in the Ankh Software Configuration Management Plan. The software development schedule can be found in the Ankh Software Development Project Management Plan. The TOR chart for preliminary classes can be found in an appendix to the Ankh SRS. Test Areas Requirements shall be tested both specifically and as combined into stripes. Each stripe covers a specific set of requirements. In some cases, two or more stripes may address the same requirements. The following list provides a summary of the stripes that comprise the game: Stripe 1—Opening, Requirement 8, 16, 18, 38, 46, 14, 15, 17, 23, 28, 46, 57, Stripe 2.1—GUI Objects , Requirement 18, 52, Stripe 2.2—Floor Tiling, Requirement 43. Stripe 2.3—Mesh Placement, Requirements 43, 13 Stripe 2.4—Save and Load, Requirement 4. Stripe 3.1—Navigate Alexandria, Requirement 13, 14, 15 , 16, 17, 36, 61, Stripe 3.2—Sound, Requirements 29,30,31,32,33 Stripe 4—Character Editor, Requirements 18, 19, 20, 21, 22, 35, 44 Stripe 5—Unit Physics, Requirements 13, 14, 15, 16, 17, 35, (41), 47, 48, 42, 45, 64 Stripe 6—Inventory Items, Requirements 40, 49, 55 Stripe 7—Combat, Requirements 54, 56 Stripe 8—Acquire Skills, Requirements 20, 34, 47, 55, 56 Stripe 9—Acquire Weapon, Requirements 14, 15, 16, 17, 40, 49 Stripe 10—View Statistics, Requirements 14, 15, 16, 17, 18, 19, 20, 21 Stripe 11—AI, Requirements 24, 25, 26, 37 Stripe 12—Remaining Level, Requirements 27 Stripe 13—Saving and Loading, Requirements 1 ,2,3,4,5,6,7,8,9,10,11,12 Stripe 14—Options, Requirements 39 Nonfunctional Requirements, Requirements 50, 51, 53, 58, (59), 60, 61, 62, 63 265332077 4 Ankh Software System Design Risk Issues The risk issue for the software are as follows: Upgrades to DirectX that may affect the release of the game. Changes to the Boost library that may cause version problems. Creation of the game so that it compiles in Versions 6 an 7 of Microsoft Visual Studio. Deployment of the game on PCs that have both high- and low-end hardware configuration. Size of the software and complexity of the components. The software is to be used for teaching purposes. It should be as simple as possible to install and compile. Software should be free of all graphical and sound components that have not been verified to have been properly acquired. Features To Be Tested The following features are to be tested: Each and every functional requirement. Verification and validation of each requirement constitutes test issues of the highest priority and risk. Integration of each stripe. Verification and validation of the designated functionality for each stripe constitutes test issues of the highest priority and risk. Classes that comprise each stripe. This is to be conducted on a selective basis. The risk posed by issues relating to class design are high risk. Loading of assets for each stripe. Successful play of the game without failure. The reason for this is that testing time may be minimized by the delivery schedule. Documentation of classes for user purposes poses issues of high risk. Installation of the stripes, the game, and associated software and assets. Successful, defect-free installation is of the highest priority and poses a high risk. The documentation associate with the specification, design, and configuration of the product. The documentation poses medium risk. Features Not To Be Tested The following features shall not be tested: The components acquired through the Boost library 265332077 5 Ankh Software System Design The components acquired through the Win32 libraries. The components acquired through the DirectX libraries. Approach To Testing The specific test cases for stripe testing are included in the following documents: Ankh Component Test Plan. Procedures and criteria for testing design artifacts are documented in the Ankh Component Test Plan. Procedures and criteria for verifying and validating requirements are documented in the Ankh Component Test Plan. This document contains functional test cases for each requirement, together with test cases for classes and other features of the software. This plan shall include functional and structural test cases, along with inspections. Issues explored in this test plan shall include the following: Conformity of requirements to specification Performance of algorithms Design integrity of classes and operations Code documentation Conformity of names, classes, files and other features to the configuration plan specifications and policies Ankh Integration Test Plan. Procedures and criteria for testing the integration of stripes are documented in the Ankh Integration Test Plan. This plan shall include functional and structural test cases. Issues explored in this test plan shall include the following: Reliability of software for each stripe in terms of defect rates and time required to eliminate defects Conformity of each stripe to the specified design Robustness of stripes in the described user context (the stripes will be used for educational purposes) Limitation of the number of resources assigned to each stripe Each stripe is clean of excessive files and can be downloaded without problems from the built management system. Conformity of the stripe to the conventions and policies established in the configuration plan Ankh System Test Plan. Procedures and criteria for testing the installation program for Ankh are documented in the Ankh System Test Plan. Issues explored in this test plan shall include the following: Each strip of the software can be installed and compiled. 265332077 6 Ankh Software System Design Documentation can be installed and opened for reading. The software fits onto one CD. No excess or duplicate or unused files are in any stripe. Criteria for Pass and Fail Criteria for pass and fail shall be distinguished according to the type of testing being formed. According, testing criteria shall differ slightly between component, integration, and system tests. Component 1. The focus of component testing shall be on the validity and verification of requirements. 2. A test case shall be established for each and every item to be tested. Any test case may encompass several requirements, but it may be used to primarily examine only one requirement at a time. 3. The test cases for requirements testing shall be based on the use cases created for the requirements specification. They shall seek, as nearly as possible, to precisely trace the scenario the use case provides, beginning with the use case trigger event and ending with the use case end event. 4. Successful operation of the software in fulfillment of the scenario set in the use case shall constitute a criteria for success. 5. For verification purposes, a feature of the software shall be found that disables the functionality of each use case to demonstrate that the software under test accounts for the functionally in question. If the functionality can be shown to be disabled as a result of having disabled the software under test, then the test shall be considered successful. Integration 1. A test case shall be developed to tested the integrated behavior of each stripe. 2. The test case for integration shall be based on the use case developed in the software design specification for each stripe. 3. Each stripe must be tested in isolation from every other stripe. 4. Success criteria for integration shall be as follows: 5. The stripe compiles without problems. 6. The tester can play the sequence of events listed in the stripe use case, from the trigger event to the end event, without detecting errors. 265332077 7 Ankh Software System Design 7. A negative test shall be imposed. The tester shall disable selected functionality to confirm that the code under test accounts for the observed functionality. Testing shall confirm that the disabled functionality accounts for the use case features under test. 8. Regression Testing shall be included in the Integration test. The procedure shall be that upon effecting repairs to stripe n, the testing shall examine stripe n-1 to confirm that the changes have not effected the functionality of the previous stripe. Regression testing shall involve executing test cases for each and every requirement of the previous stripe. System Testing System testing shall involve the following criteria for pass and fail: 1. The software shall be installed on designated computers and shall be shown to install and execute without problems. 2. After installation, each stripe must execute without problems. 3. The user shall be able to install any stripe or any document without encountering a software defect. 4. The user shall be able to uninstall any stripe or any document without encountering a software defect. Suspension and Resumption Criteria for Testing The criteria for suspension and resumption of testing shall be as follows: 1. If the test case for a requirement cannot be met, then testing shall be suspended, and the problem shall be referred to maintenance. 2. Upon completion of maintenance action toward the requirement, testing shall resume. 3. If the software crashes for a given stripe, testing shall be suspended, and the stripe shall be submitted to maintenance. 4. After maintenance allows the stripe to successfully compile, testing shall resume. Test Deliverables The following deliverables shall be provided by the testing effort: 1. Test plans shall be completed for component, integration, and system testing. 2. Each defect shall be reported to the defect tracking system. 3. A statement of the defect shall be provided. 4. The defect shall be initially assigned to the lead programmer. 265332077 8 Ankh Software System Design 5. All newly logged defects shall be classified as “open.” 6. Upon notification that a defect had been repaired, testers shall confirm the repair and log the defect as tested and verified. 7. For each test case, a test case shall be completed according to the form provided in the test plan. 8. For each test case completed, a record shall be made in an excel spread sheet to record the history of the test case. 9. Test scripts shall be associated with the test cases for which they are used. Remaining Test Tasks Tests completed shall be logged according to the stripe to which they apply. Information concerning completed testing shall be forwarded to the project manager for schedule update. Environmental Needs Testing shall take place using Microsoft Studio, Version 6 and Version 7. TortoiseCVS shall be used to perform configuration management for builds. IssueTracker shall be used to log discovered current defects. Microsoft Excel shall be used to log defect histories. Responsibilities Testing responsibilities shall be assigned to developers designated as testers. These individuals will have responsibility for formalized testing—testing guided by the test plans. Opportunistic testing shall be performed by anyone who uses the software during the development period. These users will log defects according the stripe they are using. Schedule The testing schedule shall appear as part of the project management plan. 265332077 9 Ankh Software System Design Risks and Contingencies The minimal acceptable coverage will be the verification of requirements and the verification that stripes compile. All requirements shall me met before the product can be delivered. If defects remain at the end of the designated development period that do not fall into the above categories, then the development team will conduct a review of the defect to determine whether action must be take to repair it. Approvals The author of the book shall reach consensus with the development team to approve the testing effort. Glossary and Definitions This section contains a list in which the terms and acronyms used in this document are defined. Behavioral Test This is blac-box testing. This test verifies requirements without investigating the specific ways in which they have been implemented. Component This term refers to either the classes or the groups of classes through with functionality is implemented. Component testing refers to any stage of the system at which it is possible to exercise the functionality of a given requirement. Coverage Refers to the percentage or probability distribution of testing coverage for a given system or component of a system. Defect Any part of the software or documentation that is found not to properly express requirements or the design or to cause the software system to malfunction. Defect Report A record of a detected defect filed in the defect tracking system. It should include a unique identifier, the name of the person reporting the defect, the date of the report, the person to whom the defect is assigned, and a concise account of the defect. 265332077 10 Ankh Software System Design Functional testing Synonymous with black-box or structural testing. Designates testing that takes place to verify that the software has been constructed according specification. IEEE 829 General test plan template from the Institute of Electrical and Electronics Engineers. Integration This refers to any effort to build the entire stripe of the product. An integration testing effort, for this reason, applies to a system build that completely encompasses all requirements of a given stripe. Log A permanent record of actions taken toward a defect. A log contains report entries. System System refers to the software product installed as an application on a given hardware system of set of hardware systems. Testing the product as a system involves the completed system. Stripe A stripe is a set of functionality embodied in a single component of the system, together with a description of the point in the development process in which the component comprising the stripe is implemented. Stripes are represented using up to five views of the system. Each stripe should represent a complete system build (of the system at the point in question). Within the strip documentation is a component view from which you can identify the specific functionality implanted with the stripe. Structural testing This is white-box testing or testing that involves investigating the implementation of code for performance and other issues. Test case A test is a document of actions to be taken to test software. Test cases should follow IEEE conventions, but no strict demands for conformity to any specific standard apply. Generally, for behavioral or black-box testing, every script should be uniquely named and numbered and correspond to either a requirements use case or a stripe use case. Test script This can refer to either a program written to run an automated test or a manual script written to guide a testing effort. It may be, for instance, a check list. Test suite Any set of tests that relates to a common objective, such as validity of a given functional requirement. Validation NASA Defintion: Confirmation by examination and provision of objective evidence that the particular requirements for a specific intended use are fulfilled [ISO/IEC 12207, Software life cycle 265332077 11 Ankh Software System Design processes.] In other words, validation ensures that “you built the right thing”. (www.hq.nasa.gov/office/codeq/software/index.htm) Verification NASA Defition: Confirmation by examination and provision of objective evidence that specified requirements have been fulfilled [ISO/IEC 12207, Software life cycle processes]. In other words, verification ensures that “you built it right”. (www.hq.nasa.gov/office/codeq/software/index.htm) Use case A description of the use of the system. A use case consists of a scenario, and a scenario has a trigger event and a concluding event. A use case can be represented diagrammatically or through a narrative. It is most commonly documented with a numbered set of use steps. 265332077 12
© Copyright 2026 Paperzz