Lab 3 – Prototype Test Plan 1 RUNNING HEAD: LAB 3 – PROTOTYPE TEST PLAN Personal Alert and Safety System Lab 3 – Prototype Test Plan CS 411 Blue Team: Dan Cox Jon Szewczak Brittany Dufort Marcus Henry Gordon Bland Braden Gibson Gene H. Price April 10, 2011 Lab 3 – Prototype Test Plan 2 Table of Contents 1. Objectives (Dan Cox) ............................................................................................... 4 2. References (Group) ................................................................................................... 5 3. Test Plan (Dan Cox).................................................................................................. 6 3.1 Testing Approach (Dan Cox) ................................................................................ 6 3.2 Identification of Tests (Dan Cox).......................................................................... 7 3.3 Test Schedule (Dan Cox) .................................................................................... 10 3.4 Fault Reporting and Data Recording (Dan Cox) ................................................. 10 3.5 Resource Requirements (Dan Cox) ..................................................................... 10 3.6 Test Environment (Dan Cox) .............................................................................. 11 3.7 Test Responsibilities (Dan Cox, Jon Szewczak) ................................................. 12 4. Test Procedures (Dan Cox) ..................................................................................... 12 4.1 Test Case Names and Identifiers (Dan Cox, Jon Szewczak) .............................. 13 4.1.1 Hardware Test Cases (Marcus Henry) ........................................................... 13 4.1.2 Database Test Cases (Gordon Bland) ............................................................ 17 4.1.3 Radio Device Test Cases (Jon Szewczak) ..................................................... 18 4.1.4 Master Control Module Test Cases (Jon Szewczak) ..................................... 21 4.1.5 Simulation Driver Interface Test Cases (Braden Gibson) ............................. 28 4.1.6 Dispatch User Interface Test Cases (Brittany Dufort) ................................... 31 5. Traceability to Requirements (Dan Cox, Jon Szewczak) ....................................... 33 Lab 3 – Prototype Test Plan 3 List of Tables Table 1. PASS Prototype Test Cases by Category ............................................................. 9 Table 2. Test Schedule ...................................................................................................... 10 Table 3. Test Responsibilities Summary .......................................................................... 12 List of Figures Figure 1. Conference Room Layout.................................................................................. 11 Lab 3 – Prototype Test Plan 4 1. Objectives (Dan Cox) The Personal Alert and Safety System (PASS) is a complex entity requiring many different interconnected parts to work in conjunction with each other. The Prototype for said system then must demonstrate, at some smaller scale, some of the required complexity in order to be deemed a successful representation of the larger project. Therefore the prototype was divided into two areas: signal interpretation and network modeling. Consisting primarily of two major hardware components, the signal interpretation portion of the prototype will seek to demonstrate the successful capture, translation and display of a signal sent from a small handheld radio device. Communications between a microprocessor/transceiver combination and a personal computer shall be expressed through the execution of four different test procedures. The results will show the importance and interconnectivity of each part with regard to the greater whole within the hardware configuration. Each procedure will show, in turn, a selection of signal processing. Upon all procedures being passed successfully, the signal interpretation portion will demonstrate clearly the ability to perceive and process a radio signal. The modeling of a network of transceivers, a major portion of PASS, can be quite expensive and expansive to construct in physical space, so it was decided that a simulation would be the best solution. This simulation will demonstrate the perceiving of a radio device similar to the signal interpretation part, but will go farther in that it will also show, via a reduced propagation method, the processing of radio signals via simulated interlocking systems. Many of the same systems that would be physically separated will be running together virtually. The user is a provided a graphical interface with which to start the initial signaling and, ultimately, see the results via a neighboring secondary graphical interface. During the simulation, a user is provided Lab 3 – Prototype Test Plan 5 both of these interfaces as a way of monitoring a signal from a virtual radio device through the systems as it is finally shown on the previously mentioned secondary graphical interface. All virtual systems will have their own set of test procedures. These will verify that each system can perform its necessary functionality. Finally, a fully integrated test will be performed with all systems running to show that the simulation is functional and successful. 2. References (Group) Arduino. Retrieved March 16, 2011, from Arduino.cc: http://www.arduino.cc/ Faculty and Staff. (2008, November 13). Retrieved January 30, 2011, from Old Dominion University: http://www.odu.edu/oduhome/faculty.shtml Lab 1 – Prototype Description. CS411 Blue Team, Individual. March 2, 2011. Old Dominion University Lab 2 – Prototype Specification. CS411 Blue Team, Group. March 30, 2011. Old Dominion University Nordic FOB. Retreived March 16, 2011, from SparkFun Electronics: http://www.sparkfun.com/products/8602 Old Dominion University. (2011, January). Retrieved January 30, 2011, from EducationPortal.com: http://education-portal.com/directory/school/Old_Dominion_University.html Shrimpton, Aaron. Arduino nRF24L01 Driver. Retrieved March 16, 2011, from Madsie.co.uk http://www.madsie.co.uk/projects/arduino-nrf24l01 Transceiver nRF24L01+ Module with Chip Antenna. Retrieved March 16, 2011, from SparkFun Electronics: http://www.sparkfun.com/products/691 Wilson, P. (2010, November 3). ROBBERIES AT ODU ARE DOWN WITH PATROLS NEAR CAMPUS. The Virginian-Pilot , p. B3. (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan 6 3. Test Plan (Dan Cox) The following section will discuss all necessary components of the PASS prototype. Starting with the testing schedule and reporting requirements, it will detail the order and mechanics of the testing procedures. The section will then proceed to the resource and testing requirements (i.e. the physical materials present for the demonstration). The conclusion of the section will be the listing of each team member’s responsibilities during the presentation of the prototype. 3.1 Testing Approach (Dan Cox) The demonstration of the PASS prototype will be divided into several hierarchical component tests, each representing the intention of showing successful execution of individual parts at each layer of the prototype. The first division comes in the split of the prototype into signal interpretation and network modeling; each system will be tested separately. The second division comes from the components of the simulation of network model; each system will be tested, some together. A final total integration test will be performed showing all the network model systems working in conjunction with each other. (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan 7 3.2 Identification of Tests (Dan Cox) The following table shows test cases as grouped by category. Each test case is detailed in its labeled section. They can be found in section 4.1. Category ID 1 2 Description Signal Capture, Interpretation and Display (Hardware) Subsystem Testing (Database) Test Case 1.1 Description Establish Connection between the microprocessor and the Personal Computer. 1.2 Upload the code to the microprocessor. 1.3 Show that the wireless transceiver works. 1.4 Press a fob button and receive the signal on the computer. 2.1 Test create, read, update, and delete stored procedures on the database. 2.2 2.3 2.4 3.1 3 Subsystem Testing (Radio Device) 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 Test updateable views for functionality and response/refresh time. Test triggers for proper functionality on various create, read, and delete commands. Test tables for proper schema, functionality, and efficiency and ease of use, and for proper data values. RadioDevice - Instantiation RadioDevice - Switch Transmit modes RadioDevice - Paint RadioDevice - Transmit RadioDevice - Receive RadioDevice - StandByColor RadioDevice - StandBySize RadioDevice - TransmitColor RadioDevice - TransmitSize RadioDevice - ReceiveColor RadioDevice - ReceiveSize Lab 3 – Prototype Test Plan 8 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4 Subsystem Testing (Master Control Module) 4.11 4.12 4.13 4.14 4.15 4.16 MCM Collections TransceiverInfoCollection - Select MCM Collections TransceiverInfoCollection - Add MCM Collections TransceiverInfoCollection - Remove MCM Collections TransceiverInfoCollection - GetByID MCM Collections - UserInfoCollection Select MCM Collections - UserInfoCollection Add MCM Collections - UserInfoCollection Remove MCM Collections - UserInfoCollection GetByID MCM Collections - UserInfoCollection GetByName MCM Collections - FobInfoCollection Select MCM Collections - FobInfoCollection Add MCM Collections - FobInfoCollection Remove MCM Collections - FobInfoCollection GetByID MCM Collections - FobInfoCollection GetByUserID MCM Collections IncidentInfoCollection - Select MCM Collections IncidentInfoCollection - Add 4.18 MCM Collections IncidentInfoCollection - Remove MCM Collections IncidentInfoCollection - GetByID 4.19 MCM Collections IncidentInfoCollection - GetByUserID 4.20 MCM - Process Alerts 4.17 Lab 3 – Prototype Test Plan 5 6 9 Graphical Systems (Simulation Driver Interface) Graphical Systems (Dispatch User Interface) 5.1 Inbound Connection 5.2 Outbound Connection 5.3 User Info 5.4 Fob Info 5.5 Transceiver Info 5.6 Alert Signal 5.7 Data Flow 5.8 Maps 5.9 Signal Response 5.10 Transceiver Display 5.11 Fob Creation 6.1 Listening for MCM 6.2 Connection with MCM 6.3 Object is Alert Object 6.4 Display alerts on map 6.5 Display alerts in extended data form 6.6 Displays alerts in alerts information table Table 1. PASS Prototype Test Cases by Category (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan 10 3.3 Test Schedule (Dan Cox) The Blue Team, the developers of PASS, have been given a full hour for the presentation and demonstration of the prototype. However, this also includes all question and answer time, so a reduced schedule of approximately 45 minutes will be allocated. The following table shows the division of time without the addition of a five minute setup time that will precede the schedule. Start Time (hours:min) Duration 0:05 0:10 0:15 0:20 0:25 0:35 5 5 5 5 10 10 Test Category 1 2 3 4 5 6 Dependencies None None None 3,2 4,3,2 4,3,2 Table 2. Test Schedule 3.4 Fault Reporting and Data Recording (Dan Cox) In order that all test procedures and cases be declared successful, each will need to be logged and noted as to if it failed or not. One team member will be responsible for this task. This team member will have a printed list of the test procedures to be covered and their order. Upon the success or failure of each case, notations will be made of the time taken before proceeding to the next procedure. 3.5 Resource Requirements (Dan Cox) Since, as it has been stated in early sections, PASS is divided into main branches from the tree of test cases, the main requirement of the simulation is that a working computer with at least .NET Framework 3.5 be installed in a Windows operating system environment. The simulation is Lab 3 – Prototype Test Plan 11 targeted to that specific environment and, while the software will be brought into the demonstration room, that main requirement must be met. The second branch of the test cases, the hardware or signal interpretation one area, requirements little in the way of resources preexisting in the demonstration room. Both the hardware involved and a laptop on which to display the necessary outputs will be brought in, run by and removed from the room by a team member. The team member responsible for this task will be discussed in a later section. 3.6 Test Environment (Dan Cox) Figure 1. Conference Room Layout The environment in which the demonstration of PASS will take place is limited in both seating and presentation space. Preparations must be made in advance therefore to determine the location of each piece of hardware that will brought into the room. The simulation portion must also be accounted for with a predetermined location for presenters to stand and talk to the panel. Lab 3 – Prototype Test Plan 12 Since the hardware portion of the testing will be first, those components will be placed opposite the panel in a prominent place. The simulation however will also be queued and ready for demonstration immediately. Once the hardware portion ends, the projected screens will show the simulation software running and that part of the demonstration will begin. 3.7 Test Responsibilities (Dan Cox, Jon Szewczak) Each team member will be responsible for an area of the testing process. The table below summarizes the duties of each team member. Name Title Marcus Henry Lead Hardware Developer Gordon Bland Database Administrator Jon Szewczak Lead Software Developer Brittany Dufort User Interface Developer Braden Gibson User Interface Developer Dan Cox Project Manager ALL n/a Role Will introduce and demonstrate the process and test cases involved for testing the Hardware Branch. Will show that the database is operational and supplied with the necessary information to support the simulation. Will speak of the subsystems that make up the simulation and overall architecture of the simulation environment. Will show that the Dispatch User Interface module interacts correctly with all other simulation modules. Will show that the Simulation Driving Interface is fully functional and working correctly with all other simulation modules. Will lead the presentation and log all faults and errors that may arise during prototype presentation. Field Questions Table 3. Test Responsibilities Summary 4. Test Procedures (Dan Cox) The unique time constraints that PASS was developed under led to some formidable challenges. As a result, some of the procedures that would normally be associated with test cases were not available at the time of the writing. In their place are test cases that are, for the most part, largely unfinished. The editor of this paper would like to note that he included such works in the state he received them in order to maintain their authenticity. Lab 3 – Prototype Test Plan 13 4.1 Test Case Names and Identifiers (Dan Cox, Jon Szewczak) The reader should be aware that many of the following sections are incorrectly formatted, incomplete, and/or to some degree inaccurate. This is due in large part to the simulation being far from complete. Without a more complete picture of how the simulation is supposed to function, creating test cases becomes an exercise in futility for most people. 4.1.1 Hardware Test Cases (Marcus Henry) Test Case 1.1 -- Establish Connection between the microprocessor and the Personal Computer Specification References: 3.1.1.4 Will demonstrate that a microcontroller is controlled by a personal computer Test Description: This test will ensure that a personal computer is able to establish a connection with the microprocessor that is used in the prototype. Test Level: Component Test Type: Functional Initialization: 1. Arduino Software must be installed on computer. 2. Arduino Program must be running. Test Inputs: 1. USB Serial Cord Test Procedure: 1. 2. 3. 4. Execute or Double click the Arduino program Select Board from User Control tab and in the drop down window select Arduino Uno. Ensure the USB serial cord is connected to the target personal computer’s USB port/ Ensure the USB serial cord is connected to the microprocessor’s serial port. Expected Results: Lab 3 – Prototype Test Plan 14 1. The Arduino Uno’s ON LED (Light Emitting Diode) will light up. The micro controller is receiving power from the computer. Test Case 1.2 Upload the code to the microprocessor Specification References: 3.1.1.5 Will show that the computer can run the microcontroller. Test Description: This test will ensure that a personal computer is able to establish a connection with the microprocessor that is used in the prototype. Test Level: Component Test Type: Functional Initialization: 1. Arduino Software must be installed on computer. 2. Arduino Program must be running. Test Inputs: 1. Sample Source Code Test Procedure: 1. 2. 3. 4. Run the Arduino program Ensure the USB serial cord is connected to the target personal computer’s USB port Ensure the USB serial cord is connected to the microprocessor’s serial port. Open the “File” tab in the Arduino program and select “Examples” , then select “Basics” and finally select “Blink” 5. Select Sketch tab and select verify and compile. Expected Results: 1. The Arduino program will state Uploading to board…. After this it will state" Done uploading". If this occurs then the PC and Microcontroller are properly synched. Test Case 1.3 -- Show that the wireless transceiver works. Specification References: 3.1.1.6 Will demonstrate that source code can be uploaded to the microcontroller. Lab 3 – Prototype Test Plan 3.1.1.7 Will demonstrate that the microcontroller interfaces with the transceiver. Test Description: Show that the code uploaded to the transceiver by the Arduino software program runs the transceiver. This test shows that the transceiver is correctly installed and running. Test Level: Component Test Type: Functional Initialization: 1. 2. 3. 4. Arduino Software must be installed on computer. Arduino Program must be running on the computer. Arduino Microcontroller must be connected to the computer via USB cable Wireless transceiver must be properly wired to microcontroller. Test Inputs: 1. Transceiver Code Test Procedure: 1. 2. 3. 4. Run the Arduino program Ensure the USB serial cord is connected to the target personal computer’s USB port. Ensure the USB serial cord is connected to the microprocessor’s serial port. One the “File” select “Upload a Sketch”, for purposes of this prototype select “Transceiver Code” 5. Select Upload to a Board button. 6. After successful Upload, select Serial Output Monitor. Expected Results: 2. The serial output monitor should display text as in the figure below. It is important to note that the rf_setup field should display 111, if it does not then there is some error. Test Case 1.4 -- Press a fob button and receive the signal on the computer. Specification References: 3.1.1.1 Will receive a fob signal at a certain frequency 15 Lab 3 – Prototype Test Plan 16 3.1.1.2 Will relay a signal from the transceiver to a personal computer by use of a microcontroller. 3.1.1.3 Will display relevant information for the User, such as which button is pressed and how many times this occurs. Test Description: This test will ensure that when a button on the Nordic fob is pressed, the hardware and software work together in order to bring that signal to the user. Test Level: Component Test Type: Functional Initialization: 1. 2. 3. 4. 5. Arduino Software must be installed on computer. Arduino Program must be running. Source code that runs the microprocessor and transceiver. Correctly wired microcontroller and transceiver. Fob with power(i.e. battery installed) Test Inputs: 1. Five-button key fob 2. Arduino Program using the Serial Port Monitor. Test Procedure: 1. 2. 3. 4. Run the Arduino program Upload the sketch Transceiver Code Press the Upload to Board button on the GUI Display. Upon successful compilation, any button press of the fob is read by the Arduino program. Expected Results: 1. The Arduino serial output monitor should display the output from Test Case 1.3. It will state what frequency the transceiver is currently using, the amount of data that is being transmitted in bytes and the status check. After the Wireless initialized statement, the testing of the key fob begins. As can be seen below, each button of the Five-Button fob is pressed and the program should relay which button is pressed by the user. Lab 3 – Prototype Test Plan 17 4.1.2 Database Test Cases (Gordon Bland) Description Database Database Database Database Test Case 2.1 2.2 2.3 2.4 Description Objective & Setup Expected Result Stored Procedures Test create, read, update, and delete stored procedures on the database. Stored procedures for CRUD shall work on all tables in the PASS database. Updateable Views Test updateable All updateable views views for shall return the functionality and expected data within response/refresh 0.5 ms. time. Triggers Tables Test triggers for proper functionality on various create, read, and delete commands. Triggers shall automatically run scripts to facilitate database use, and shall disallow certain actions directed via scripts. Test tables for proper schema, functionality, and efficiency and ease of use, and for proper data values. Tables each shall have a primary key. Tables shall all be linked by at least one foreign key to another table. Correct Default values and value types must be set for each column on creation and update. Each column shall disallow incorrect input value types on update and creation. Tables shall allow delete commands on entire rows. Lab 3 – Prototype Test Plan 18 4.1.3 Radio Device Test Cases (Jon Szewczak) 3 Description: RadioDevice Purpose: Verify that this abstract base class Test Category - Instantiation cannot have instances created. 3.1 Test Case Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Simulation App Attempt to define a new Exception is thrown Running RadioDevice object in code. Description: RadioDevice - Switch Transmit 3.2 Test Case modes Setup Conditions Test Activity 1. Simulation App Toggle the Mode property in Running all 3 modes 2. Have an object inherited from RadioDevice Purpose: Verify that the property is set and the information is saved. 3 Description: RadioDevice - Paint 3.3 Test Case Setup Conditions Test Activity 1. Simulation App 1. Instantiate an object Running inherited from RadioDevice 2. Place it on the parent form. 3. Move the form around Purpose: Verify that the object is drawn when the windowing system calls the map repaints itself. Expected Results Pass/Fail Comments The object should redraw itself at all times maintaining color relative position and size. Description: RadioDevice - Transmit Purpose: Verify that when called the output of the feature will be a two element array of integers that make up a transmitted signal. Expected Results Pass/Fail Comments Will send an array of size 2 of integers If the object is not in transmit mode, then an exception is thrown. 3 Test Category Test Category 3 Test Category Test Case 3.4 Setup Conditions 1. Simulation App Running 2. Have an object inherited from Radio Device. Test Activity Call Transmit() method of object. Expected Results Pass/Fail Comments Property value is saved. (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan Test Category Test Case 3 19 Description: RadioDevice - Receive 3.5 Setup Conditions 1. Simulation App Running Test Activity Call Receive() method of object. 2. Have an object inherited from Radio Device. Test Category Test Case Setup Conditions 1. Simulation App Running 2. Have an object inherited from RadioDevice. Test Category Test Case RadioDevice Purpose: Verify that when this property is changed that the display of the StandByColo graphic representation reflects the 3.6 r change. Test Activity Expected Results Pass/Fail Comments Call 1. Saves the obj.StandByColor=Color.<so color for that meColor> instance 2. When the object is redrawn the new color is displayed. 3 3 Description: Description: RadioDevice StandBySize 3.7 Setup Conditions Test Activity 1. Simulation App Running Call obj.StandBySize = new Size() 2. Have an object inherited from RadioDevice. Verify that when called the object will take an array of integers as it's input and decipher its contents and decide what to do with it. Expected Results Pass/Fail Comments Will take an integer array as input. It should store the array in its message private member variable. If the object is not in the Receive mode then an exception is thrown. Purpose: Verify that when this property is changed that the size of the filled circle that is the graphic representation of the of object reflects the change. Expected Results Pass/Fail Comments Uses 1. Saves the size Drawing.Size of the object object 2. When the object is redrawn the new size is used. Purpose: (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan Test Category Test Case 3 20 Description: 3.8 Setup Conditions RadioDevice TransmitCol or Test Activity Call obj.TransmitColor=Color.<s omeColor> 1. Simulation App Running Test Case 3 Description: RadioDevice TransmitSize 3.9 Setup Conditions Test Activity 1. Simulation App Running Call obj.TransmitSize = new Size() 2. Have an object inherited from RadioDevice. Test Category Test Case Setup Conditions 1. Simulation App Running 2. Have an object inherited from RadioDevice. 1. Saves the color for that instance 2. When the object is redrawn the new color is displayed. 2. Have an object inherited from RadioDevice. Test Category Verify that when this property is changed that the display of the graphic representation reflects the change. Expected Results Pass/Fail Comments Purpose: 3 3.10 Description: RadioDevice ReceiveColo r Test Activity Call obj.ReceiveColor=Color.<so meColor> Verify that when this property is changed that the size of the filled circle that is the graphic representation of the bject reflects the change. Expected Results Pass/Fail Comments Uses 1. Saves the size Drawing.Size of the object object 2. When the object is redrawn the new size is used. Purpose: Verify that when this property is changed that the display of the graphic representation reflects the change. Expected Results Pass/Fail Comments Purpose: 1. Saves the color for that instance 2. When the object is redrawn the new color is displayed. (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan Test Category Test Case 3 Description: 21 RadioDevice ReceiveSize 3.11 Setup Conditions Test Activity 1. Simulation App Running Call obj.ReceiveSize = new Size() 2. Have an object inherited from RadioDevice. Verify that when this property is changed that the size of the filled circle that is the graphic representation of the object reflects the change. Expected Results Pass/Fail Comments Uses 1. Saves the size Drawing.Size of the object object 2. When the object is redrawn the new size is used. Purpose: 4.1.4 Master Control Module Test Cases (Jon Szewczak) Test Description: TransceiverInfoCollection Purpose: Verfiy that the MCM 4 - Select communicates with the database Category and retrieves transceiver data. Test 4.1 Case Setup Conditions Test Activity Expected Results Pass/Fail Comments 1 . Returns a 1. index = 1. Populated TransceiverInfo valid 1. Call MCM.Transceivers[int index] Database object to hold the integer data index 2. index = 2. Simulation App 2. Returns an 2. Call MCM.Transceivers[int index] invalid Running Exception integer Test Description: TransceiverInfoCollection Purpose: Verify that the MCM 4 - Add communicates with the database Category and adds a new entry to the Test 4.2 tables Case Setup Conditions Test Activity Expected Results Pass/Fail Comments Adds a record to the database, and 1. Simulation lat, long are 1. Call MCM.Transceivers.Add(lat, long) returns a App Running double/float TranscieverInfo object. Lab 3 – Prototype Test Plan Test Category 4 Test Case 4.3 Setup Conditions 1. Populated Database 22 Description: TransceiverInfoCollection Purpose: - Remove Test Activity 1. Call MCM.Transceivers.Remove(ID) Verify that the MCM communicates with the database and removes an entry to the tables Expected Results Pass/Fail Comments Deletes a record ID = valid from the database integer ID 2. Simulation App Running Test Category 4 Test Case 4.4 Setup Conditions 1. Populated Database 2. Simulation App Running Test Category 1 Test Case 4.5 Description: TransceiverInfoCollection Purpose: - GetByID Test Activity Verify that the MCM communicates with the database and gets a TransceiverInfo object based on the TransceiverID. Expected Results Pass/Fail Comments 1. Call MCM.Transceivers.GetByID(int ID) Retrieves a valid UserInfo object. Description: UserInfoCollection Select Purpose: Setup Conditions Test Activity 1. Populated Database 1. Call MCM.Users[int index] 2. Simulation App Running 2. Call MCM.Users[int index] ID = valid integer ID Verfiy that the MCM communicates with the database and retrieves user data. Expected Results Pass/Fail Comments Returns a index = UserInfo object valid that holds the integer data index index = Returns an invalid Exception integer (This space left intentionally blank) Lab 3 – Prototype Test Plan Test Category 4 Test Case 4.6 Description: UserInfoCollection Purpose: Verify that the MCM - Add communicates with the database and adds a new entry to the tables Setup Conditions Test Activity 1. Simulation App Running 1. Call MCM.Users.Add(name, sex, age) Test Category 4 Test Case 4.7 Setup Conditions 1. Populated Database 2. Simulation App Running 23 Expected Results Adds a record to the database, and returns a TranscieverInfo object. Pass/Fail Comments Description: UserInfoCollection Purpose: Verify that the MCM - Remove communicates with the database and removes an entry to the tables Test Activity Expected Results 1. Call MCM.Users.Remove(ID) Deletes a record from the database Pass/Fail Comments ID = valid integer ID Description: UserInfoCollection Purpose: Verify that the MCM - GetByID communicates with the database and gets a UserInfo object based on 4.8 Test Case the UserID. Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Populated Database 1. Call MCM.Users.GetByID(int Retrieves a valid ID = valid ID) UserInfo object. integer ID 2. Simulation App Running Test Category 4 Description: UserInfoCollection Purpose: Verify that the MCM - GetByName communicates with the database and gets a UserInfo object based on 4.9 Test Case the saved name of the user. Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Populated 1. Call Database Retrieves a valid MCM.Users.GetByName(string UserInfo object 2. Simulation name) App Running Test Category 4 Lab 3 – Prototype Test Plan Test Category 4 Test Case 4.10 Description: 24 FobInfoCollection Select Setup Conditions Test Activity 1. Populated Database 1. Call MCM.Fobs[int index] 2. Simulation App Running 2. Call MCM.Fobs[int index] Test Category 4 Test Case 4.11 Description: FobInfoCollection Add Setup Conditions Test Activity 1. Simulation App Running 1. Call MCM.Fobs.Add(UserID) Test Category 4 Test Case 4.12 Setup Conditions 1. Populated Database 2. Simulation App Running Test Category 4 Test Case 4.13 Setup Conditions 1. Populated Database 2. Simulation App Running Description: FobInfoCollection Remove Purpose: Verfiy that the MCM communicates with the database and retrieves Fob data. Expected Results Returns a FobInfo object that holds the data Purpose: index = invalid integer Verify that the MCM communicates with the database and adds a new entry to the tables Expected Results Adds a record to the database, and returns a TranscieverInfo object. Purpose: 1. Call MCM.Fobs.Remove(ID) Deletes a record from the database Test Activity 1. Call MCM.Fobs.GetByID(int ID) Pass/Fail Comments UserID as integer value Verify that the MCM communicates with the database and removes an entry to the tables Expected Results FobInfoCollection GetByID Comments index = valid integer index Returns an Exception Test Activity Description: Pass/Fail Pass/Fail Comments ID = valid integer ID Verify that the MCM communicates with the database and gets a FobInfo object based on the FobID. Expected Results Pass/Fail Comments Purpose: Retrieves a valid FobInfo object. ID = valid integer ID Lab 3 – Prototype Test Plan Test Category Test Case Test Activity Verify that the MCM communicates with the database and gets a FobInfo object based on the UserID. Expected Results Pass/Fail Comments 1. Call MCM.Fobs.GetByUserID(int ID) Retrieves a valid FobInfo object. 4 Description: 4.14 Setup Conditions 1. Populated Database 2. Simulation App Running Test Category 4 Test Case 4.15 Setup Conditions 25 FobInfoCollection GetByUserID Purpose: Description: IncidentInfoCollection Purpose: Verfiy that the MCM - Select communicates with the database and retrieves Incident data. Test Activity Expected Results 1. Populated Database 1. Call MCM.Incidents[int index] Returns a IncidentInfo object that holds the data 2. Simulation App Running 2. Call MCM.Incidents[int index] Returns an Exception Test Category 4 Test Case 4.16 Setup Conditions 1. Simulation App Running ID = valid integer ID Pass/Fail Comments index = valid integer index index = invalid integer Description: IncidentInfoCollection Purpose: Verify that the MCM - Add communicates with the database and adds a new entry to the tables Test Activity 1. Call MCM.Incidents.Add(UserID) Expected Results Adds a record to the database, and returns a TranscieverInfo object. (This space left intentionally blank) Pass/Fail Comments UserID as integer value Lab 3 – Prototype Test Plan 26 Description: IncidentInfoCollection Purpose: Verify that the MCM - Remove communicates with the database and removes an entry to the Test Case 4.17 tables Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Populated Database Deletes a record ID = valid 1. Call MCM.Incidents.Remove(ID) from the database integer ID 2. Simulation App Running Test Category 4 Description: IncidentInfoCollection Purpose: Verify that the MCM - GetByID communicates with the database and gets a IncidentInfo object Test Case 4.18 based on the FobID. Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Populated Retrieves a valid Database 1. Call MCM.Incidents.GetByID(int ID = valid IncidentInfo ID) integer ID 2. Simulation object. App Running Test Category 4 Description: IncidentInfoCollection Purpose: Verify that the MCM - GetByUserID communicates with the database and gets a IncidentInfo object Test Case 4.19 based on the Incident RecordID. Setup Conditions Test Activity Expected Results Pass/Fail Comments 1. Populated Database 1. Call Retrieves a valid ID = valid MCM.Incidents.GetByUserID(int ID) FobInfo object. integer ID 2. Simulation App Running Test Category 4 (This space left intentionally blank) Lab 3 – Prototype Test Plan 27 Purpose: Verify that the MCM processing logic can determine the correct transceivers from an incoming array, and find an approximate Test Case 4.20 location for an alert based on that. Setup Conditions Test Activity Expected Results Pass/Fail Comments Raises an Event to listeners 1. Populated signalling that Database processing has begun. 1. Call MCM.ProcessAlerts(List<int[]>) When finished it 2. Simulation will raise an event App Running signalling that 3. Passed Tests processing has 1.1-1.14 finished. Test Category 4 Description: Process Alerts (This space left intentionally blank) Lab 3 – Prototype Test Plan 28 4.1.5 Simulation Driver Interface Test Cases (Braden Gibson) Test Category: Test Case 5 5 5 5 Purpose: Test the Connection with the MCM Test Activity Expected Results Description: User Info Verify that User Information can Purpose: successfully be received Test Activity Expected Results Description: Fob Info Verify that Fob Information can Purpose: successfully be received Test Activity Expected Results Pass/Fail Comments Pass/Fail Comments Pass/Fail Comments Transceiver Verify that Transceiver Information Description: Info Purpose: can successfully be received 5 5.5 Setup Conditions Test Category Test Case Outbound Description: Connection Pass/Fail Comments 5.4 Setup Conditions Test Category Test Case Expected Results 5.3 Setup Conditions Test Category Test Case Test Activity 5.2 Setup Conditions Test Category Test Case Purpose: Listen for a response from the MCM 5.1 Setup Conditions Test Category Test Case Inbound Description: Connection 5 Test Activity Expected Results Alert Description: Signal Verify that a list of transceivers are Purpose: created once they "hear" an alert Pass/Fail Comments 5.6 (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan Setup Conditions Test Category Test Case 5 5 5 Setup Conditions Test Activity Expected Results Description: Maps Test that each of the 5 maps display Purpose: on the screen Test Activity Expected Results Signal Description: Response Purpose: Test that the alert signal has been set Test Activity Expected Results Pass/Fail Comments Pass/Fail Comments Pass/Fail Comments Transceiver Test that the transceivers can be Description: Display Purpose: displayed on the screen 5 5.10 Setup Conditions Test Category Test Case Verify that the list of transceivers has Purpose: been sent to the MCM 5.9 Setup Conditions Test Category Test Case Description: Data Flow Pass/Fail Comments 5.8 Setup Conditions Test Category Test Case Test Activity Expected Results 5.7 Setup Conditions Test Category Test Case 29 5 Test Activity Expected Results Fob Description: Creation Purpose: Test that a fob object is created Test Activity Expected Results Pass/Fail Comments 5.11 (This Space Left Intentionally Blank) Pass/Fail Comments Lab 3 – Prototype Test Plan Test Category Test Case 5 5 Setup Conditions Test Activity Expected Results Description: Objects Test that the list of objects are sent to the MCM once the action listener has Purpose: been initiated Test Activity Expected Results Pass/Fail Comments Pass/Fail Comments Transceiver Test that the transceiver object is Description: Creation Purpose: created 5 5.14 Setup Conditions Test Category Test Case Purpose: Test that each fob ID is unique 5.13 Setup Conditions Test Category Test Case Description: Unique ID 5.12 Setup Conditions Test Category Test Case 30 5 Test Activity Expected Results Description: Input Test that the button or action listener Purpose: picks up user input Test Activity Expected Results Pass/Fail Comments 5.15 (This Space Left Intentionally Blank) Pass/Fail Comments Lab 3 – Prototype Test Plan 31 4.1.6 Dispatch User Interface Test Cases (Brittany Dufort) Test Listening Category 6 Description: for MCM Test Case 6.1 Setup Conditions Test Activity Tests that the DUI is constantly listening for Purpose: the MCM Test Connection Category 6 Description: with MCM Test Case 6.2 Setup Conditions Test Activity Pass alert into DUI Tests that the DUI is able to receive alerts Purpose: from the MCM Test Category 6 Object is Alert Description: Object Test Case 6.3 Setup Conditions Test Activity Pass alert obj into DUI Pass non-alert obj into DUI Display Test alerts on Category 6 Description: map Test Case 6.4 Setup Conditions Test Activity Pass alerts into DUI Expected Results Expected Results DUI will receive the alert Pass/Fail Comments P Pass/Fail Comments P Purpose: Tests that the object being passed to the DUI from the MCM is an actual Alert Object Expected Results Pass/Fail Comments DUI will recognize as alert P DUI wil reject the nonalert P Tests that the DUI can display ALL active Purpose: alerts on the map. Expected Results Pass/Fail Comments Map will display each bubble P (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan 32 Display Test alerts in Category 6 Description: extended Test Case 6.5 data form Setup Conditions Test Activity Pass alerts into DUI Displays Test alerts in Category 6 Description: alerts information Test Case 6.6 table Setup Conditions Test Activity Pass alerts into DUI Tests that the DUI can display ALL active Purpose: alerts in the extended data form Expected Results Pass/Fail Comments Extended data form will display information from each alert obj P display information from each alert obj Tests that the DUI can display ALL active Purpose: alerts in the alerts information table. Expected Results Pass/Fail Comments Alerts information table will display P information from each alert (This Space Left Intentionally Blank) Lab 3 – Prototype Test Plan 5. Traceability to Requirements (Dan Cox, Jon Szewczak) 33