26.1.0 .f Cumulative Layout Shift
71 Giao diện xem thông báo hàng quên đóng ca làm việc
Phần F
Triển khai
20 Môi trường triển khai 20.1 Heroku
Heroku là dịch vụ cung cấp máy chủ miễn phí cho người dùng. Đây là một dịch vụ nhận được sự hỗ trợ từ cộng đồng tương đối lớn với vô vàn các addons hỗ trợ cực kỳ hữu ích. Tuy với cái giá phải trả là0$nhưng Heroku cung cấp những lợi ích vô cùng tuyệt vời không kém gì những server có tính phí.
Heroku cung cấp dịch vụ máy chủ đám mây giúp dễ dàng trong việc deploy ứng dụng và có những ưu điểm rất rõ ràng:
• Database miễn phí • SSL miễn phí
• Hỗ trợ làm việc team cực kì tốt khi cho phép nhiều người cùng quản lý deploy của một dự án
• Liên kết với Github đơn giản
20.2 Somee
Somee là một ASP Hosting miễn phí có hỗ trợ đưa cơ sở dữ liệu MS Sql Server lên host. Ngoài ra, Somee cũng cung cấp cả Connection String để dễ dàng thao tác liên kết cơ sở dữ liệu trong quá trình hiện thực hệ thống.
Chính vì vậy, lựa chọn Somee trong quá trình triển khai là lựa chọn tốt nhất theo như chúng tôi tìm hiểu.
Phần G
Kiểm thử hệ thống
Tất cả các giai đoạn của quá trình phát triển phầm mềm đều trải qua quá trình kiểm thử phần mềm. Có 4 cấp độ15kiểm thử phần mềm là:
• Kiểm thử đơn vị (Unit Testing): là cấp độ kiểm thử cơ bản, thực hiện test từng module nhỏ trong hệ thống. Mục đích: để xác nhận mỗi thành phần của phần mềm thực hiện đúng với thiết kế.
• Kiểm thử tích hợp (Integration Testing): tích hợp kiểm tra việc truyền dữ liệu giữa các module, tích hợp kiểm tra các hàm lại với nhau, các màn hình với nhau theo từng module hoặc theo chức năng. Mục đích: để đảm bảo rằng hệ thống tích hợp đã sẵn sàng để thử nghiệm hệ thống.
• Kiểm thử hệ thống (System Testing): là thực hiện kiểm thử một hệ thống đã được tích hợp hoàn chỉnh để xác minh rằng nó đúng yêu cầu của phần mềm.
• Kiểm thử chấp nhận (Acceptance Testing): sau khi kiểm tra hệ thống đã sửa tất cả hoặc hầu hết các lỗi, hệ thống sẽ được gửi đến người dùng hoặc khách hàng để kiểm tra chấp nhận.
Quá trình kiểm thử được thực hiện trên hệ điều hành Windows 10. Trong phạm vi tài liệu này, chúng tôi sẽ trình bày về phần kiểm thử hệ thống. Cụ thể được minh họa bên dưới:
21 Kiểm thử chức năng
Do khuôn khổ bài báo cáo, chúng tôi chỉ có thể trình bày một số chức năng chính (tương ứng với 2 luồng hoạt động chính) và một số chức năng cơ bản. Những chức năng còn lại cũng đã trải qua quá trình kiểm thử với một số testcase.
STT Test case Yêu cầu kết quả Kết quả Ghi
chú
Hoạt động bán hàng
1 Thêm sản phẩm vào giỏ hàng Giỏ hàng được cập nhật sản phẩm với tên, hình ảnh, giá tương ứng chính xác
Pass 2 Tăng số lượng sản phẩm trong
giỏ hàng Giá được cập nhật chính xác tươngứng với sản phẩm Pass 3 Thêm cùng một sản phẩm
nhiều lần Có phải là cùng một mặt hàng tronggiỏ hàng, nhưng số lượng phải phản ánh chính xác số sản phẩm được thêm vào và tổng giá trị đơn hàng được cập nhật bằng tổng giá của từng sản phẩm trong giỏ hàng
Pass
4 Thêm nhiều loại sản phẩm
khác nhau Đối với mỗi sản phẩm được thêmvào chúng ta sẽ thấy tên sản phẩm, hình ảnh, giá tương ứng và tổng giá trị tất cả các sản phẩm
Pass
5 Loại bỏ một số sản phẩm
trong giỏ hàng Giỏ hàng cập nhật các sản phẩm cònlại trong giỏ hàng và tổng giá trị tương ứng
Pass 6 Loại bỏ tất cả sản phẩm trong
giỏ hàng Số dư của giỏ hàng trở về 0, vàkhông còn sản phẩm nào được hiển thị trong giỏ hàng
Pass 7 Thêm sản phẩm đã hết hàng Báo lỗi nhắc nhở sản phẩm này đã
hết hàng Pass
Thanh toán
8 Thanh toán bằng tiền mặt Nhập số tiền hợp lệ, thanh toán thành công, dữ liệu thanh toán được ghi vào session của nhân viên đó
Pass 9 Thanh toán bằng thẻ tín dụng
hợp lệ Nhập số thẻ tín dụng hợp lệ, thanhtoán thành công, dữ liệu thanh toán được ghi vào session của nhân viên đó
Pass
10 Thanh toán bằng ví điện tử
VNPAY hợp lệ Chuyển qua trang thanh toán củaVNPAY, tiến hành thanh toàn hợp lệ và ghi vào session
11 Thanh toán bằng thẻ tín dụng
không hợp lệ Hiển thị lỗi báo thẻ tín dụng khônghợp lệ Pass 12 Áp dụng phiểu giảm giá hợp
lệ Giá thành chung được giảm tươngứng với phiếu giảm giá Pass 13 Áp dụng phiểu giảm giá
không hợp lệ Báo lỗi phiểu giảm giá không hợplệ Pass
Hoạt động nhập hàng vào chi nhánh
14 Tạo đơn yêu cầu nhập hàng
mới Đơn yêu cầu nhập hàng được tạothành công phải hiện thị lên danh sách đơn của quản kho chi nhánh
Pass 15 Xem chi tiết yêu cầu đơn hàng Đơn hàng hiển thị các chi tiết thông
tin của mình, bao gồm: thông tin cơ bản của đơn hàng, sản phẩm, người tạo
Pass
16 Thay đổi trạng thái của yêu
cầu đơn hàng Trạng thái được thay đổi phải đượccập nhật trên toàn hệ thống Pass 17 Hủy đơn hàng Trạng thái đã hủy phải được cập
nhật trên toàn hệ thống Pass
18 Hủy đơn hàng đang giao Không hủy được Pass
Hoạt động chung
19 Đăng nhập
20 Đăng nhập đúng tài khoản
mật khẩu đã xác nhận Chuyển hướng đến giao diện ứngvới role của mình trong hệ thống Pass 21 Đăng nhập đúng tài khoản
mật khẩu chưa xác nhận Chuyển hướng đến giao diện yêucầu xác nhận Pass 22 Nhập sai format email Không cho ấn nút Login Pass 23 Nhập sai tài khoản hoặc mật
khẩu Báo login fail Pass
Một số hoạt động khác
24 Gợi ý sắp xếp vị trí hàng Cho ra kết quả Apriori đúng Pass 25 Dự đoán bán hàng Cho ra kết quả hồi quy đúng Pass
22 Kiểm thử hiệu năng
Kiểm thử hiệu năng (Performance Test): là kiểm tra sự tuân thủ của hệ thống với các yêu cầu được chỉ định về hiệu năng. Xác định những thuộc tính chất lượng của hệ thống. Dưới đây là bảng đo lường thời gian phản hồi của một số URL.
URL Thời gian (s)
/ 0.0048 /login 0.0065 /signup 0.0024 /product/manage 0.4486 /account/manage 0.5326 /promotion/manage 0.2065 /pos 0.2542 /pos/past 0.4836 /pos/past 0.4836 /operation/recommend-products-position 0.1336
* Ghi chú: số liệu trên được đo bằng My Pingdom (https://my.pingdom.com/) với các thiết lập:
• Link đã deploy lên server Heroku: https://retailsystem.herokuapp.com/ • Server dùng để ping: Eastern US
Qua bảng trên có thể nhận thấy, các URL tương ứng với các trang chỉ load lên giao diện nhẹ mà ít phải load dữ liệu từ database (như trang Login, Signup, ...) có thời gian load khá nhanh (lần lượt 0.0065 và 0.0024). Các trang khác phải lấy dữ liệu từ database và mất thời gian cho quá trình xử lý (như trang Quản lý sản phẩm, Quản lý tài khoản, ...) sẽ mất thời gian lâu hơn (0.4486 và 0.5326).
23 Kiểm thử cơ sở dữ liệu
Kiểm thử cơ sở dữ liệu (Database Test): Là kiểm tra dữ liệu hiển thị trên hệ thống có giống với dữ liệu trong cơ sở dữ liệu hay không. Chúng tôi đã thực hiện và xác nhận hệ thống hoạt động ổn định và hiển thị dữ liệu chính xác.
24 Kiểm thử tính khả dụng
Kiểm thử tính khả dụng (Usability Test): Kiểm tra tính thân thiện với người dùng và tính dễ sử dụng của hệ thống. Hệ thống có giao diện thân thiện và bắt mắt.
25 Kiểm tra tính tương thích
Kiểm tra tính tương thích (Compatibility Test) : Là kiểm tra xem hệ thống có tương thích với các yếu tố khác của hệ thống mà nó sẽ hoạt động hay không (Ví dụ: trình duyệt, hệ điều hành, ...).
Hệ thống đã được kiểm thử trên các trình duyệt Chrome, Mozilla Firefox, Microsoft Edge và có giao diện giống nhau ở các trình duyệt. Hệ thống cũng đã được chạy thử trên hệ điều hành Windows 10 và Ubuntu 18.04 đều cho kết quả không có sự khác biệt đáng kể.
Phần H
Đo lường và cải thiện hiệu suất 26 Đo lường bằng Google PageSpeed Insights