Test Plan and Cases (TPC)Version 1.0 Version no 1.00

I.Test Plan and Cases (TPC)

Smart Locks Control

Team 05

Team members / Roles
Vaibhav Vishal / Project Manager, Life Cycle Planner
Dan Barazesh / Software Architect, Feasibility Analyst, Developer
Alejandro Monroy / NDI/NCS Acquirer & Evaluator, Tester, Developer
Hao-Yun Yang / Requirements Engineer, UML Modeler, Developer
Katarzyna Ruszowska / UML Modeler, Quality Focal Point, Developer
Zhe Wang / Prototyper, Operational Concept Engineer, Developer
Diego Brandao / IIV&V, Software Architect, Developer

10/15/2017

II.Version History

Date / Author / Version / Changes made / Rationale
10/15/17 / KR / 1.0 / ●Initial Release / ●Released for DCR

III.Table of Contents

TEST PLAN AND CASES (TPC)I

VERSION HISTORYII

TABLE OF CONTENTSIII

TABLE OF TABLESIV

TABLE OF FIGURESV

1.7

2.8

2.18

2.28

2.38

2.49

3.9

3.19

3.21

3.315

3.4 TC-04: Add Code16

3.5TC-05: Edit Code17

3.6TC-06: Delete Code18

3.7TC-07: Group Locks19

3.8TC-08: View Logs22

3.9TC-09: View Device Status23

3.10TC-10: View Lock Identifier and Code25

4.26

4.126

4.226

4.326

1

TPC_DCP_F17a_T05_V1.0Version Date: 10/15/17

Test Plan and Cases (TPC)Version 1.0 Version no 1.00

IV.Table of Tables

Table 1: Hardware Preparation8

Table 2: Software Preparation8

Table 3: Requirements Traceability Matrix9

Table 4: TC-01-01 Create New User from Higher-Level Account10

Table 5: TC-01-02 Log in and Test Functionality with New User Account10

Table 6: TC-02-01 Change Username13

Table 7: TC-02-02 Change Password13

Table 8: TC-02-03 Change Account Name14

Table 9: TC-03-01 Delete User from Higher-Level Account15

Table 10: TC-04-01 Add Code16

Table 11: TC-05-01 Edit Code17

Table 12: TC-06-01 Delete Code19

Table 13: TC-07-01 Create Lock Group20

Table 14: TC-07-02 Add Lock to Group21

Table 15: TC-07-03 Delete Lock from Group21

Table 16: TC-08-01 View All Logs22

Table 17: TC-08-02 Filter Log Files23

Table 18: TC-09-01 View Lock Status24

Table 19: TC-09-02 View Hub Status25

Table 20: TC-10-01 View Lock Identifier and Code26

1

TPC_DCP_F17a_T05_V1.0Version Date: 10/15/17

Test Plan and Cases (TPC)Version 1.0 Version no 1.00

1

TPC_DCP_F17a_T05_V1.0Version Date: 10/15/17

Test Plan and Cases (TPC)Version 1.0 Version no 1.00

1.Introduction

This 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. Finally, we test the system to ensure it stays true to the specifications and the needs of the client.

2.Test Strategy and Preparation

We 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.

a)Hardware preparation

Table 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.
b)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.
c)Other pre-test preparations

No additional pre-test preparations.

d)Requirements Traceability

Table 3: Requirements Traceability Matrix

Requirement ID / Verification Type / Test Case ID (if applicable)
OC-1: Lock Management / Testing / TC-04-01, TC-04-02, TC-05-01, TC-06-01, TC-07-01, TC-07-02, TC-08-01, TC-08-02
OC-2: User Control / Testing / TC-01-01, TC-01-02, TC-02-01, TC-02-02, TC-02-03, TC-03-01, TC-03-02
OC-3: Device Status / Testing / TC-09-01, TC-09-02, TC-10-01

3.Test Identification

a)Test Identifier

TC-01 Add User

(1)Test Level

Integration Testing

(2)Test Class

Capability Testing

(3)Test Completion Criteria

The test suite will be considered complete when:

●A user can create a lower-level account.

●A user can log into the newly created account and successfully use all of the functions available to that level of account according to the specification.

●Lower-level account defined as:

○House Manager, House Staff for Administrator

○House Staff for House Manager

(4)Test Cases

Table 4: TC-01-01 Create New User From Higher-Level Account

Test Case Number / TC-01-01 Create New User From Higher-Level Account
Test Item / This test verifies that 1) An Administrator can create a new House Manager or House Staff account; 2) A House Manager can create a new House Staff account.
Test Priority / M (Must Have)
Pre-conditions / The tester must be logged into an Administrator level account on our system.
Post-conditions / After entering the required information and clicking “Create Account”, the system should display an “account successfully created” message.
Input Specifications / Account name, name, password, user access level for the new accounts.
Expected Output Specifications / The system should generate and display a “account successfully created” message for each newly created account.
Pass/Fail Criteria / Pass Criteria: A success message displayed on the web application after the tester clicks “Create Account”
Fail Criteria: A failure message displayed on the web application after the tester clicks “Create Account”
Assumptions and Constraints / A functional Administrator level account exists on our system.
Dependencies / None
Traceability / WC_4577, WC_4517

Table 5: TC-01-02 Log in and Test Functionality with New User Account

Test Case Number / TC-01-01 Log in and Test Functionality with New User Account
Test Item / This test verifies that the newly created accounts from TC-01-01 exist in our system and have full functionality.
Test Priority / M (Must Have)
Pre-conditions / The tester must have created new accounts from a higher-level account, as specified in TC-01-01..
Post-conditions / The newly created accounts should exist in our system.
Input Specifications / The tester must log into our system with the usernames and passwords given to the new accounts in the previous test.
Expected Output Specifications / After login, the system should display the correct dashboard for the access level defined for that account.
Pass/Fail Criteria / Pass Criteria: For each account created in TC-01-01, the user should be able to sign in with the account name and password chosen and be able to perform all of the functions that should be available to an account of the access level granted according to the specification.
Fail Criteria: The tester cannot login with the chosen account name and password or after login, the functionalities present do not match the access level granted.
Assumptions and Constraints / The tester has the account names and passwords for the accounts created in TC-01-01.
Dependencies / TC-01-01
Traceability / WC_4577, WC_4517
b)Test Identifier

TC-02 Edit User

(1)Test Level

Integration Testing.

(2)Test Class

Capability Testing.

(3)Test Completion Criteria

The test suite will be considered complete when:

●The user can sign into the modified account with the new account name and password chosen.

●The username displayed on the dashboard matches the new username chosen.

●The user can no longer sign into the modified account with the old account name and password.

(4)Test Cases

Table 6: TC-02-01 Change Username

Test Case Number / TC-02-01 Change Username
Test Item / This test verifies that 1) An Administrator can change the username of a House Manager or House Staff account; 2) A House Manager can change the username of a House Staff account.
Test Priority / S (Should Have)
Pre-conditions / The tester must be logged into an Administrator account for the first part of the test and a House Manager account for the second part.
Post-conditions / The desired new username should replace all occurrences of the former username in the database and on the user interface.
Input Specifications / Desired new username.
Expected Output Specifications / The system should display a “user successfully updated” message.
Pass/Fail Criteria / Pass Criteria: The desired new username should have completely replaced the former username within the system.
Fail Criteria: The username has not changed within the system or has changed to something other than the input new username.
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 Password

Test Case Number / TC-02-02 Change Password
Test Item / This test verifies that 1) An Administrator can change the password of a House Manager or House Staff account; 2) A House Manager can change the password of a House Staff account.
Test Priority / S (Should Have)
Pre-conditions / The tester must be logged into an Administrator account for the first part of the test and a House Manager account for the second part.
Post-conditions / The user of the modified account should be able to log in using the desired new password and the former password should no longer work.
Input Specifications / Desired new password.
Expected Output Specifications / The system should display a “user successfully updated” message.
Pass/Fail Criteria / Pass Criteria: The user of the modified account should be able to log in using the new password and the former password should no longer work.
Fail Criteria: The user cannot log in using the new password or the 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 8: TC-02-03 Change Account Name

Test Case Number / TC-02-03 Change Account Name
Test Item / This test verifies that 1) An Administrator can change the account name of a House Manager or House Staff account; 2) A House Manager can change the account name of a House Staff account.
Test Priority / S (Should Have)
Pre-conditions / The tester must be logged into an Administrator account for the first part of the test and a House Manager account for the second part.
Post-conditions / The user of the modified account should be able to log in using the desired new account name and the former account name should no longer work.
Input Specifications / Desired new account name.
Expected Output Specifications / The system should display a “user successfully updated” message.
Pass/Fail Criteria / Pass Criteria: The user of the modified account should be able to log in using the new account name and the former account name should no longer work.
Fail Criteria: The user cannot log in using the new account name or the former account name still works.
Assumptions and Constraints / Functional Administrator, House Manager, and House Staff accounts exist in the system.
Dependencies / None
Traceability / WC_4577, WC_4517
c)Test Identifier

TC-03 Delete User

(1)Test Level

Integration Testing

(2)Test Class

Capability Testing

(3)Test Completion Criteria

The test will be considered complete when:

●A user can delete a lower-level account.

●The user can no longer log into the deleted account.

●Lower-level account defined as:

○House Manager, House Staff for Administrator

○House Staff for House Manager

(4)Test Cases

Table 9: TC-03-01 Delete User From Higher-Level Account

Test Case Number / TC-03-01 Delete User From Higher-Level Account
Test Item / This test verifies that 1) An Administrator can delete a House Manager or House Staff account; 2) A House Manager can delete a House Staff account.
Test Priority / S (Should Have)
Pre-conditions / The tester must be logged into an Administrator level account on our system for the first part and a House Manager account for the second.
Post-conditions / The deleted account should no longer exist in the system.
Input Specifications / Account to delete.
Expected Output Specifications / The system should generate and display an “account successfully 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
d)Test Identifier

TC-04 Add Code

(1)Test Level

Integration Testing

(2)Test Class

Capability Testing

(3)Test Completion Criteria

The test will be considered complete when:

●The user can use the newly added code to manipulate the lock.

(4)Test Cases

Table 10: TC-04-01 Add Code

Test Case Number / TC-04-01 Add Code
Test Item / This test verifies that 1) an Administrator can add a new code slot and assign it to a House Manager or House Staff user; 2) a House Manager can add a new code slot and assign it to a House Staff user.
Test Priority / M (Must Have)
Pre-conditions / The tester must be logged into an Administrator level account on our system for the first part and a House Manager account for the second.
Post-conditions / The user should be able to use the added code to manipulate the associated lock.
Input Specifications / New code and user to assign the code slot to.
Expected Output Specifications / The system should generate and display a “code successfully added” message.
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 accounts exist within the system. At least one lock exists within the system.
Dependencies / None
Traceability / WC_4573, WC_4524, WC_4522
e)Test Identifier

TC-05 Edit Code

(1)Test Level

Integration Testing

(2)Test Class

Capability Testing

(3)Test Completion Criteria

The test will be considered complete when:

●The user can use the new code to manipulate the lock.

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

(4)Test Cases

Table 11: TC-05-01 Edit Code

Test Case Number / TC-05-01 Edit Code
Test Item / This test verifies that 1) an Administrator can change the code of a lock slot assigned to a House Manager or House Staff user; 2) a House Manager can change the code of a lock slot assigned to a House Staff user.
Test Priority / M (Must Have)
Pre-conditions / The tester must be logged into an Administrator level account on our system for the first part and a House Manager account for the second.
Post-conditions / The user should be able to use the new code to manipulate the associated lock. The user should no longer be able to use the former code to manipulate the associated lock.
Input Specifications / New code.
Expected Output Specifications / The system should generate and display a “code successfully updated” message.
Pass/Fail Criteria / Pass Criteria: The user can manipulate the associated lock with the new code. The user cannot manipulate the associated lock with the old code.
Fail Criteria: The user cannot manipulate the associated lock with the new code or the user can still manipulate the associated lock with the old 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
f)Test Identifier

TC-06 Delete Code

(1)Test Level

Integration Testing

(2)Test Class

Capability Testing

(3)Test Completion Criteria

The test will be considered complete when:

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

(4)Test Cases

Table 12: 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 a House Manager or House Staff user; 2) a House Manager can delete a code slot assigned to a House Staff user.
Test Priority / M (Must Have)
Pre-conditions / The tester must be logged into an Administrator level account on our system for the first part and a House Manager account for the second.
Post-conditions / The user should no longer be able to use the code from the deleted slot to manipulate the associated lock.
Input Specifications / Code slot to delete.
Expected Output Specifications / The system should generate and display a “code successfully deleted” message.
Pass/Fail Criteria / Pass Criteria: The user cannot manipulate the associated lock with the code from the deleted slot.
Fail Criteria: The user can still manipulate the associated lock with the code from the deleted slot.
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
g)Test Identifier

TC-07 Group Locks