Anda di halaman 1dari 28

1.

0 Introduction

1.1 Project Background

1.2 Objectives

. To develop a

1.3 Scope

1.4 Requirement Specifications

1.5 Summary of Major Functions

1. Customer and Staff Registration

2. View Shipment Record

3. Add Shipment Record

4. Update Shipment Record Status


2.0 Project Plan

3.0 Project Context Design

3.1 Azure Design Patterns


3.2 System Design

3.2.1 User Case Diagram

3.2.2 Use Case Specifications

3.2.2.1 Login Use Case Specification

Container Management System


Name Login
Description User, Staff and Port can login to the
Container Management System.
Actor User, Staff and Port
Pre-condition Email Address and Password are required to
enter in the text field.
Standard Flow 1. Open the Container Management
System.
2. Enter registered email address and
password and click login button.
Post Condition User, Staff and Port can access to the system
and will direct the user to the home page of
the system.
Alternative Path None

3.2.2.2 Sign up Use Case Specification

Container Management System


Name Sign up
Description User, Staff and Port can register a new
account for the Container Management
System.
Actor User and Staff
Pre-condition Email Address and Password are required to
enter in the text field.
Standard Flow 1. Open the Container Management
System and click on the sign-up
button in Login Page.
2. Enter email address and password
and click on the sign-up button.
Post Condition User, Staff new account will store in the
Azure and can access to the system and will
direct the user to the home page of the
system.
Alternative Path None

3.2.2.3 View Shipment Report Use Case Specification

Container Management System


Name View Shipment Report
Description User, Staff and Port can view the shipment
details that has created before.
Actor User, Staff and Port
Pre-condition User must create a new shipment.
Standard Flow 1. Open the Container Management
System.
2. Enter registered email address and
password in the text field which is
created in the Azure and click on the
Sign-in Button.
3. After sign-in successfully it will
direct the user, staff and port to the
home page.
4. The shipment record will be shows in
the home page.
Post Condition The system will display the shipment record
has created in Azure.
Alternative Path None

3.2.2.4 Add New Shipment Use Case Specification

Container Management System


Name Add New Shipment
Description User can create a new shipment record.
Actor User
Pre-condition User want to shipment their product.
Standard Flow 1. Open the Container Management
System.
2. Enter registered email address and
password in the text field which is
created in the Azure and click on the
Sign-in Button.
3. After sign-in successfully it will
direct the user, staff and port to the
home page.
4. Click on the Add New Shipment
button in the home page.
Post Condition Users able to view the created shipment
record in the home page.
Alternative Path None

3.2.2.5 Update Shipment Use Case Specification

Container Management System


Name Update Shipment
Description Staff can update the shipment record that
user has created.
Actor Staff
Pre-condition Staff want to edit the status of the shipment
record that user has created.
Standard Flow 1. Open the Container Management
System.
2. Enter registered email address and
password in the text field which is
created in the Azure and click on the
Sign-in Button.
3. After sign-in successfully it will
direct the staff to the home page.
4. Click on the shipment ID in the table
of shipment record in the home page.
Post Condition Staff can edit the shipment status.
Alternative Path None
4.0 Implementation

4.1 Creating and Publishing the Container Management System Web Application using Azure

When the researcher has created the Container Management System web application, the
researcher will start publishing to the Azure. Firstly, the researcher will create a new resource
group that focus in the Southeast Asia legion in the Microsoft Azure Cloud to host the
Container Management System web application and Southeast Asia SQL. There are few
procedures will be showing how to host the web application.

1. Create a new resource group for the Container Management System


There are few requirements need to be fill-in which are Resource group name, Subscription
and Resource group location. For the Resource group location will be selected
Southeast Asia location. In the Resource Group, it contains of SQL Database, App Insight,
Web app.

Figure 1: Create a New resource group for Container Management System

2. Create an App Service Plan for the Container Management System

There are few requirements need to be enter which are the name of App Service Plan,
Subscription, Resource Group, Operating system, Location and Pricing Tier. The advantage of
using this, it can help to save budget on hosting various of application by configuring the web
apps to reuse a single app service plan.
Figure 2: Create an App Service Plan for Container Management System

3. Create Web App Service plan for the Container Management System

There are few requirements need to include which are App name, Subscription, Resources
Group, OS, Publish, App Service plan/Location and Application Insights.

Figure 3: Create a Web App for Container Management System


4. Publish the web application
4.6 Sample of Screenshots

4.6.1 Container Management System Main Menu Page

4.6.2 Container Management System Login Page (Customer)


4.6.3 Container Management System Login Page (Staff)

4.6.4 Container Management System Login Page (Port)


4.6.5 Container Management System Sign-up Page (Customer)

4.6.6 Container Management System Sign-up Page (Staff)


4.6.7 Container Management System Home Page (Customer)

4.6.8 Container Management System Home Page (Staff)

4.6.9 Container Management System Home Page (Port)


4.6.10 Container Management System Add New Shipment Page (Customer)

4.6.11 Container Management System Update Shipment Page (Staff)


6.0 Container Management System Web App Tests

6.1 Test Plan

In Unit Testing, the researcher will be focused on the small section of the system web app code.
Therefore, to make sure that the small part of section will not be affected the other part. If not,
the system will not be working well. It can cause the researcher spending more time on redo
the code part of the system.

6.2 Azure Performance Test

The researcher will conduct two performance testing for the same web application. One is free
version with limited number of user and quota to test. Another one is paid version with
unlimited of quota and users to test. In this performance testing, the researcher will perform
testing with two different requirements of testing which are 1000 user with 10 minutes and
3000 users with 10 minutes.

6.2.1 Configure the load test

As shown in figure x, the researcher needs to link the web application to the web app then only
can start running the performance testing. However, the researcher is required to fill in the
testing requirements which are the name of experimentation, the number of users to load, the
duration of testing and load from where. In the performance testing, the user will set-up two
different of requirements which are 1000 users for 10 minutes and 3000 users for 10 minutes.
After the performance testing is completed, it will generate a report of the performance testing.

6.2.2 Load testing without scaling


Users Minutes Successful Failed Average Request
Requests Request Response per
Time Second

PerfTest01 1000 10 3602 (0.6%) 601424 0.01 1008.38


(99.4%)

PerfTest02 3000 10 70226 1577296 0.32 2678.9


(4.26%) (95.74%)
6.2.3 Test discussion before scaling

The table above shows the results of load testing before scaling up. The researcher uses the free
version of the load test. There is a limitation for the free version of the load test which is a
limited number of users and a limited number of quota. The average of the response time in the
PerfTest01 was 0.01 seconds. However, if the users set up to 3000, the average of the response
time was 0.32 seconds. The success rate in the PerfTest01 and PerfTest02 which are 3602
(0.6%) and 70226 (4.26%). The failed request rate in the PerfTest01 and PerfTest02 which are
601424 (99.4%) and 1577296 (95.74%). Significantly, due to the free version of the load test
of the functionalities. Besides, the request per second for two different testing which are
PerfTest01 is 10008.38 and PerfTest02 is 2678.9.

6.2.4 Load Testing after Scaling


Users Minutes Successful Failed Average Request
Requests Request Response per
Time Second

PerfTest03 1000 10 136614 3259 3.82 233.12


(97.67%) (2.33%)

PerfTest02 3000 10 146190 5226 8.38 246.2


(96.55%) (3.45%)
6.2.5 Test discussion after scaling

The table above shows the results of load testing after scaling up. The outcome of the load
testing is better than the free version of the load testing because of the paid version of the load
test has provided an unlimited number of users and quota to test. For example, the successful
request rate in the paid version of the two load tests was 136614 (97.64%) for the PerfTest03
and 146190 (96.55%) for the PerfTest02. If the company want to test their web application is
better to scaling up, this can help them to identify around the world able to use without any
issues when other countries want to use.

6.3 Azure availability test

6.3.1 Availability test before scaling


As shown in figure x, the researcher has conducted a free version of the availability testing to
test the web application. Therefore, the free version has only provided a limited amount of the
quota for the user to check the web application. When the testing has reached the quota that the
Azure set, the results of the availability testing will fail. In the testing, it uses 704 ms for the
average test duration, 7,500 of the successful task and 6,000 of the failed test. The availability
testing of successful rate only has 55.6%, the success rate is much lower compared with the
paid version of the availability testing. However, the researcher has set up few locations to test
the web application which are Japan East, North Europe, South Central US, Southeast Asia,
US South, UK West and West Europe.

6.3.2 Availability test after scaling

As shown in figure x, the application insights scale up to the paid version. The researcher has
performed the availability testing for seven days. The testing result has the high success rate
compared to the unpaid version of the availability testing. If the web application is focused on
the worldwide, it requires to have an unlimited number of quota for the azure to test is the web
application can work well in real life by examining through the Azure virtual. The average test
duration is 992ms, and the total of the successful test is 14,000, and the failed test is zero.
However, the researcher has configured a few locations to test the web application which are
Japan East, North Europe, South Central US, Southeast Asia, UK South, UK West and West
Europe. Therefore, to check any location having an issue with connect the web application.

6.4 Unit Testing

6.4.1 Login

ID Test Case Expected Result Actual Result Pass/Fail


1.1 1. Leave Email Address 1. “The Email field is 1. “The Email field is Fail
field blank. required” is shown. required” is shown.
2. Leave Password field 2. “The Password field 2. “The Password
blank. is required” is shown. field is required” is
3. Click “Login” button. shown.
1.2 1. Leave Email Address 1. “The Email field is 1. “The Email field is Fail
field blank. required” is shown. required” is shown.
2. Input Password in
field.
3. Click “Login” button.
1.3 1. Input Email Address 1. “The Password field 1. “The Password Fail
in field. is required” is shown. field is required” is
2. Leave Password field shown.
blank.
3. Click “Login” button.
1.4 1. Input invalid Email 1. “Enter valid Email 1. “Enter valid Email Fail
Address in field. Address” is shown. Address” is shown.
2. Input invalid 2. “Enter valid 2. “Enter valid
Password in field. Password” is shown. Password” is shown.
3. Click “Login” button.
1.5 1. Input valid Email 1. “Enter valid 1. “Enter valid Fail
Address in field. Password” is shown. Password” is shown.
2. Input invalid
Password in field.
3. Click “Login” button.
1.6 1. Input invalid Email 1. “Enter valid Email 1. “Enter valid Email Fail
Address in field. Address” is shown. Address” is shown.
2. Input valid Password
in field.
3. Click “Login” button.
1.7 1. Input valid Email 1. “Login Pass
Address in field. Successfully!” is
2. Input valid Password shown.
in field.
3. Click “Login” button.

6.4.2 Sign up

ID Test Case Expected Result Actual Result Pass/Fail


1.1 1. Leave Email Address 1. “The Email Address 1. “The Email Fail
field blank. field is required” is Address field is
2. Leave Password field shown. required” is shown.
blank. 2. “The Password field 2. “The Password
3. Click “Sign up” is required” is shown. field is required” is
button. shown.
1.2 1. Leave Email address 1. “The Email Address 1. “The Email Fail
in field. field is required” is Address field is
2. Leave Password field shown. required” is shown.
blank. 2. “The Password field 2. “The Password
3. Click “Sign up” is required” is shown. field is required” is
button. shown.
1.3 1. Input Email Address 1. “The Password field 1. “The Password Fail
in field. is required” is shown. field is required” is
2. Leave Password field shown.
blank.
3. Click “Sign up”
button.
1.4 1. Leave Email Address 1. “The Email Address 1. “The Email Fail
field blank. field is required” is Address field is
2. Input Password in shown. required” is shown.
field.
3. Click “Sign up”
button.
1.5 1. Input invalid Email 1. “Enter valid Email 1. “Enter valid Email Fail
Address in field. Address” is shown. Address” is shown.
2. Input Password field
blank.
3. Click “Sign up”
button.
1.6 1. Input valid Email 1. “Sign up 1. “Sign up Pass
Address in field. Successfully!” is Successfully!” is
2. Input Password field shown. shown.
blank.
3. Click “Sign up”
button.

6.4.3 Add New Request

ID Test Case Expected Result Actual Result Pass/Fail


1.1 1. Leave Departure Port 1. “Departure Port field 1. “Departure Port Fail
field blank. is required” is shown. field is required” is
2. Leave Arrival Port 2. “Arrival Port field is shown.
field blank. required” is shown. 2. “Arrival Port field
3. Leave Shipping Date 3. “Shipping Date field is required” is
field blank. is required” is shown. shown.
4. Leave Shipping 4. “Shipping Weight is 3. “Shipping Date
Weight field blank. required” is shown. field is required” is
shown.
5. Leave Shipping 5. “Shipping Details is 4. “Shipping Weight
Details field blank. required” is shown. is required” is
6. Click “Confirm” shown.
button. 5. “Shipping Details
is required” is
shown.
1.2 1. Input Departure Port 1. “Arrival Port field is 1. “Arrival Port field Fail
field blank. required” is shown. is required” is
2. Leave Arrival Port 2. “Shipping Date field shown.
field blank. is required” is shown. 2. “Shipping Date
3. Leave Shipping Date 3. “Shipping Weight is field is required” is
field blank. required” is shown. shown.
4. Leave Shipping 4. “Shipping Details is 3. “Shipping Weight
Weight field blank. required” is shown. is required” is
5. Leave Shipping shown.
Details field blank. 4. “Shipping Details
6. Click “Confirm” is required” is
button. shown.
1.3 1. Leave Departure Port 1. “Departure Port field 1. “Departure Port Fail
field blank. is required” is shown. field is required” is
2. Input Arrival Port 2. “Shipping Date field shown.
field blank. is required” is shown. 2. “Shipping Date
3. Leave Shipping Date 3. “Shipping Weight is field is required” is
field blank. required” is shown. shown.
4. Leave Shipping 4. “Shipping Details is 3. “Shipping Weight
Weight field blank. required” is shown. is required” is
5. Leave Shipping shown.
Details field blank. 4. “Shipping Details
6. Click “Confirm” is required” is
button. shown.
1.4 1. Leave Departure Port 1. “Departure Port field 1. “Departure Port Fail
field blank. is required” is shown. field is required” is
shown.
2. Leave Arrival Port 2. “Arrival Port field is 2. “Arrival Port field
field blank. required” is shown. is required” is
3. Input Shipping Date 3. “Shipping Weight is shown.
field blank. required” is shown. 3. “Shipping Weight
4. Leave Shipping 4. “Shipping Details is is required” is
Weight field blank. required” is shown. shown.
5. Leave Shipping 4. “Shipping Details
Details field blank. is required” is
6. Click “Confirm” shown.
button.
1.5 1. Leave Departure Port 1. “Departure Port field 1. “Departure Port Fail
field blank. is required” is shown. field is required” is
2. Leave Arrival Port 2. “Arrival Port field is shown.
field blank. required” is shown. 2. “Arrival Port field
3. Leave Shipping Date 3. “Shipping Date is is required” is
field blank. required” is shown. shown.
4. Input Shipping 4. “Shipping Details is 3. “Shipping Date is
Weight field blank. required” is shown. required” is shown.
5. Leave Shipping 4. “Shipping Details
Details field blank. is required” is
6. Click “Confirm” shown.
button.
1.6 1. Leave Departure Port 1. “Departure Port field 1. “Departure Port Fail
field blank. is required” is shown. field is required” is
2. Leave Arrival Port 2. “Arrival Port field is shown.
field blank. required” is shown. 2. “Arrival Port field
3. Leave Shipping Date 3. “Shipping Date is is required” is
field blank. required” is shown. shown.
4. Leave Shipping 4. “Shipping Weight is 3. “Shipping Date is
Weight field blank. required” is shown. required” is shown.
5. Input Shipping 4. “Shipping Weight
Details field blank. is required” is
shown.
6. Click “Confirm”
button.
1.7 1. Input Departure Port 1. “Add New Request 1. “Add New Pass
field blank. Successfully!” is Request
2. Input Arrival Port shown. Successfully!” is
field blank. shown.
3. Input Shipping Date
field blank.
4. Input Shipping
Weight field blank.
5. Input Shipping
Details field blank.
6. Click “Confirm”
button.

6.4.4 Update Shipment Status

ID Test Case Expected Result Actual Result Pass/Fail


1.1 1. Leave Shipment 1. “Shipment Status 1. “Shipment Status Fail
Status field blank. field is required” is field is required” is
2. Leave Container ID shown. shown.
field blank. 2. “Container ID field is 2. “Container ID
3. Click “Search” required” is shown. field is required” is
button. shown.

1.2 1. Input Shipment 1. “Container ID field is 1. “Container ID Fail


Status field blank. required” is shown. field is required” is
2. Leave Container ID shown.
field blank.
3. Click “Search”
button.
1.3 1. Leave Shipment 1. “Shipment Status 1. “Shipment Status Fail
Status field blank. field is required” is field is required” is
2. Input Container ID shown. shown.
field blank.
3. Click “Search”
button.
1.4 1. Input Shipment 1. “Add New Request 1. “Add New Fail
Status field blank. Status Successfully!” is Request Status
2. Input Container ID shown. Successfully!” is
field blank. shown.
3. Click “Search”
button.

Anda mungkin juga menyukai