Project Name Document Version 1.0 Prepared by Jane Doe, ITS Last Edited March 12, 2016 PLAN REQUIREMENTS SOLUTION ANALYSIS DESIGN BUILD TEST TRAIN/DEPLOY MAINTENANCE TO THE DOCUMENT OWNER: This template is provided as a guideline and resource. The structure and instructions give detail about what might go into a completed document. Only you and your team, however, know what will best fit the needs of your specific effort, and you are encouraged to adapt the template as appropriate to meet those needs. Non-Functional Test Plan The Non-Functional Test plan describes the tests, both manual and automated, that will be performed to confirm that all non-functional requirements for the system have been met and all pertinent policies are observed; this includes Performance Testing, Load and Stress Testing, Security Testing, and User Acceptance Testing. The Non-Functional Test Plan documents the targets and other criteria which will be used to define the specific test cases for each of the types of non-functional testing which were listed in the Comprehensive Test Plan. This plan is the reference document for test case / test script creation. The audiences for the Non-Functional Test Plan include: • The project team -- Reviews for technical accuracy, completeness, and feasibility • Other groups which will be involved in testing -- Review for technical accuracy and agree to details • Customer steering committee -- Provides sign-off on high-level plan Executive Summary Summarize the approach, process, and assumptions, dependencies and risks. The goal of the non-functional testing is to confirm that the <Project> system is robust, secure, scalable, and usable. The Non-Functional Test Plan includes the tests, both automated and manual, to be conducted by the project team to confirm that all non-functional requirements have been met and all pertinent university policies are observed. Test Approach Different projects will require different types of non-functional testing. Describe the appropriate types for your project, as selected in the Comprehensive Test Plan, and describe the test scenarios, scripts, or use cases for each type of test, as well as the expected outcome for each type of testing. Include information about which tests will be automated versus manual. Page 1 of 6 Project Name Document Version 1.0 Performance It is anticipated that this section is needed to detail what was introduced in the Comprehensive Test Plan. Performance testing is conducted to verify that the system meets expected targets under normal conditions. Describe how testing will be performed. Define/list performance objectives and requirements, including the following when applicable: Latency testing (the time difference between the data to reach from source to destinations) Number of clients Client request frequency Client request arrival rate Acceptable response time Acceptable throughput Acceptable memory utilization Acceptable input/output rates Response time versus number of concurrent users % of requested static pages that must meet acceptable response time % of requested scripts that must meet acceptable response time Baseline multiplier (2X, 4X,…) that system must be capable of handling Stubs to create Metrics to collect (hits per second, concurrent connections) Load and Stress It is anticipated that this section is needed to detail what was introduced in the Comprehensive Test Plan. Load testing is performed to determine the application’s behavior under peak load conditions, while stress testing involves pushing the system to failure, or to a predetermined threshold above peak load. This type of testing is useful to identify maximum capacity as well as bottlenecks. It is useful to force errors to expose defects related to buffer overflow, memory leaks, upper database limits. Additionally, testing should be done to understand the application’s behavior at unusually high or peak loads. Describe how testing will be performed. Define/list load objectives and requirements, including the following when applicable: Peak ratio that system must be capable of handling Graceful degradation Load while maintaining acceptable response times Critical points Network bandwidth Message queue buffer size Interactions among components Interactions with databases Many users doing the same action Many users doing different actions Non-Functional Test Plan Page 2 of 6 Project Name Document Version 1.0 Include longevity by putting appropriate tests in a loop, or taking database offline and then restart it Security Use this section if detail in addition to the Comprehensive Test Plan is needed. User Acceptance It is anticipated that this section is needed to detail what was introduced in the Comprehensive Test Plan. User Acceptance testing is to be conducted by end-users who will execute pre-defined test scripts. It is intended to show that the needs of the business are satisfied and to instill confidence in the user set. Users may also perform additional tests not detailed in the plan, which are also relevant and within scope of the project. Identify participants in the activity, hardware to be used during the test, how defects will be tracked, any user training that is necessary, and any required test data. Other Testing Refer to the Comprehensive Test Plan and expand this section as necessary to appropriately describe other testing efforts. If Recovery and Error testing has not been covered in the functional testing of the application, include that here. This could include verifying behavior in the case of a power outage. If Usability Testing needs to be detailed, include interfaces to be considered. Much of this testing may be included in the User Acceptance testing. If that is indeed the case, please document. Test Process Identify the methods and criteria used in performing test activities. Define the specific methods and procedures for each type of test. Define the detailed criteria for evaluating test results. Also, the “order of events” should be documented. If Regression testing is done at the end of each phase, then document it in this paragraph. Are there any dependencies or other elements that will impact the order in which the tests will be performed? Include skill sets required by the test team. Test Prep Identify the set of tasks necessary to prepare for and perform testing activities. Identify any inter-task dependencies and any specific skills required. Include the build of test scaffolding, test data creation, and test case automation. Test Entry Criteria Identify the set of tasks necessary to prepare for and perform testing activities. Identify any inter-task dependencies and any specific skills required. An example would be that all test cases need to be written and documented. Consider items such as staff availability and environment set-up completion. If there is a phased approach, define the requirements for entry of each phase. Non-Functional Test Plan Page 3 of 6 Project Name Document Version 1.0 Test Deliverables Identify the deliverable documents from the test process. This includes Jira issues, test execution logs, and test summary reports. Identify the location and availability of each of these. Environment Requirements Specify both the necessary and desired properties of the test environment, including the physical characteristics, communications, mode of usage, and testing supplies. Also provide the levels of security required to perform test activities. Identify special test tools needed and other testing needs. Hardware and Networking Identify the computer hardware and network requirements to complete test activities. Document any differences between the test environment and the production environment. Software Identify the software requirements needed to complete test activities. This includes operating systems and versions, browsers and versions, and applications and versions. Test Deliverables Identify artifacts coming out of this test, including test scripts, updated test plans, test execution results, issued logged. Tools Identify any testing tools or infrastructure that may need to be developed. Identify the software tools employed, including use of each tool. Include defect tracking tools and any required configurations. Documentation Identify the documents required to support testing activities. Assumptions, Dependencies, and Risks Assumptions Identify the assumptions associated with this plan, such as “The above environment will be complete.” Dependencies Identify the dependencies, such as resource availability, hardware availability, code delivery, and dependencies on external teams. Risks Identify the risks associated with this plan, specifying mitigation and/or contingency plans. Non-Functional Test Plan Page 4 of 6 Project Name Document Version 1.0 Test Case Coverage Matrix Complete the matrix to indicate how each type of testing is covered by test cases, expanding as appropriate for your system. This matrix is to be used for planning purposes and should list the test case name; the actual test cases will not be stored in this matrix. A test case defines a set of conditions to be verified and has an expected and repeatable outcome. Documentation of the test case should also include specific set-up requirements and other entry conditions. A test script is an automated, semi-automated, or manual set of steps used to implement a test case. These scripts are used to determine if a function meets expected behavior and delivers an expected result. There is a 1-1 mapping of a test case to a test script. Some examples are provided below. Non-Functional Area System/Integration Performance Load/Stress Test Case Name Goal Assumptions Input Output SYS-25 Test interface between A & B A and B are functioning valid user id and password data requested is returned and formatted correctly PERF-10 Simulate 50 users logging on in a minute no users initially logged in all ids and passwords are valid application successfully accessed LOAD-2 Simulate 12000 users logging on at once for 20 minutes no users initially logged in all ids and passwords are valid all users successfully access or get appropriate error message Security all covered by ISO scans User Acceptance User login, complete a form and logoff form does not already exist valid user id and password completed, saved form UAT-3 fill a form user documentation is complete valid user id and password task completed without issue by user UAT-3 Test fill a form documentation user documentation is complete valid user id and password completed, saved form Usability Documentation UAT-3 Recovery and Error Non-Functional Test Plan not applicable Page 5 of 6 Project Name Document Version 1.0 Compatibility COMP-1 Run X set of tests on Firefox setup critiera for X set tests complete all tests are successful, all data displayed in acceptable manner Revision History Identify document changes. Version Date V1 Non-Functional Test Plan Updater Name Description Initial draft completed. Page 6 of 6