67
Test Plan and Cases (TPC) Version 3.0 Test Plan and Cases (TPC) Smart Locks Control Team 05 Spring 2018 Team Members: Alex Miller Project Manager Diego Brandao Implementer Terence Williams Tester William Goishi IIV&V Nicholas Kwong Quality Focal Point Fall 2017 Team Members: Vaibhav Vishal Project Manager, Life Cycle Planner, Trainer Diego Brandao IV&V, Software Architect, Developer Zhe Wang Feasibility Analyst, NDI/NCS Acquirer Mohammadreza Barazesh Software Architect, Developer i TPC_RDCP_S17b_T05_V3.0 Version Date: 2/

greenbay.usc.edu · Web viewThis document describes the test cases and acceptance criteria to ensure the satisfaction of the win-win conditions documented …

Embed Size (px)

Citation preview

Test Plan and Cases (TPC) Version 3.0

Test Plan and Cases (TPC)

Smart Locks Control

Team 05

Spring 2018 Team Members:

Alex Miller Project ManagerDiego Brandao Implementer

Terence Williams TesterWilliam Goishi IIV&V

Nicholas Kwong Quality Focal Point

Fall 2017 Team Members:Vaibhav Vishal Project Manager, Life Cycle Planner,

TrainerDiego Brandao IV&V, Software Architect, Developer

Zhe Wang Feasibility Analyst, NDI/NCS Acquirer

Mohammadreza Barazesh Software Architect, DeveloperAlejandro Monroy Prototyper, Evaluator, Tester,

DeveloperHao-Yun Yang Requirements Engineer

Katarzyna Ruszowska Quality Focal Point, UML Modeler, Developer

iTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

2/14/2018

Version HistoryDate Author Version Changes made Rationale

10/15/17 KR 1.0 ●Initial Release ●Released for DCR

11/19/17 KR 2.0 ● Add and Modify Test Cases ● Adjusted test cases to account for changes in requirements, additional features, and modifications to the system

11/25/17 KR 2.1 ● Add, Remove, and Modify Test Cases ● Adjusted test cases to account for changes in requirements, additional features, and modifications to the system

11/26/17 KR 2.2 ● Reformat Document ● Fixed document format to follow correct template

12/04/17 KR 2.3 ● Final Revision ● Final revision before submission for TRR to ensure correctness.

2/14/18 Nicholas Kwong

● Updated with New Test Cases ● Updated to account for new Spring 2018 win conditions and requirements

iiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Table of ContentsTest Plan and Cases (TPC)................................................................................................................................i

Version History................................................................................................................................................ii

Table of Contents............................................................................................................................................iii

Table of Tables................................................................................................................................................iv

1. Introduction......................................................................................................................................1

2. Test Strategy and Preparation...........................................................................................................1

2.1 Hardware preparation.....................................................................................................................1

2.2 Software preparation......................................................................................................................2

2.3 Other pre-test preparations.............................................................................................................2

2.4 Requirements Traceability..............................................................................................................2

3. Test Identification.............................................................................................................................3

3.1 TC-01 Add User.............................................................................................................................3

3.2 TC-02 Edit User.............................................................................................................................5

3.3 TC-03 Delete User........................................................................................................................12

3.4 TC-04 Add Code..........................................................................................................................13

3.5 TC-05 Edit Code...........................................................................................................................16

3.6 TC-06 Delete Code.......................................................................................................................18

3.7 TC-07 View Logs.........................................................................................................................20

3.8 TC-08 View Device Status...........................................................................................................22

3.9 TC-09 Manage SmartThings Account..........................................................................................24

3.10 TC-10 View Code Status............................................................................................................27

3.11 TC-11 Reset Administrator Password........................................................................................30

3.12 TC-12 Enable Two Factor Authentication.................................................................................33

3.13 TC-13 Unique Codes for Users..................................................................................................36

3.14 TC-14 Security Token................................................................................................................38

3.15 TC-15 Notify on User Locked Out.............................................................................................42

3.16 TC-16 Notify on Open Lock......................................................................................................43

4. Resources and schedule..................................................................................................................44

4.1 Resources..................................................................................................................................44

4.2 Staffing and Training Needs.....................................................................................................45

4.3 Schedule...................................................................................................................................45

iiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Table of TablesTable 1: Hardware Preparation......................................................................................................................1Table 2: Software Preparation........................................................................................................................2Table 3: Requirements Traceability Matrix...................................................................................................2Table 4: TC-01-01 Create New User with Valid Input..................................................................................3Table 5: TC-01-02 Create New User with Invalid Input...............................................................................4Table 6: TC-02-01 Change Name with Valid Input.......................................................................................6Table 7: TC-02-02 Change Name with Invalid Input....................................................................................6Table 8: TC-02-03 Change Password with Valid Input from the USERS tab..............................................7Table 9: TC-02-04 Change Password with Invalid Input from the USERS tab...........................................8Table 10: TC-02-05 Change Password with Valid Input from the MY PROFILE tab................................9Table 11: TC-02-06 Change Password with Invalid Input from the MY PROFILE tab...........................10Table 12: TC-02-07 Change Username with Valid Input...........................................................................10Table 13: TC-02-08 Change Username with Invalid Input.........................................................................11Table 14: TC-03-01 Delete User...................................................................................................................13Table 15: TC-04-01 Add Code with Valid Input..........................................................................................14Table 16: TC-04-02 Add Code with Invalid Input.......................................................................................15Table 17: TC-05-01 Edit Code with Valid Input..........................................................................................16Table 18: TC-05-02 Edit Code with Invalid Input.......................................................................................17Table 19: TC-06-01 Delete Code..................................................................................................................19Table 20: TC-07-01 View All Logs...............................................................................................................20Table 21: TC-07-02 Filter Log Files............................................................................................................21Table 22: TC-08-01 View Lock Status..........................................................................................................22Table 23: TC-08-02 View Hub Status...........................................................................................................23Table 24: TC-09-01 Update SmartThings Account Information with Valid Input....................................24Table 25: TC-09-02 Update SmartThings Account Information with Invalid Input.................................25Table 26: TC-09-03 Log in to SmartThings Account..................................................................................26Table 27: TC-10-01 View Active Codes........................................................................................................27Table 28: TC-10-02 View Inactive Codes.....................................................................................................28Table 29: TC-10-03 View Pending Codes....................................................................................................29Table 30: TC-11-01 Reset Administrator Password with Valid Input........................................................31Table 31: TC-11-02 Reset Administrator Password with Invalid Input......................................................32Table 32: TC-11-03 Log in to Smart Locks Control Website with New Password.....................................32Table 33: TC-12-01 Enable Two Factor Authentication in Settings..........................................................34Table 34: TC-12-02 Create New User with Two Factor Authentication....................................................34Table 35: TC-12-03 Log in to Smart Locks Control with Two Factor Authentication..............................35Table 36: TC-13-01 Assign Unique Code.....................................................................................................36Table 37: TC-13-02 Assign Repeated Code..................................................................................................37Table 38: TC-14-01 Verify Administrator Access........................................................................................39Table 39: TC-14-02 Verify House Manager Access....................................................................................40Table 40: TC-14-03 Verify House Staff Access...........................................................................................40Table 41: TC-14-04 Verify Maintainer Access............................................................................................41Table 42: TC-15-01 Notify on User Locked Out..........................................................................................42Table 43: TC-16-01 Notify on Open Lock....................................................................................................43Table 30: Testing Schedule...........................................................................................................................45

ivTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

1. IntroductionThis document describes the test cases and acceptance criteria to ensure the satisfaction of the win-win conditions documented in winbook. The test plan comprises of unit testing, integration testing, and verification and validation testing. The developers test the frontend, backend, and SmartApp elements independently before integrating them and testing the system as a whole. Finally, we perform verification and validation testing to ensure that the system fulfills the specifications and the needs of the client.

2. Test Strategy and PreparationWe created a series of test cases to ensure the functionality and reliability of each of the requirements recorded on winbook. Test cases include both sunny day and rainy-day scenarios. Both priority and risk level of the associated win condition factor into the chronological order of test performance to assure that we will meet all success-critical requirements possible before moving on to additional features.

We perform agile test-first and continuous integration to improve delivery and ensure quality. In other words, we produce the tests before beginning the coding process, and update the shared code repository frequently to make sure that any modifications integrate smoothly with the existing code. As soon as the developer confirms the functionality of his change through unit testing, he moves on to integration testing the work before continuing to the next modification.

After making changes, we perform sanity testing, filtering the test cases and running those relevant to the area affected by the changes. In addition, we perform smoke testing to make sure that the changes have not adversely affected the core functionality of the system.

2.1 Hardware preparationTable 1: Hardware Preparation

Hardware Description

Servers Samsung servers must be running properly.

Internet Devices Computers and phones with Internet access and different browsers installed.

Locks Multiple Schlage FE599 locks.

Hubs At least one Samsung SmartThings hub.

vTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

2.2 Software preparation Table 2: Software Preparation

Software Description

Web Browser The user needs a web browser and access to the Internet. Ideally tests should be run from several different devices and on various web browsers.

2.3 Other pre-test preparations No additional pre-test preparations.

2.4 Requirements TraceabilityTable 3: Requirements Traceability Matrix

OCD Verification Type

Requirement ID Use Cases Test Case ID (if applicable)

OC-1: Lock Management Testing

WC_4573, WC_4524, WC_4522, WC_4525, WC_4456, WC_4610,

WC_4611

UC-4, UC-5, UC-6, UC-8, UC-12,

TC-04-01, TC-04-02, TC-05, TC-06, TC-07-01, TC-07-02, TC-15, TC-16-01, TC-16-02

OC-2: User Control Testing

WC_4577, WC_4517, WC_4604, WC_4605, WC_4609, WC_4612

UC-1, UC-2, UC-3, UC-11, UC-13

TC-01-01, TC-01-02, TC-02-01, TC-02-02 TC-03-01, TC-03-02, TC-09, TC-11, TC-12, TC-13-01, TC-13-02, TC-14

OC-3: Device Status

TestingWC_4593, WC4519, WC4512, WC_4602

UC-9, UC-10

TC-08-01, TC-08-02, TC-10-01, TC-10-02, TC-10-03

viTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3. Test Identification3.1 TC-01 Add User TC-01 Add User

3.1.1 Test LevelIntegration Testing

3.1.2 Test ClassCapability Testing and Erroneous Input Testing

3.1.3 Test Completion CriteriaThis test suite will be considered complete when:

● An Administrator can create functional House Manager and House Staff accounts given he provides complete and correctly formatted input.

● The system prevents the creation of new user accounts given incomplete or incorrectly formatted input and displays error messages to the user, making the problem clear.

● Correct format defined as:○ Name and Username:

■ alphanumeric chars■ minimum length 6

○ Password:■ at least one uppercase letter, one lowercase letter, and one numeric digit■ minimum length 6

○ Role selected from dropdown list

3.1.4 Test CasesTable 4: TC-01-01 Create New User with Valid Input

Test Case Number TC-01-01 Create New User Valid Input

Test Item This test verifies that an Administrator can create a new House Manager or House Staff account.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged in to an Administrator account● in the USERS tab

viiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Post-conditions A new account exists in the system with the specified attributes.

Input Specifications ● Click “Add New User”● Fill in the Name, Username, and Password fields with

valid inputs according to the specifications and select a Role

● Click “Add User”

Expected Output Specifications

System should display a “Success: User added.” message and reload the USERS page, showing the updated information.

Pass/Fail Criteria Pass Criteria: ● Database and system correctly updated

Fail Criteria: ● Database and system incorrectly updated or not updated

Assumptions and Constraints A functional Administrator level account exists on our system.

Dependencies None

Traceability WC_4577, WC_4517

Table 5: TC-01-02 Create New User with Invalid Input

Test Case Number TC-01-02 Create New User with Invalid Input

Test Item This test verifies that an Administrator cannot create a new House Manager or House Staff account without supplying valid and complete information.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged in to an Administrator level account● in the USERS tab

Post-conditions The database and system remain unchanged.

Input Specifications ● Click “Add New User”● Fill out the form with at least one field filled with

incorrectly formatted information, at least one field left blank, or no Role selected

● Click “Add User”

Expected Output Specifications

System should display appropriate error messages and remain in “Add New User” popup

Pass/Fail Criteria Pass Criteria: ● No change to the database or the system● Appropriate error messages displayed to user

viiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed to user

Assumptions and Constraints A functional Administrator level account exists on our system.

Dependencies None

Traceability WC_4577, WC_4517

3.2 TC-02 Edit User TC-02 Edit User

3.2.1 Test LevelIntegration Testing

3.2.2 Test ClassCapability Testing and Erroneous Input Testing

3.2.3 Test Completion CriteriaThis test suite will be considered complete when:

● The user can modify his password, the passwords assigned to him and to lower-level users associated with his account, his name, and his username provided he enters complete and correctly formatted input.

● The system prevents the user from modifying user information given incomplete or incorrectly formatted output and displays error messages, making the error clear.

● Lower-level defined as:○ House Managers and House Staff for Administrators○ House Staff for House Managers

● Correct format defined as:○ Name and Username:

■ alphanumeric chars■ minimum length 6

○ Password:■ at least one uppercase letter, one lowercase letter, and one numeric digit■ minimum length 6

3.2.4 Test Cases

ixTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Table 6: TC-02-01 Change Name with Valid Input

Test Case Number TC-02-01 Change Name

Test Item This test verifies that an Administrator can change the name of a House Manager or House Staff account.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account○ in the USERS tab

● At least one House Manager and one House Staff account must exist in the system

Post-conditions The desired new name should replace all occurrences of the former name in the database and on the user interface.

Input Specifications ● Select a User● Click “Update User”● Fill out the Name field with a valid input according to the

specifications● Click “Update User”

Expected Output Specifications

System should display a “Success: User updated.” message and reload the USERS tab, showing the updated information

Pass/Fail Criteria Pass Criteria: The desired new name should have completely replaced the former name within the system.Fail Criteria: The name has not changed within the system or has changed to something other than the input new name.

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 7: TC-02-02 Change Name with Invalid Input

Test Case Number TC-02-02 Change Name with Invalid Input

Test Item This test verifies that an Administrator cannot change the name of a House Manager or House Staff account without valid and complete input.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account ○ in the USERS tab

xTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

● At least one House Manager and one House Staff account must exist in the system.

Post-conditions The database and the system should not change.

Input Specifications ● Select a User● Click “Update User”● Fill out the Name field with an invalid input according to

the specifications or delete the text in the Name field and leave it blank

● Click “Update User”

Expected Output Specifications

System should display an appropriate error message and remain in the “Update User” popup

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 8: TC-02-03 Change Password with Valid Input from the USERS tab

Test Case Number TC-02-03 Change Password with Valid Input from the USERS tab

Test Item This test verifies that an Administrator can change the password of a House Manager or House Staff account.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account○ In the USERS tab

● At least one House Manager and one House Staff account must exist in the system

Post-conditions ● User of modified account should be able to log in using desired new password

● Former password should no longer work

Input Specifications ● Select a User● Click “Update User”● Fill in the Password field with a valid input according to

the specifications

xiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

● Click “Update User”

Expected Output Specifications

System should display a “Success: User updated” message and appropriate error messages when the user attempts to log in using the former password.

Pass/Fail Criteria Pass Criteria: ● User of modified account should be able to log in using

new password● Former password should no longer work

Fail Criteria: ● User cannot log in using the new password● Former password still works

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 9: TC-02-04 Change Password with Invalid Input from the USERS tab

Test Case Number TC-02-04 Change Password with Invalid Input from the USERS tab

Test Item This test verifies that an Administrator cannot change the password of a House Manager or House Staff account if the attempted new password does not meet the requirements.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account○ in the USERS tab

● At least one House Manager and one House Staff account must exist in the system

Post-conditions The system and the database should not change.

Input Specifications ● Select a User● Click “Update User”● Fill out the Password field with an invalid input

according to the specifications or delete the text in the Password field and leave it blank

● Click “Update User”

Expected Output Specifications

The system should display appropriate error messages and remain in the “Update User” popup

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user

xiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Fail Criteria: ● Database or system updated with invalid code● No or inaccurate error messages displayed

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 10: TC-02-05 Change Password with Valid Input from the MY PROFILE tab

Test Case Number TC-02-05 Change Password with Valid Input from the MY PROFILE tab

Test Item This test verifies that any user can change his password from the MY PROFILE tab.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged in to an Administrator account for the first part, a

House Manager account for the second, and a House Staff account for the third

● in the MY PROFILE tab

Post-conditions ● User of modified account should be able to log in using desired new password

● Former password should no longer work

Input Specifications ● Fill in the NEW PASSWORD and RETYPE NEW PASSWORD fields with valid input

● Click “Update Password”

Expected Output Specifications

System should display a “Success: Password updated” message and appropriate error messages when the user attempts to log in using the former password.

Pass/Fail Criteria Pass Criteria: ● User of modified account should be able to log in using

new password● Former password should no longer work

Fail Criteria: ● User cannot log in using the new password● Former password still works

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

xiiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Table 11: TC-02-06 Change Password with Invalid Input from the MY PROFILE tab

Test Case Number TC-02-06 Change Password with Invalid Input from the MY PROFILE tab

Test Item This test verifies that a user cannot change his password from the MY PROFILE tab without supplying valid input.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged in to an Administrator account for the first part, a

House Manager account for the second, and a House Staff account for the third

● in the MY PROFILE tab

Post-conditions The system and the database should not change.

Input Specifications ● Fill in at least one of the NEW PASSWORD and RETYPE NEW PASSWORD fields with invalid input or leave one blank

● Click “Update Password”

Expected Output Specifications

System should display appropriate error messages.

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 12: TC-02-07 Change Username with Valid Input

Test Case Number TC-02-07 Change Username with Valid Input

Test Item This test verifies that an Administrator can change the username of a House Manager or House Staff account.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account

xivTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

○ in the USERS tab● At least one House Manager and one House Staff account

must exist in the system

Post-conditions ● User of modified account should be able to log in using desired new username

● Former username should no longer work

Input Specifications ● Select a User● Click “Update User”● Fill in the Username field with a valid input according to

the specifications● Click “Update User”

Expected Output Specifications

The system should display a “Success: User updated.” message and appropriate error messages when the tester attempts to log in with the former username.

Pass/Fail Criteria Pass Criteria: ● User of modified account should be able to log in using

new username● Former username should no longer work

Fail Criteria: ● User cannot log in using the new username● Former username still works

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

Table 13: TC-02-08 Change Username with Invalid Input

Test Case Number TC-02-08 Change Username with Invalid Input

Test Item This test verifies that an Administrator cannot change the username of a House Manager or House Staff account if the desired new username does not meet the requirements.

Test Priority S (Should Have)

Pre-conditions ● Tester must be ○ logged in to an Administrator account○ in the USERS tab

● At least one House Manager and one House Staff account must exist in the system

Post-conditions The system and the database should not change.

Input Specifications ● Fill out the Username field with an invalid input according to the specifications or delete the text in the

xvTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Username field and leave it blank● Click “Update User”

Expected Output Specifications

The system should display appropriate error messages and remain in the “Update User” popup

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user.

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed to user

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist in the system.

Dependencies None

Traceability WC_4577, WC_4517

3.3 TC-03 Delete User TC-03 Delete User

3.3.1 Test LevelIntegration Testing

3.3.2 Test ClassCapability Testing

3.3.3 Test Completion CriteriaThis test will be considered complete when:

● An Administrator can delete House Manager and House Staff accounts.● The tester can no longer log in to the deleted accounts.

3.3.4 Test CasesTable 14: TC-03-01 Delete User

Test Case Number TC-03-01 Delete User

xviTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Test Item This test verifies that an Administrator can delete House Manager and House Staff accounts.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system● in the USERS tab

Post-conditions The deleted account should no longer exist in the system.

Input Specifications ● Select a User● Click “Update User”● Click “Delete User”● Click “OK” in the prompt that pops up

Expected Output Specifications

The system should generate and display a “Success: User deleted.” message.

Pass/Fail Criteria Pass Criteria: The deleted account no longer exists within the system.Fail Criteria: The deleted account still exists in the system.

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system.

Dependencies None

Traceability WC_4577, WC_4517

3.4 TC-04 Add Code TC-04 Add Code

3.4.1 Test LevelIntegration Testing

3.4.2 Test ClassCapability Testing and Erroneous Input Testing

3.4.3 Test Completion CriteriaThis test suite will be considered complete when:

● A user can ○ add a code slot and assign it to himself or to an associated lower-level account

given he provides complete and correctly formatted input

xviiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

○ manipulate the lock using the newly added code● The system

○ prevents the creation of a new code slot given incomplete or incorrectly formatted information

○ displays error messages making the problem clear to the user● Lower-level account defined as:

○ House Manager or House Staff for Administrator○ House Staff for House Manager

● Correct format defined as:○ Code: 4-digit number○ User, Lock, and Slot: selected from available users, locks, and slots, respectively

3.4.4 Test CasesTable 15: TC-04-01 Add Code with Valid Input

Test Case Number TC-04-01 Add Code with Valid Input

Test Item This test verifies that1) An Administrator can add a code slot and assign it to

himself or to a House Manager or House Staff user2) A House Manager can add a code slot and assign it to

himself or to his House Staff users.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged in to Administrator level account on system for

first part and House Manager account for second. ● in the LOCKS tab.

Post-conditions User should be able to use added code to manipulate associated lock

Input Specifications ● Select a hub from the dropdown list and click “Get Slots”● Click “Add New Slot”● Select a User, Lock, and Slot from the dropdown lists● Fill out the Code field with a valid input according to the

specifications● Click “Add Slot”

Expected Output Specifications

System should generate and display a “Success: Slot added” message and reload the LOCKS tab, displaying the updated information

Pass/Fail Criteria Pass Criteria: The user can manipulate the associated lock with the newly added code.Fail Criteria: The user cannot manipulate the associated lock with the newly added code.

Assumptions and Constraints Functional Administrator, House Manager, and House Staff

xviiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

accounts exist within the system. At least one lock exists within the system.

Dependencies None

Traceability WC_4573, WC_4524, WC_4522

Table 16: TC-04-02 Add Code with Invalid Input

Test Case Number TC-04-02 Add Code with Invalid Input

Test Item This test verifies1) An Administrator can add a code slot and assign it to

himself or to a House Manager or House Staff user2) A House Manager can add a code slot and assign it to

himself or to his House Staff users

Test Priority S (Should Have)

Pre-conditions Tester must be logged in to an Administrator level account on our system for the first part and a House Manager account for the second.

Post-conditions The database and the system should not change.

Input Specifications ● Select a hub from the dropdown list and click “Get Slots”● Click “Add New Slot”● Select a User, Lock, and Slot from the dropdown lists● Fill out the Code field with an invalid input according to

the specifications or leave the field blank● Click “Add Slot”

Expected Output Specifications

System should display appropriate error messages and remain in the “Add New Slot” popup

Pass/Fail Criteria Pass Criteria: ● No change in the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change in the database or system● No or inaccurate error messages displayed to user

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system.

Dependencies None

Traceability WC_4573, WC_4524, WC_4522

xixTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.5 TC-05 Edit Code TC-05 Edit Code

3.5.1 Test LevelIntegration Testing

3.5.2 Test ClassCapability Testing and Erroneous Input Testing

3.5.3 Test Completion CriteriaThis test suite will be considered complete when:

● Users can ○ change the codes of locks assigned to them and lower-level accounts associated

with theirs given they provide correctly formatted inputs○ manipulate the locks with the new codes○ no longer manipulate the locks with the former codes

● The system ○ prevents changes of codes given incorrectly formatted inputs ○ displays error messages making the problem clear to the user

● Lower-level defined as:○ House Managers and House Staff for Administrators○ House Staff for House Managers

● Correctly formatted new code defined as:○ 4-digit number

3.5.4 Test CasesTable 17: TC-05-01 Edit Code with Valid Input

Test Case Number TC-05-01 Edit Code with Valid Input

Test Item This test verifies 1) An Administrator can change the code of a lock slot

assigned to himself or to a House Manager or House Staff user

2) A House Manager can change the code of a lock slot assigned to himself or to his House Staff users

xxTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second

● in the LOCKS tab

Post-conditions User should ● be able to use the new code to manipulate the associated

lock● no longer be able to use the former code to manipulate

the associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in New Code field(s) of the selected slot(s) with a

valid input according to the specifications● Click “Update Slots”

Expected Output Specifications

System should display a “Success: Slot updated.” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User can manipulate associated lock with new code● User cannot manipulate associated lock with former code

Fail Criteria: ● User cannot manipulate associated lock with new code● User can still manipulate associated lock with former

code

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies None

Traceability WC_4573, WC_4524, WC_4522

Table 18: TC-05-02 Edit Code with Invalid Input

Test Case Number TC-05-02 Edit Code with Invalid Input

Test Item This test verifies that a user cannot change the code of a lock slot without providing a correctly formatted desired new code.

Test Priority M (Must Have)

Pre-conditions Tester must be logged into an Administrator level account on our system for the first part and a House Manager account for the

xxiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

second.

Post-conditions The database and the system should not change.

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in the New Code field of at least one of the selected

slot(s) with an invalid input according to the specifications or leave at least one field blank

● Click “Update Slots”

Expected Output Specifications

The system should display appropriate error messages and remain on the same page.

Pass/Fail Criteria Pass Criteria:● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed to user

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies None

Traceability WC_4573, WC_4524, WC_4522

3.6 TC-06 Delete Code TC-06 Delete Code

3.6.1 Test LevelIntegration Testing

3.6.2 Test ClassCapability Testing

3.6.3 Test Completion CriteriaThis test will be considered complete when:

● The user can no longer use the deleted code to manipulate the lock.

xxiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.6.4 Test CasesTable 19: TC-06-01 Delete Code

Test Case Number TC-06-01 Delete Code

Test Item This test verifies that 1) An Administrator can delete a code slot assigned to

himself or to a House Manager or House Staff user2) A House Manager can delete a code slot assigned to

himself or to his House Staff users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second

● in the LOCKS tab

Post-conditions The user should no longer be able to use the code from the deleted slot to manipulate the associated lock.

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot to delete● Click “Delete Slots”● Click “OK” in the prompt that pops up

Expected Output Specifications

System should display a “Success: Slot deleted” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User cannot manipulate the associated lock with the code

from the deleted slot● Database and system correctly updated

Fail Criteria: ● User can still manipulate the associated lock with the

code from the deleted slot● Database and system not correctly updated

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies None

Traceability WC_4573, WC_4524, WC_4522

xxiiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.7 TC-07 View Logs TC-07 View Logs

3.7.1 Test LevelIntegration Testing

3.7.2 Test ClassCapability Testing

3.7.3 Test Completion CriteriaThis test suite will be considered complete when:

● Administrators and House Managers can:○ View the logs of lock access.○ Accurately filter the logs according to various criteria such as date, lock, user,

etc.

3.7.4 Test CasesTable 20: TC-07-01 View All Logs

Test Case Number TC-07-01 View All Logs

Test Item This test verifies that Administrators and House Managers can view the logs of lock access.

Test Priority W (Want to Have)

Pre-conditions Tester must be ● logged into an Administrator account for the first part and

a House Manager account for the second● in the LOGS tab

Post-conditions The system should display the logs to the user.

Input Specifications None.

Expected Output Specifications

The system should display the logs to the user.

Pass/Fail Criteria Pass Criteria: From both an Administrator and a House Manager account, the user can view the logs of lock access.Fail Criteria: The user cannot see the log files.

xxivTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Assumptions and Constraints Functional Administrator and House Manager accounts exist in the system.

Dependencies None

Traceability WC_4456

Table 21: TC-07-02 Filter Log Files

Test Case Number TC-07-02 Filter Log Files

Test Item This test verifies that an Administrator or House Manager can filter the log files according to date, lock, user, etc.

Test Priority W (Want to Have)

Pre-conditions Tester must be ● logged into an Administrator level account for the first

part and a House Manager account for the second● in the LOGS tab

Post-conditions The system will display the filtered log files.

Input Specifications ● Select the User, Lock, and/or dates by which to filter the logs

● Click “Search”

Expected Output Specifications

The system should display the log files, filtered correctly according to the input criteria.

Pass/Fail Criteria Pass Criteria: The system shows the log files, filtered correctly according to the input criteria.Fail Criteria: The system does not correctly filter the log files or does not show the correctly filtered log files.

Assumptions and Constraints Functional Administrator and House Manager accounts exist within the system.

Dependencies TC-07-01

Traceability WC_4456

3.8 TC-08 View Device Status TC-08 View Device Status

3.8.1 Test LevelIntegration Testing

xxvTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.8.2 Test ClassCapability Testing

3.8.3 Test Completion CriteriaThe test will be considered complete when:

● Administrators and House Managers can accurately view statuses of locks and hubs● House Staff can accurately view the statuses of locks assigned to them

3.8.4 Test CasesTable 22: TC-08-01 View Lock Status

Test Case Number TC-08-01 View Lock Status

Test Item This test verifies that Administrators, House Managers, and House Staff can view the status of locks, including name, codes, locked/unlocked, etc. Administrators should be able to view all locks assigned to them and to their House Managers and House Staff; House Managers should be able to view locks assigned to them and to their House Staff; House Staff should be able to view all locks assigned to them.

Test Priority W (Want to Have)

Pre-conditions Tester must be ● logged into an Administrator account for the first part and

a House Manager account for the second● in the LOCKS tab

Post-conditions System should display the status(es) of the lock(s) associated with the selected hub to the user

Input Specifications ● Select a hub● Click “Get Slots”

Expected Output Specifications

System should accurately display the current status(es) of the lock(s) associated with the selected hub to the user.

Pass/Fail Criteria Pass Criteria: From both an Administrator and a House Manager account, the user can view the status(es) of the lock(s) associated with any given hub.Fail Criteria: The user cannot see the status(es) of the lock(s) associated with any given hub.

Assumptions and Constraints Functional Administrator and House Manager accounts exist in the system. At least one lock exists in the system.

xxviTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Dependencies None

Traceability WC_4512, WC_4519

Table 23: TC-08-02 View Hub Status

Test Case Number TC-08-02 View Hub Status

Test Item This test verifies that Administrators and House Managers can view the status of hubs, including active/inactive, name, locks assigned to it, etc.

Test Priority W (Want to Have)

Pre-conditions Tester must be ● logged into an Administrator account for the first part and

a House Manager account for the second. ● in the HUBS tab

Post-conditions The system should display the status of the selected hub to the user.

Input Specifications ● Select a hub● Click “Get Locks”

Expected Output Specifications

The system should display the current status of the selected hub (as defined above) to the user.

Pass/Fail Criteria Pass Criteria: From both an Administrator and a House Manager account, the user can view the status of any given hub.Fail Criteria: The user cannot accurately view the status of the chosen hub.

Assumptions and Constraints Functional Administrator and House Manager accounts exist in the system. At least one hub exists in the system.

Dependencies None

Traceability WC_4519

3.9 TC-09 Manage SmartThings Account TC-09 Manage SmartThings Account

3.9.1 Test LevelIntegration Testing

xxviiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.9.2 Test ClassCapability Testing and Erroneous Input Testing

3.9.3 Test Completion CriteriaThe test suite will be considered complete when:

● Administrators and Maintainers can ○ update the ClientID and ClientSecret of the SmartThings account associated with

the system○ access SmartThings account

3.9.4 Test CasesTable 24: TC-09-01 Update SmartThings Account Information with Valid Input

Test Case Number TC-09-01 Update SmartThings Account Information with Valid Input

Test Item This test verifies that 1) Administrators can update the ClientID and ClientSecret

of the SmartThings account associated with the system.2) Maintainers can update the ClientID and ClientSecret of

the SmartThings account associated with the system.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a Maintainer account for the second part

● in the SMARTTHINGS tab

Post-conditions The database and the system should be updated with the input information.

Input Specifications ● Fill in one or both of the ClientID and ClientSecret fields with correctly formatted input

● Click “Update Settings”

Expected Output Specifications

System should display a “Success: Setting updated.” message and refresh the page, displaying the updated information.

Pass/Fail Criteria Pass Criteria: ● Database and system updated correctly● Success message displayed to the user

Fail Criteria: ● Database and system updated incorrectly or not updated

Assumptions and Constraints Functional Administrator and Maintainer accounts exists in the system and the user has a SmartThings account.

xxviiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Dependencies None

Traceability WC_4612, WC_4614

Table 25: TC-09-02 Update SmartThings Account Information with Invalid Input

Test Case Number TC-09-02 Update SmartThings Account Information with Invalid Input

Test Item This test verifies that 1) Administrators can update the ClientID and ClientSecret

of the SmartThings account associated with the system.2) Maintainers can update the ClientID and ClientSecret of

the SmartThings account associated with the system.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a Maintainer account for the second part

● in the SMARTTHINGS tab

Post-conditions The database and the system should not change.

Input Specifications ● Fill in at least one of the ClientID and ClientSecret fields with an incorrectly formatted input

● Click “Update Settings”

Expected Output Specifications

System should display appropriate error messages.

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or incorrect error messages displayed to user

Assumptions and Constraints Functional Administrator and Maintainer accounts exists in the system and the user has a SmartThings account.

Dependencies None

Traceability WC_4612, WC_4614

Table 26: TC-09-03 Log in to SmartThings Account

Test Case Number TC-09-03 Log in to SmartThings Account

xxixTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Test Item This test verifies that 1) Administrators can update the ClientID and ClientSecret

of the SmartThings account associated with the system.2) Maintainers can update the ClientID and ClientSecret of

the SmartThings account associated with the system.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a Maintainer account for the second part

● in the SMARTTHINGS tab

Post-conditions The database should be updated with the updated information gathered from the SmartThings account.

Input Specifications ● Click “Log in to SmartThings”● Select any of the available options in the “From:” field● Select which devices you want to authorize the system to

access● Click on “Authorize”

Expected Output Specifications

System should redirect to the SmartThings website after the user clicks on “Log in to SmartThings”. After correctly filling out the required fields and clicking on “Authorize”, the system should redirect back to the Smart Locks Control website.

Pass/Fail Criteria Pass Criteria: ● Database and system correctly updated with hub and lock

information from the SmartThings platformFail Criteria:

● Database and system not updated or updated incorrectly with regard to the hub and lock information from the SmartThings platform

Assumptions and Constraints Functional Administrator and Maintainer accounts exists in the system and the user has a SmartThings account.

Dependencies None

Traceability WC_4612, WC_4614

3.10 TC-10 View Code Status TC-10 View Code Status

3.10.1 Test LevelIntegration Testing

xxxTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.10.2 Test ClassCapability Testing and Erroneous Input Testing

3.10.3 Test Completion CriteriaThis test suite will be considered complete when:

● Users can ○ view the status of codes for locks assigned to them and lower-level accounts

associated with theirs ● The system

○ prevents changes of codes given incorrectly formatted inputs ○ displays the status of the codes

● Lower-level defined as:○ House Managers and House Staff for Administrators○ House Staff for House Managers

● Correctly formatted new code defined as:○ 4-digit number

● Code statuses are defined as:○ Active if the code displayed can be used to unlock the assigned lock○ Inactive if the code displayed can no longer be used to unlock the assigned lock○ Pending if the code displayed is in the process of becoming Active

3.10.4 Test CasesTable 27: TC-10-01 View Active Codes

Test Case Number TC-10-01 View Active Codes

Test Item This test verifies 1) An Administrator can view the status of codes for a lock

slot assigned to himself or to a House Manager or House Staff user

2) A House Manager can view the status of codes for a lock slot assigned to himself or to his House Staff users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second part

● in the LOCKS tab

xxxiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Post-conditions User should ● be able to use the Active code to manipulate the

associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in New Code field(s) of the selected slot(s) with a

valid input according to the specifications● Click “Update Slots”

Expected Output Specifications

System should display a “Success: Slot updated.” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User can manipulate associated lock with Active code

Fail Criteria: ● User cannot manipulate associated lock with Active code

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies TC-04, TC-05

Traceability WC_4602

Table 28: TC-10-02 View Inactive Codes

Test Case Number TC-10-02 View Inactive Codes

Test Item This test verifies 1) An Administrator can view the status of codes for a lock

slot assigned to himself or to a House Manager or House Staff user

2) A House Manager can view the status of codes for a lock slot assigned to himself or to his House Staff users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second part

● in the LOCKS tab

Post-conditions User should ● not be able to use the Inactive code to manipulate the

associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot

xxxiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

● Fill in New Code field(s) of the selected slot(s) with a valid input according to the specifications

● Click “Update Slots”

Expected Output Specifications

System should display a “Success: Slot updated.” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User cannot manipulate associated lock with Inactive

codeFail Criteria:

● User can manipulate associated lock with Inactive code

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies TC-04, TC-05

Traceability WC_4602

Table 29: TC-10-03 View Pending Codes

Test Case Number TC-10-03 View Pending Codes

Test Item This test verifies 1) An Administrator can view the status of codes for a lock

slot assigned to himself or to a House Manager or House Staff user

2) A House Manager can view the status of codes for a lock slot assigned to himself or to his House Staff users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second part

● in the LOCKS tab

Post-conditions User should ● not be able to use the Pending code to manipulate the

associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in New Code field(s) of the selected slot(s) with a

valid input according to the specifications● Click “Update Slots”

xxxiiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Expected Output Specifications

System should display a “Success: Slot updated.” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User cannot manipulate associated lock with Pending

codeFail Criteria:

● User can manipulate associated lock with Pending code

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies TC-04, TC-05

Traceability WC_4602

3.11 TC-11 Reset Administrator Password TC-11 Reset Administrator Password

3.11.1 Test LevelIntegration Testing

3.11.2 Test ClassCapability Testing

3.11.3 Test Completion CriteriaThe test suite will be considered complete when:

● Administrators can ○ reset their password○ log in with the new password

● Correct format defined as:○ Name and Username:

■ alphanumeric chars■ minimum length 6

○ Password:■ at least one uppercase letter, one lowercase letter, and one numeric digit■ minimum length 6

xxxivTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.11.4 Test CasesTable 30: TC-11-01 Reset Administrator Password with Valid Input

Test Case Number TC-11-01 Reset Administrator Password with Valid Input

Test Item This test verifies that Administrators can reset their password and log in with the new password.

Test Priority M (Must Have)

Pre-conditions Tester must be ● in the log in screen

Post-conditions The database and the system should be updated with the input information.

Input Specifications ● Fill in both of the Administrator username and Administrator password fields with correctly formatted input

● Click “Reset Password”

Expected Output Specifications

System should display a “Success: Password reset.” message and refresh the page.

Pass/Fail Criteria Pass Criteria: ● Database and system updated correctly● Success message displayed to the user

Fail Criteria: ● Database and system updated incorrectly or not updated

Assumptions and Constraints A functional Administrator account exists in the system.

Dependencies None

Traceability WC_4604

Table 31: TC-11-02 Reset Administrator Password with Invalid Input

Test Case Number TC-11-02 Reset Administrator Password with Invalid Input

Test Item This test verifies that Administrators can reset their password and log in with the new password.

Test Priority M (Must Have)

Pre-conditions Tester must be ● in the log in screen

Post-conditions The database and the system should not change.

Input Specifications ● Fill in both of the Administrator username and Administrator password fields with incorrectly formatted

xxxvTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

input● Click “Reset Password”

Expected Output Specifications

The system should display appropriate error messages and remain on the same page.

Pass/Fail Criteria Pass Criteria: ● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or incorrect error messages displayed to user

Assumptions and Constraints A functional Administrator account exists in the system.

Dependencies None

Traceability WC_4604

Table 32: TC-11-03 Log in to Smart Locks Control Website with New Password

Test Case Number TC-11-03 Log in to Smart Locks Control Website with New Password

Test Item This test verifies that Administrators can successfully log in to the system with a newly reset password.

Test Priority M (Must Have)

Pre-conditions Tester must ● be in the log in screen● have an Administrator account with a newly reset

password

Post-conditions The tester will be logged in to the Smart Locks Control website

Input Specifications ● Fill in the Administrator username in the correct field● Fill in the newly created Administrator password in the

correct field● Click on “Log in”

Expected Output Specifications

After correctly filling out the required fields and clicking on “Log in”, the system should redirect to the Smart Locks Control website starting page.

Pass/Fail Criteria Pass Criteria: ● Database and system correctly updated new password

informationFail Criteria:

● Database and system not updated or updated incorrectly with regard to the new password information

xxxviTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Assumptions and Constraints A functional Administrator account exists in the system

Dependencies None

Traceability WC_4604

3.12 TC-12 Enable Two Factor Authentication TC-12 Enable Two Factor Authentication

3.12.1 Test LevelIntegration Testing

3.12.2 Test ClassCapability Testing

3.12.3 Test Completion CriteriaThe test suite will be considered complete when:

● Administrators can ○ enable two factor authentication when adding a new user

3.12.4 Test CasesTable 33: TC-12-01 Enable Two Factor Authentication in Settings

Test Case Number TC-12-01 Enable Two Factor Authentication in Settings

Test Item This test verifies that Administrators can enable two factor authentication when adding new users.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system ● in the SMARTTHINGS tab

Post-conditions The database and the system should be updated with the input information.

Input Specifications ● Enable two factor authentication● Click “Update Settings”

Expected Output System should display a “Success: Setting updated.” message and

xxxviiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Specifications refresh the page, displaying the updated information.

Pass/Fail Criteria Pass Criteria: ● Database and system updated correctly● Success message displayed to the user

Fail Criteria: ● Database and system updated incorrectly or not updated

Assumptions and Constraints A functional Administrator and account exists in the system and the user has a SmartThings account.

Dependencies None

Traceability WC_4609

Table 34: TC-12-02 Create New User with Two Factor Authentication

Test Case Number TC-12-02 Create New User with Two Factor Authentication

Test Item This test verifies that Administrators can add new users using two factor authentication.

Test Priority S (Should Have)

Pre-conditions Tester must be ● logged in to an Administrator account● in the USERS tab

Post-conditions A new account exists in the system with the specified attributes.

Input Specifications ● Click “Add New User”● Fill in the Name, Username, and Password fields with

valid inputs according to the specifications and select a Role

● Click “Add User”

Expected Output Specifications

System should display a “Success: User added with two factor authentication.” message and reload the USERS page, showing the updated information.

Pass/Fail Criteria Pass Criteria: ● Database and system correctly updated

Fail Criteria: ● Database and system incorrectly updated or not updated

Assumptions and Constraints A functional Administrator level account exists on our system.

Dependencies TC-01, TC-12-01

Traceability WC_4609

xxxviiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Table 35: TC-12-03 Log in to Smart Locks Control with Two Factor Authentication

Test Case Number TC-12-03 Log in to Smart Locks Control with Two Factor Authentication

Test Item This test verifies that users can log in to the website with two factor authentication.

Test Priority S (Should Have)

Pre-conditions Tester must be ● in the log in screen

Post-conditions The user should be logged in to the Smart Locks Control website

Input Specifications ● Input username and password● Input two factor authentication● Click “Log in”

Expected Output Specifications

System should verify the username, password, and two factor authentication. After correctly filling out the required fields and clicking on “Log in”, the system should redirect to the Smart Locks Control website.

Pass/Fail Criteria Pass Criteria: ● User is logged in to the Smart Locks Control website

Fail Criteria: ● User cannot log in to the Smart Locks Control website

Assumptions and Constraints A functional account exists in the system with two factor authentication.

Dependencies TC-01, TC-12-01, TC-12-02

Traceability WC_4609

3.13 TC-13 Unique Codes for Users TC-13 Unique Codes for Users

3.13.1 Test LevelIntegration Testing

3.13.2 Test ClassCapability Testing

xxxixTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.13.3 Test Completion CriteriaThis test suite will be considered complete when:

● Users can ○ add and change the codes of locks assigned to them and lower-level accounts

associated with theirs given the code is not used by any other user● The system

○ prevents additions and changes of codes given the code is used by another user ○ displays error messages making the problem clear to the user

● Lower-level defined as:○ House Managers and House Staff for Administrators○ House Staff for House Managers

● Correctly formatted new code defined as:○ 4-digit number

3.13.4 Test CasesTable 36: TC-13-01 Assign Unique Code

Test Case Number TC-13-01 Assign Unique Code

Test Item This test verifies 1) An Administrator can add or change the code of a lock

slot assigned to himself or to a House Manager or House Staff user, given the code is not used by other users

2) A House Manager can add or change the code of a lock slot assigned to himself or to his House Staff users, given the code is not used by other users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second part

● in the LOCKS tab

Post-conditions User should ● be able to use the new code to manipulate the associated

lock● no longer be able to use the former code to manipulate

the associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in New Code field(s) of the selected slot(s) with a

unique and valid input according to the specifications● Click “Update Slots”

xlTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Expected Output Specifications

System should display a “Success: Slot updated.” message and reload the page, showing the updated information

Pass/Fail Criteria Pass Criteria: ● User can manipulate associated lock with new code● User cannot manipulate associated lock with former code

Fail Criteria: ● User cannot manipulate associated lock with new code● User can still manipulate associated lock with former

code

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies TC-04, TC-05

Traceability WC_4603

Table 37: TC-13-02 Assign Repeated Code

Test Case Number TC-13-02 Assign Repeated Code

Test Item This test verifies 1) An Administrator cannot add or change the code of a lock

slot assigned to himself or to a House Manager or House Staff user, given the code is used by other users

2) A House Manager cannot add or change the code of a lock slot assigned to himself or to his House Staff users, given the code is used by other users

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator level account on our system

for the first part and a House Manager account for the second part

● in the LOCKS tab

Post-conditions User should ● not be able to use the new code to manipulate the

associated lock

Input Specifications ● Select a hub and click “Get Slots”● Select at least one slot● Fill in the New Code field of at least one of the selected

slot(s) with a code that is currently assigned to another user

● Click “Update Slots”

xliTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Expected Output Specifications

The system should display appropriate error messages and remain on the same page.

Pass/Fail Criteria Pass Criteria:● No change to the database or system● Appropriate error messages displayed to user

Fail Criteria: ● Any change to the database or system● No or inaccurate error messages displayed to user

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system. The House Manager and House Staff accounts each have at least one existing code slot assigned to them.

Dependencies TC-04, TC-05

Traceability WC_4603

3.14 TC-14 Security Token TC-14 Security Token

3.14.1 Test LevelIntegration Testing

3.14.2 Test ClassCapability Testing

3.14.3 Test Completion CriteriaThis test suite will be considered complete when Administrators:

● Can generate a security token during log in● Are the only user type who can access everything

3.14.4 Test CasesTable 38: TC-14-01 Verify Administrator Access

Test Case Number TC-14-01 Verify Administrator Access

Test Item This test verifies that Administrators can access any part of the

xliiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Smart Locks Control website.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into an Administrator account

Post-conditions The system and the database should be updated with the generated security token.

Input Specifications None.

Expected Output Specifications

The system should display access to the locks, hubs, logs, users, profile, and settings.

Pass/Fail Criteria Pass Criteria: From an Administrator account, the user can view the

locks, hubs, logs, users, profile, and settings.Fail Criteria:

The user cannot see the locks, hubs, logs, users, profile, and settings.

Assumptions and Constraints A functional Administrator account exists in the system.

Dependencies None

Traceability WC_4605

Table 39: TC-14-02 Verify House Manager Access

Test Case Number TC-14-02 Verify House Manager Access

Test Item This test verifies that House Managers can access any part of the Smart Locks Control website except the settings.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into a House Manager account

Post-conditions The system and the database should be updated with the generated security token.

Input Specifications None.

Expected Output Specifications

The system should display access to the locks, hubs, logs, users, and profile.

Pass/Fail Criteria Pass Criteria: From a House Manager account, the user can view the

locks, hubs, logs, users, and profile.Fail Criteria:

xliiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

The user cannot see the locks, hubs, logs, users, and profile.

The user can see the settings.

Assumptions and Constraints A functional House Manager account exists in the system.

Dependencies None

Traceability WC_4605

Table 40: TC-14-03 Verify House Staff Access

Test Case Number TC-14-03 Verify House Staff Access

Test Item This test verifies that House Staff can only access the locks and profile pages of the Smart Locks Control website.

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into a House Staff account

Post-conditions The system and the database should be updated with the generated security token.

Input Specifications None.

Expected Output Specifications

The system should display access to the locks and profile.

Pass/Fail Criteria Pass Criteria: From a House Staff account, the user can view the locks

and profile.Fail Criteria:

The user cannot see the locks and profile. The user can see the hubs, logs, users, and settings.

Assumptions and Constraints A functional Administrator account exists in the system.

Dependencies None

Traceability WC_4605

Table 41: TC-14-04 Verify Maintainer Access

Test Case Number TC-14-04 Verify Maintainer Access

Test Item This test verifies that Maintainers can only access the profile and settings page of the Smart Locks Control website.

xlivTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

Test Priority M (Must Have)

Pre-conditions Tester must be ● logged into a Maintainer account

Post-conditions The system and the database should be updated with the generated security token.

Input Specifications None.

Expected Output Specifications

The system should display access to the profile and settings.

Pass/Fail Criteria Pass Criteria: From a Maintainer account, the user can view the profile

and settings.Fail Criteria:

The user cannot see the profile and settings. The user can see the locks, hubs, logs, and users.

Assumptions and Constraints A functional Maintainer account exists in the system.

Dependencies None

Traceability WC_4605

3.15 TC-15 Notify on User Locked OutTC-15 Notify on User Locked Out

3.15.1 Test LevelIntegration Testing

3.15.2 Test ClassCapability Testing and Erroneous Input Testing

3.15.3 Test Completion CriteriaThis test suite will be considered complete when:

● The system ○ prevents an incorrect code from manipulating the lock○ emails the Administrator and House Manager when a lock has reached its

maximum number of unlock attempts

xlvTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.15.4 Test CasesTable 42: TC-15-01 Notify on User Locked Out

Test Case Number TC-15-01 Notify on User Locked Out

Test Item This test verifies that Administrator and House Manager accounts will receive email notifications when a lock has reached its maximum number of unlock attempts.

Test Priority S (Should Have)

Pre-conditions Tester must be ● able to physically manipulate the lock

Post-conditions Tester should not be able to open the lock. Administrators and House Managers of the lock should receive an email notification.

Input Specifications ● Input a code that is not the Active code● Repeat until lock is not responsive and the user has been

locked out

Expected Output Specifications

System should generate and send an email notification to the Administrators and House Managers of the lock, notifying them that the lock has reached its maximum number of unlock attempts.

Pass/Fail Criteria Pass Criteria: The Administrators and House Managers receive an email notification when the user is locked out.Fail Criteria: The Administrators and House Managers do not receive an email notification when the user is locked out.

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system.

Dependencies None

Traceability WC_4610

3.16 TC-16 Notify on Open LockTC-16 Notify on Open Lock

3.16.1 Test LevelIntegration Testing

3.16.2 Test ClassCapability Testing

xlviTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

3.16.3 Test Completion CriteriaThis test suite will be considered complete when the system emails the Administrator and House Manager when a lock has been left open.

3.16.4 Test CasesTable 43: TC-16-01 Notify on Open Lock

Test Case Number TC-16-01 Notify on Open Lock

Test Item This test verifies that Administrator and House Manager accounts will receive email notifications when a lock has been left open.

Test Priority S (Should Have)

Pre-conditions Tester must be ● able to physically manipulate the lock

Post-conditions The lock should be left open. Administrators and House Managers of the lock should receive an email notification.

Input Specifications ● Unlock the lock and leave it unlocked

Expected Output Specifications

System should generate and send an email notification to the Administrators and House Managers of the lock, notifying them that the lock has been left open.

Pass/Fail Criteria Pass Criteria: The Administrators and House Managers receive an email notification when the lock is left open.Fail Criteria: The Administrators and House Managers do not receive an email notification when the lock is left open.

Assumptions and Constraints Functional Administrator, House Manager, and House Staff accounts exist within the system. At least one lock exists within the system.

Dependencies None

Traceability WC_4611

4. Resources and scheduleThroughout development, the developers use unit tests to ensure that each section of their code behaves as expected and desired. Once they have successfully completed all unit testing, the testers will perform integration, verification, and validation testing and log all bugs, which the developers will then address.

xlviiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

4.1 ResourcesTest data set:

● User accounts → random usernames and passwords combined with each access level.

● Locks → random codes, various numbers of code slots assigned to different users

Software: The tester only needs a device with a browser that can connect to the Internet. Ideally the system should be tested on as many different devices and browsers as possible to ensure compatibility across as many platforms as possible.

Budget: Since the testers already own Internet-capable devices with browsers, we do not need to spend additional money on testing.

4.2 Staffing and Training NeedsThe developers are responsible for creating and running unit tests throughout the development process. All of the team members contribute to integration testing by periodically independently running integration tests and notifying the relevant development team of the bugs found. During our team meetings, we also run integration tests as a team and discuss possible improvements to the system.The client is responsible for performing acceptance testing and providing feedback on whether or not the system satisfies his needs.The developers are responsible for producing the software to be tested, while the client is responsible for providing the server and the necessary hardware.No training is required for the testing, as we all have experience with using web applications.

4.3 ScheduleTable 44: Testing Schedule

Date Test Identifier Responsible person Resources Training needs

11/18/17 TC-01 to TC-09 Katarzyna RuszowskaDevice with browser and

access to Internetn/a

11/21/17 TC-01 to TC-09 Mohammadreza Barazesh

Device with browser and

n/a

xlviiiTPC_RDCP_S17b_T05_V3.0 Version Date:

Test Plan and Cases (TPC) Version 3.0

access to Internet

11/25/17 TC-01 to TC-09 Katarzyna RuszowskaDevice with browser and

access to Internetn/a

11/28/17 TC-01 to TC-09 Mohammadreza Barazesh

Device with browser and

access to Internetn/a

12/2/17 TC-01 to TC-09 Katarzyna RuszowskaDevice with browser and

access to Internetn/a

2/2/18 TC-01 to TC-10, and TC-13 Terrence Williams

Device with browser and

access to Internetn/a

3/9/18 TC-01 to TC-13 Nicholas KwongDevice with browser and

access to Internetn/a

3/16/18 TC-01 to TC-16 Terrence WilliamsDevice with browser and

access to Internetn/a

3/30/18 TC-01 to TC-16 William GoishiDevice with browser and

access to Internetn/a

4/6/18 TC-01 to TC-16 Terrence WilliamsDevice with browser and

access to Internetn/a

xlixTPC_RDCP_S17b_T05_V3.0 Version Date: