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 RoleHao 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 filesTest 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 InterruptTest 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.