Test Plan and Cases (TPC) V1.3 Version no x.xx

Test Plan and Cases (TPC)

Image Processing Platform

Team 04

Name / First Role / Second Role / Third Role
Hao Wu / Requirements Engineer / Software Architect / Implementer
Junran Liu / Operational Concept Engineer / Software Architect / Implementer, Trainer
Meiyi Yang / Project Manager / Life Cycle Plan / Implementer
Vinny DeGenova / IIV & V / Quality Focal Point / Implementer
Xiangchen Zhao / Life Cycle Plan / Prototyper / Implementer
Xinhui Liu / Feasibility Analyst / Operational Concept Engineer / Implementer, Tester
Yifan Liu / Prototyper / Requirements Engineer / Implementer

12/02/17

Version History

Date / Author / Version / Changes made / Rationale /
11/08/16 / xinhuiliu / 1.1 / ·  Original template / ·  Initial draft
11/14/16 / xinhuiliu / 1.2 / ·  Complete TPC / ·  Feedback from client
11/20/16 / xinhuiliu / 1.3 / ·  Revise / ·  Revised Document before submission

Table of Contents

Test Plan and Cases (TPC) i

Version History ii

Table of Contents iii

Table of Tables iv

Table of Figures vi

1. Introduction 7

2. Test Strategy and Preparation 8

2.1 Hardware preparation 8

2.2 Software preparation 8

2.3 Other pre-test preparations 8

2.4 Requirements Traceability 8

3. Test Identification 10

3.1 Test Identifier 10

3.2 Test Identifier 13

3.3 Test Identifier 18

3.4 Test Identifier 22

3.5 Test Identifier 25

4. Resources and schedule 30

4.1 Resources 30

4.2 Staffing and Training Needs 30

4.3 Schedule 30

12

TPC_TRR_F16a_T04_V1.3.doc Version Date: 11/20/16

Test Plan and Cases (TPC) Table of Contents

Table of Tables

Table 1: Requirements Traceability Matrix 8

Table 2: TC-01-01 Uploading Vast Training Images 11

Table 3: TC-01-02 Uploading Oversize Training Images 11

Table 4: TC-01-03 Uploading invalid Training Images 11

Table 5: TC-01-04 Uploading same name Training Images 12

Table 6: C-01-05 Uploading Process Interrupt 12

Table 7: TC-02-01 Sending training request from front end to the back end and starting training process. 14

Table 8: TC-02-02 Sending training request from front end to the back end and starting training process. 15

Table 9: TC-02-03 After training process is done, the front end should get training result 15

Table 10: TC-02-04: the user cannot train twice at the same time 16

Table 11: TC-02-05 if the user kills the web page while training is processing, the training process is still continuous. Reopen the page will lead to processing bar page 17

Table 12: TC-03-01 Test Model Without Uploading Image 19

Table 13: TC-03-02 Test Multiple Images at One Time 19

Table 14: TC-03-03 Test Image with Different Format 20

Table 15: TC-03-04 Test Image with Different Size 21

Table 16: TC-03-05 Test Image Which can’t be classified to One Topic in the Model 21

Table 17: TC-04-01 Error information for wrong format of input image 23

Table 18: TC-04-02 Check the output of the test part 23

Table 19: TC-04-03 Error information for only one class 24

Table 19: TC-04-04 Error information for small dataset 24

Table 20: TC-04-05 Check the output of the training part 25

Table 22: TC-05-01 Ubuntu14.04 & Use GPU 26

Table 23: TC-05-02 Check the output of the training part 27

Table 24: TC-05-03 Check the output of the training part 27

Table 25: TC-05-04 Check the output of the training part 28

Table 26: TC-05-05 Check the output of the training part 29

Table 27: Testing Schedule 30

12

TPC_TRR_F16a_T04_V1.3.doc Version Date: 11/20/16

Test Plan and Cases (TPC) Table of Contents

Table of Figures

Figure 1: <Figure Title> Error! Bookmark not defined.

12

TPC_TRR_F16a_T04_V1.3.doc Version Date: 11/20/16

Test Plan and Cases (TPC) V1.3

1.  Introduction

This document mainly focuses on describing test cases and the acceptance criteria from win-win conditions documented in winbook. Our team test the image processing platform from different levels, such as system testing, integration testing, unit levels and acceptance testing. The focus of this testing is functionality testing. Our team use white box testing to verify the Tensorflow algorithm and the Django Framework. We also use black box testing to verify various functionalities, such as image uploading, model retraining, and image recognition.

2.  Test Strategy and Preparation

We built a series of test cases including sunny and rainy day scenarios based on the key functionalities for our system. We referred to the requirements in the winbook and make sure every requirement was included in our system. We are planning to use manual testing methods to test the performance of image processing platform.

2.1  Hardware preparation

We will need a computer with GPU for testing the functionalities of our system. The computer is capable of running Apache and MySQL server. This computer will be used to host database for the system. We also need regular computer or laptops having internet access for testing the stability of AWS service.

2.2  Software preparation

We need Python language environment, Java 8.0, and Linux on a computer for running testing cases

2.3  Other pre-test preparations

We need to collect various kind of images for tester to test the accuracy of image classification.

2.4  Requirements Traceability

Table 1: Requirements Traceability Matrix

Requirement ID / Verification Type / Test Case ID (if applicable)
CR-1 Upload images / Testing / •  TC-01: Uploading training images
•  TC-01-01 Uploading Vast Training Images
•  TC-01-02 Uploading Oversize Training Images
•  TC-01-03 Uploading invalid Training Images
•  TC-01-04 Uploading same name Training Images
•  TC-01-05 Uploading Process Interrupt
CR-2 Train/Retrain Model / Testing / •  TC-02: Model Retraining
•  TC-02-02 After Sending training request to start the training process, turn to training process bar page.TC-01-04 Uploading same name Training Images
•  TC-02-03 After training process is done, the front end should get training result.
•  TC-02-04 The user can not train twice at the same time.
•  TC-02-05 If the user kills the web page while training is processing, the training process is still continuous. Reopen the page will lead to processing bar page.
CR-3 images recognition / Testing / •  TC-03: Testing trained model
•  TC-03-01 Test Model Without Uploading Image
•  TC-03-02 Test Multiple Images at One Time
•  TC-03-03 Test Image with Different Format
•  TC-03-04 Test Image with Different Size
•  TC-03-05 Test Image Which can’t be Classified to One Topic in the Model
CR-4 Preprocess images / Testing / •  TC-04 The integration of algorithm part
•  TC-04-01 Error information for wrong format of input image
•  TC-04-02 Check the output of the test part
•  TC-04-03 Error information for only one class
•  TC-04-04 Error information for small dataset
•  TC-04-05 Check the output of the training part
CR-5 run in different running Environment / Testing / •  TC-05: Testing on different Unix Based System
•  TC-05-01 Ubuntu14.04 & Use GPU
•  TC-05-02 Check the output of the training part
•  TC-05-03 Check the output of the training part
•  TC-05-04 Check the output of the training part
•  TC-05-05 Check the output of the training part

3.  Test Identification

3.1  Test Identifier

TC-01: Uploading training images

3.1.1  Test Level

Software Item Level

3.1.2  Test Class

Functionality Test

3.1.3  Test Completion Criteria

This test will be completed when:

•  All of the images user uploaded is saved in the server at appointed location.

•  All of the images user uploaded is stored in the database correctly.

•  Invalid files which are not image file format will be rejected.

•  Oversized Image file will be rejected to upload.

•  Each of the images will be distributed a unique file name.

3.1.4  Test Cases

•  TC-01-01 Uploading Vast Training Images

•  TC-01-02 Uploading Oversize Training Images

•  TC-01-03 Uploading invalid Training Images

•  TC-01-04 Uploading same name Training Images

•  TC-01-05 Uploading Process Interrupt

Table 2: TC-01-01 Uploading Vast Training Images

Test Case Number / TC-01-01 Check the ability of uploading massive images.
Test Item / Over 1000 images will be uploaded at same time
Test Priority / M
Pre-conditions / Topic name should be assigned beforehand.
Post-conditions / Store images into database
Input Specifications / Input files must to be proper image file and each of image files must under 10MB.
Expected Output Specifications / All of the images are saved in the server and database correspondingly.
Pass/Fail Criteria / No files are missed is pass, or fail.
Assumptions and Constraints / 1.  The test case only test system data receiving ability.
All of the images are appropriate(image size and format)
Dependencies / None
Traceability / WC_4109,WC_4040

Table 3: TC-01-02 Uploading Oversize Training Images

Test Case Number / TC-01-02 Check the ability of detecting oversize file.
Test Item / To test the system whether can filter too large image files and still upload the rest of proper image files
Test Priority / S
Pre-conditions / Topic name should be assigned beforehand.
Post-conditions / Store images into database
Input Specifications / Input files must to be proper image file and some of image files are over 10MB.
Expected Output Specifications / All of the images are saved in the server and database correspondingly.
Pass/Fail Criteria / System will detect oversize files prevent them to upload.
Assumption and Constraints / 1.  User can get notification from system when he/she uploaded large image file.
2.  Part of the images are appropriate(image size and format) and others are big image file.
Dependencies
Traceability / WC_4109,WC_4040

Table 4: TC-01-03 Uploading invalid Training Images

Test Case Number / TC-01-02 Check the ability of detecting invalid image file.
Test Item / To test the system whether can filter invalid image files and still upload the rest of proper image files
Test Priority / M
Pre-conditions / Topic name should be assigned beforehand.
Post-conditions / Store images into database
Input Specifications / Input files must to be proper image file and some of image files with invalid extensions.
Expected Output Specifications / All of the images are saved in the server and database correspondingly.
Pass/Fail Criteria / System will detect oversize files prevent them to upload.
Assumption and Constraints / 1.  User can get notification from system when he/she uploaded invalid image file.
2.  Part of the images are appropriate(image size and format) and others are invalid image file.
Dependencies
Traceability / WC_4109,WC_4040

Table 5: TC-01-04 Uploading same name Training Images

Test Case Number / TC-01-04 Rename the image files
Test Item / To test the system whether rename image files and prevent existing duplicate file name.
Test Priority / M
Pre-conditions / Topic name should be assigned beforehand.
Post-conditions / Store images into database
Input Specifications / Input files must to be proper image file and some of image files have same file name.
Expected Output Specifications / All of the images are saved in the server and database correspondingly and each of the image file have unique name.
Pass/Fail Criteria / Each of the image file has a unique file name.
Assumption and Constraints / 1.  Each image file received by server will be assigned a unique file name.
Dependencies
Traceability / WC_4109,WC_4040

Table 6: C-01-05 Uploading Process Interrupt

Test Case Number / TC-01-05 Uploading Process Interrupt
Test Item / To test the system whether can save image files partially before the uploading process is interrupt.
Test Priority / S
Pre-conditions / Topic name should be assigned beforehand.
Post-conditions / Store images into database
Input Specifications / Input files must to be proper image file. A simulative network disconnection is activated randomly.
Expected Output Specifications / Part of images are saved in the server and database correspondingly. Every image saved in server is unbroken
Pass/Fail Criteria / Every image saved in server is unbroken
Assumption and Constraints / 1.  Each image file received by server is complete.
Dependencies
Traceability / WC_4109,WC_4040
3.2  Test Identifier

TC-02: Model Retraining

3.2.1  Test Level

Software Item Level

3.2.2  Test Class

Functionality Test

3.2.3  Test Completion Criteria

This test will be completed when:

•  The algorithm receives a correct request and processes dataset asynchronously..

•  The process bar receives a correct status and shows the processing percentage.

•  The front end receives a correct result.

•  Web turns to processing bar pages

•  The algorithm does not process another training.

•  After the user reopen the web page while there is a training process, the web page will lead to training process bar immediately.

3.2.4  Test Cases

•  TC-02-01 Sending training request from front end to the back end and starting training process.

•  TC-02-02 After Sending training request to start the training process, turn to training process bar page.

•  TC-02-03 After training process is done, the front end should get training result.

•  TC-02-04 The user can not train twice at the same time.

•  TC-02-05 If the user kills the web page while training is processing, the training process is still continuous. Reopen the page will lead to processing bar page.

Table 7: TC-02-01 Sending training request from front end to the back end and starting training process.

Test Case Number / TC-02-01 Sending training request from front end to the back end and starting training process.
Test Item / This test case checks if the algorithm part could receive training request correctly and start training process asynchronously.
Test Priority / M(Must Have)
Pre-conditions / The user has upload topics and corresponding dataset, then hit “Begin ti Train” button.
Post-conditions / The system sends training request to the algorithm, and the algorithm processes the dataset and topics asynchronously.
Input Specifications / •  Open the Training page
•  Select topics or upload topics
•  Upload images
•  Click Begin to Train button
Expected Output Specifications / The algorithm receives a correct request and processes dataset asynchronously.
Pass/Fail Criteria / This test will pass when meets all the following criteria :
•  The web turns to processing bar page.
•  The algorithm processes the dataset asynchronously.
Fail criteria :
•  Other than pass criteria
Assumptions and Constraints / •  Image uploads correctly
•  Celery worker is functional correctly
Dependencies / Celery1.3, Python3.5, Django1.9.2
Traceability / WC_4148

Table 8: TC-02-02 Sending training request from front end to the back end and starting training process.