Running head: Lab 3 – Current ITS Prototype Test Plan Lab 3 – Current ITS Prototype Test Plan Red Team Brian Dunn CS411W Professor Brunelle 11/20/2012 1 Lab III – Current ITS Prototype Test Plan 2 + Table of Contents 1. OBJECTIVES ............................................................................................................................. 4 2. REFERENCES ........................................................................................................................... 6 3. TEST PLAN................................................................................................................................ 7 3.1 Testing Approach .................................................................................................................. 8 3.2 Identification of Tests ........................................................................................................... 9 3.3 Test Schedule ...................................................................................................................... 21 3.4 Fault Reporting and Data Recording .................................................................................. 22 3.5 Resource Requirements ...................................................................................................... 23 3.6 Test Environment ................................................................................................................ 24 4. TEST RESPONSIBILITIES ..................................................................................................... 25 5. TEST PROCEDURES .............................................................................................................. 26 5.1 Test Case Name and Identifier .............................................Error! Bookmark not defined. 6. TRACEABILITY TO REQUIREMENTS ................................Error! Bookmark not defined. List of Figures Figure 1: Classroom Layout........................................................................................................ 24 Lab III – Current ITS Prototype Test Plan 3 List of Tables Table 1: Test Case Outline ............................................................................................................ 20 Table 2: Test Schedule .................................................................................................................. 22 Lab III – Current ITS Prototype Test Plan 4 1. Objectives Current ITS is a product designed to enhance communication and real-time information delivery platforms in light rail systems. The initial prototype, under design by the Old Dominion University (ODU) CS411 Red Team, will focus on The Tide light rail system in Norfolk, VA. In operation by Hampton Roads Transit (HRT), The Tide is currently lacking any form of real-time tracking and alerts for both riders and administrators. Current ITS will solve this with a web based solution using HyperText Markup Language (HTML) and Hypertext Preprocessor (PHP) for most of the code in addition to Cascading Style Sheets (CSS) and JavaScript for some features. The prototype of Current ITS is intended to validate these features using a Graphical User Interface (GUI) that presents each user with modules that allow interaction with the system. Through this, riders, business owners, and HRT operators will be served data from simulated sensors and provided with a realistic emulation of the product in a real world scenario. All three of the GUI’s layouts will be similar, but key differences in the level of detail and available modules will make them distinct. This difference in approach for each user will be important, as the GUI for riders will emphasize quick access with upfront data, administrators will want more in depth information with more control, and business users will fall in between. Through the simulated use of each GUI, it will be displayed that the modules are intuitive and relatively simple to use. The second objective of the prototype will be to demonstrate the Decision Engine and Database Server capabilities that provide functionality to various modules in the system. The highlight of the Decision Engine will be the trend analysis algorithm that will search historical Lab III – Current ITS Prototype Test Plan 5 data to pick up on trends that impact ridership levels. These trends will be used to both highlight past ridership issues and predict future ridership levels, which will complement the real-time data with past and future data. The on-time performance report will perform a similar role, but instead of ridership levels it will track whether trains are arriving on schedule or not. While the prototype will not automate this data into practical applications, it will still demonstrate the potential use by HRT in regards to planning for varying levels of train ridership. The third set of objectives will be to demonstrate the alert and feedback systems, which will be the key to enhancing communication within light rail systems like The Tide. The alert system will start with the HRT operators being able to submit alerts to the system through a simple web form. This will then present the information to all three user GUIs, as well as the Short Message Service (SMS) phone alert system. In order for users to receive these alerts on their phone, they must opt-in by submitting their phone number, to which the GUI alert delivery mechanisms will automatically display the messages. The feedback system will demonstrate the ability for riders and business owners to communicate their opinions to HRT administrators using another basic web form submission that will automatically mail the feedback to a configurable e-mail address in real-time. The final objective of the Current ITS prototype will be to display the overall functionality of the system through the use of a test harness. Since all of the data will be simulated instead of using actual train sensors and running the test through multiple weeks, the test harness will serve as a method to manipulate this data in real-time. This will allow Current ITS to display its ability to handle various scenarios as they happen, ranging from advertisement campaigns ending to bizarre events such as train derailments. The test harness will have its own Lab III – Current ITS Prototype Test Plan 6 GUI to facilitate easy testing, but its impact will be seen in the actual prototype and generate behavior mirroring real world functionality. 2. References Lab I – Current ITS Product Description. Version 2. (2012, September). Current ITS. Red Team. CS411W: Brian Dunn. Lab II – Current ITS Prototype Product Specification. Version 1. (2012, October). Current ITS. Red Team. CS411W: Brian Dunn. Lab III – Current ITS Prototype Test Plan 7 3. Test Plan This section will introduce the procedures to test the Current ITS prototype, including the general approach that will be used to facilitate testing. The bulk of this section will include an outline of the specific tests that will be used to check the functionality of each module, interface, and engine. In addition, the section will include details regarding scheduling, fault reporting, requirements, and the test environment. Through this section, the full plan for the Current ITS testing phase will be established. (This space intentionally left blank.) Lab III – Current ITS Prototype Test Plan 8 3.1 Testing Approach The general approach to the testing phase of Current ITS will be to simulate the various scenarios anticipated for each level of user. The experience for a business user or a general rider will be very different, so while the functionality of many modules will be tested in similar ways, it will still require each GUI to be tested. Aside from the GUI testing, there will be testing performed on the backend of the system, namely the Decision Engine and Database Server. Finally, to emulate changes in the simulated environment, the test harness will control variables outside of the standard GUI such as readings from the sensors and manipulating timestamps to mimic changes in time. (This space intentionally left blank.) Lab III – Current ITS Prototype Test Plan 9 3.2 Identification of Tests Test cases for the Current ITS prototype are listed in Table 1. These test cases have been labeled with three different categories: unit, integration, and system. On top of that, they have been assigned subcategories based on the component that they are intended to test. A more detailed breakdown of these tests can be found in Section 5 of this document. Test Category Description Case Description Unit Database 1.1 Formats Objective Visually examine the entries for date (YYYYMMDD) and time (HHMMSS) formats. 1.2 1.3 Read/Write Test create, read, update, and delete Procedures stored procedures on the database. Refresh Times 1.4 Read/Write Triggers Test updateable views for functionality and response/refresh time. Test triggers for proper functionality on various create, read, and delete commands. 1.5 Schema Efficiency Test tables for proper schema, functionality, and efficiency and ease of use, and for proper data values. Lab III – Current ITS Prototype Test Plan 10 Database Decision Test Current ITS database connection 2.1 Connectivity Integration Engine – Test ability to query the database and DB Interface 2.2 Select Ability necessary tables Input Validate Input of date, time range, stop id 2.3 Validation Interval Test future/past date determination 2.4 Validation Decision Test average of embark/disembark for Function Test past 15 days Past Event Test past Event Detection 2.5 Engine – Unit Average Ridership 2.6 Trend Test Analysis Future Event Test future Event Detection 2.7 Test 2.8 Ridership Test accuracy of variance between Variance established disembark/embark averages Function Test and past event values Lab III – Current ITS Prototype Test Plan 11 Ridership 2.9 Integration Output Test output of embark/disembark to Ridership Trend Report function Validation Input Validate input of GPS coordinates and Validation dates Train Test ability to determine if a train is Activity Test active or not Delay Test accuracy of average variance from Average the schedule 2.10 2.11 Decision 2.12 Calculation Engine – Test Unit Delay Impact Calculator 2.13 Alert Test ability to correctly identify active Detection alerts Test Alert Delay Test accuracy of alert severity level delay Interval interval on variance average 2.14 Application Test Lab III – Current ITS Prototype Test Plan 2.15 12 Total Test accuracy of comparison between Calculated calculated expected time-of-arrival and Delay Test schedule Delay Test output of delay time to Train Data Estimate Report Module 2.16 Integration Output Validation Input Validate input of Date range and Stop ID 2.17 Validation Unit Decision Engine – 2.18 Ontime Test accuracy of variance between past Accuracy arrival times and schedule times Ontime Test Performance Ontime Test output of variance from the schedule Reporting Performance to the Train Data Report Module 2.19 Integration Output Validation Test GPS Data Harness tester 3.1 GPS stop Verify each virtual stop has an tester associated GPS coordinate. Lab III – Current ITS Prototype Test Plan 3.2 3.3 13 GPS format Verify GPS coordinate is in the correct test format GPS route test Verify the GPS route list contains a proper GPS coordinates 3.4 GPS train test Verify a train’s coordinate is updated and valid. Ridership Ridership Test virtual rider generation for each Data Control Data stop tester generation test Ridership 3.5 3.6 Data Control Ridership Ensure realistic proportions of riders are Data test generated conforming to variable tester thresholds which can be changed by the user Train control 3.7 tester 3.8 3.9 3.10 Train GPS Verify each active train return assigned test GPS coordinate Train sensor Verify each train has the ability to failure test simulate sensor failure Train outage Verify the ability for a train to no return failure a GPS coordinate. Ridership test Verify each train has the ability to return the current amount of riders on board Business ad control tester 3.11 End date test Verify access to each advertisement’s end date Lab III – Current ITS Prototype Test Plan 3.12 14 Start date test Verify access to each advertisement’s start date 3.13 Advertisement Verify Ability to assign and view stop test 3.14 Advertisement Verify access to each advertisement’s start time 3.15 3.16 Interface 3.17 3.18 3.19 start time Advertisement Verify access to each advertisement’s end time Test harness advertisements assigned at each stop end time Train property Verify interface has the ability to display GUI each trains properties Train settings Verify interface has the ability to edit test different train settings Stop property Verify interface has the ability to display test ridership at each stop Stop Property Verify interface has the ability to edit edit test different ridership numbers at each stop. Verify an alert can be Manage created/modified/closed within the HRT 4.1 Alerts System GUI Alert Module Demonstrate alerts are viewable in 4.2 View Alerts module Lab III – Current ITS Prototype Test Plan Unit Feedback 15 Submit Verify a rider or business user can submit Feedback feedback via web form Retrieve Stop Verify DB interface provides results for Information stops & vehicles in operation 4.3 Module System System 4.4 Overview Module Demonstrate stop & vehicle information 4.5 Map Overlay is displayed on a dynamic map Google Maps Google Maps Unit Verify Google Maps search is performed 4.6 Web Web Form for direction request Redirection Demonstrate Events are viewable within 4.7 View Events the module Calendar System Verify that Events can be added, edited Event Module Manage or removed within the Business & HRT 4.8 Events GUI Webpage Verify user a able to insert name, desired Layout user name, email address and password. Username Ensure username is validated and return Validation error if username exists. 5.1 User Unit Management 5.2 Lab III – Current ITS Prototype Test Plan 16 Username Prove username is provided after 5.3 5.4 Retrieve validation method. User Self Confirm user is able to reset password. Password Reset Administrati 5.5 on Validate administrator can change user information, groups, and passwords Application User 5.6 Information Verify user can edit personal information. Update Group 5.7 Administrati Demonstrate the administrators ability to create and manage groups on Application Confirm user is able to access application 5.8 Authenticatio Unit Access through one-factor authentication. Token Validate proper identification token 5.9 n Module Generation generation. Access Prove access is granted only after token Control validation. 6.0 Lab III – Current ITS Prototype Test Plan 17 Confirm user is unable to access the Security system after a predetermined time of 6.1 Time-out non-use. Account Validate user account is locked after Locking multiple login failure attempts. 6.2 Verify recording of a users login time, 6.3 Logging location, authentication success or failure and the page requested. Group 6.4 Administrati Demonstrate the administrators ability to create and manage groups on Database Confirm application opens access to the 6.5 Connection database for data transfer Validate query and result transfer Authenticatio Integration Query between the database and the Web 6.6 n Module Transfer Application Engine modules. Demonstrate capability to prevent a SQL 6.7 Security injection attack. Lab III – Current ITS Prototype Test Plan 6.8 18 Decision Verify data is sent between the Decision Engine Engine and the Web Application Engine. Connection Validate data is sent between the Test Test Harness Harness and the Web Application 6.9 Connection Engine. List 7.1 Verify listing of advertisements. Advertiseme nts Create Unit Business Ad 7.2 Advertiseme Campaign nt Module Edit 7.3 Advertiseme Verify submission of advertisement input fields. Verify modification of advertisement input fields. nt Integration Database Verify interface with database for data Interface input/output. Display Verify display of default ridership trend Default report. 7.4 Ridership Unit 8.1 Trend Report Report Lab III – Current ITS Prototype Test Plan 8.2 19 Display Verify display of custom ridership trend Detailed report. Report 8.3 Request Verify input fields for custom report Custom query. Report Decision Integration 8.4 Engine Verify interface with Decision Engine for data retrieval. Interface 9.1 Display Verify display of default train data Default report. Report Display Verify display of custom Train Data Unit 9.2 Detailed Report Report 9.3 Request Verify input fields for custom report Custom query. Report Lab III – Current ITS Prototype Test Plan 20 Decision Integration 9.4 Engine Verify interface with Decision Engine for data retrieval. Interface Display 10.1 Verify display of modules on Rider GUI. Rider Modules Graphical Unit 10.2 User Interface Display Verify display of modules on Business Business GUI. Modules Framework Display HRT Verify display of modules on HRT GUI. 10.3 Modules Module Verify interface with all Web Interface Application Engine modules. 10.4 Table 1: Test Case Outline Lab III – Current ITS Prototype Test Plan 21 3.3 Test Schedule For the presentation of the Current ITS prototype, the team will have 45 minutes to demonstrate the testing procedures. The first 10 minutes will be dedicated to the feasibility portion of the presentation, covering both the setup and the scope of Current ITS in the prototype stage. After this, the algorithms and GUIs will be tested to display their functionality through simulated scenarios. The presentation will conclude with an opportunity for the audience to ask questions of the Current ITS team members. Start Time Duration Description Test Cases (minutes) (minutes) 0:00 10 Feasibility 0:10 5 Database Demo 1.0 0:15 10 Algorithm Unit 2.0,3.0 Covered Tests 0:25 10 Integration Tests 4.1 – 4.7 -HRT -Business -Rider 0:35 10 System Tests -HRT -Business -Rider 0:45 15 Q&A 5.0-10 Lab III – Current ITS Prototype Test Plan 22 Table 2: Test Schedule 3.4 Fault Reporting and Data Recording Current ITS members from the Red Team will be recording results of each test, specifically whether it succeeds or fails to meet the expected results. The test components include the Database Server, Decision Engine, the GUI, and test harness. The procedure to identify test outcomes will vary with each test, but consist of viewing GUI output or checking the database through phpMyAdmin to determine if the appropriate result occurred. These results will be recorded on paper so that the log of results can be used later for further development if necessary. (This space intentionally left blank.) Lab III – Current ITS Prototype Test Plan 23 3.5 Resource Requirements The resource requirements for the Current ITS prototype presentation will be minimal due to the nature of the product. Since the prototype can be hosted in its entirety on a single web server, the machine provided by the ODU Computer Science Department will suffice for equipment to run Current ITS. In order to access the prototype, a computer with a recent version of Mozilla Firefox, Internet Explorer, or Google Chrome with Javascript enabled will be required. To continually monitor the phpMyAdmin interface throughout the testing, a second laptop will be used during the presentation of the prototype. Finally, scripts and prepopulated data will be used for input to the test harness to generate scenarios for the testing. (This space intentionally left blank.) Lab III – Current ITS Prototype Test Plan 24 3.6 Test Environment The presentation will take place in the room in which CS411 is being held during the Fall 2012 semester. This room is found in the Gornto Center on the campus of Old Dominion University in Norfolk, VA. The room features Teletechnet capabilities so that distance students will be able to watch the presentation and participate in the Q&A session along with the live audience. The team will present from the front of the room where the desk and desktop computer are placed to allow for optimal viewing and recording. Figure 1: Classroom Layout Lab III – Current ITS Prototype Test Plan 25 4. Test Responsibilities Test responsibilities for Current ITS will be based off of the same roles used for development of the components in the prototype. Dean Maye developed the Database Server and will be managing phpMyAdmin throughout the presentation. Akeem Edwards is in charge of the test harness and will be using it during the presentation to manipulate the testing scenarios. Nate Lutz created the algorithms used in the Decision Engine and will be using it to display the system’s ability to process real-time data. Chris Coykendall is in charge of the modules for Events, System Overview, Feedback, Alerts, and the Google Maps Web Form. Brian Dunn developed and is responsible for testing the modules for Ridership Trend Report, Train Data Report, Business Advertisement Campaign, and the overall GUI Framework. Finally, CJ Deaver is the developer for the User Management, Authentication, and the Integration modules for the Database Server and Decision Engine. (This space intentionally left blank.) Lab III – Current ITS Prototype Test Plan 26 5. Test Procedures The following sections will expand further upon the previously described testing plan. In Section 5.1, a fully detailed list of the test cases developed for the Current ITS prototype is shown. The two most important sections of the prototype test cases are the test inputs and expected results. However, in order to make sure testing is recorded efficiently and setup properly, other information has also been included. Using this test list, the Current ITS team can test the functionality of the product during the prototype presentation. (This space intentionally left blank.)