Bối cảnh và vấn đề nghiên cứu

Trong xu hướng phát triển mạnh mẽ của thương mại điện tử (e-commerce), website bán hàng trực tuyến đóng vai trò trung tâm trong hoạt động kinh doanh của doanh nghiệp, là cầu nối trực tiếp giữa khách hàng và nhà cung cấp. Việc xây dựng một nền tảng bán lẻ thiết bị điện tử—với danh mục sản phẩm đa dạng từ điện thoại di động, máy tính để bàn, máy tính xách tay đến máy ảnh và các phụ kiện công nghệ—đòi hỏi hệ thống phải vận hành ổn định, chính xác và có tính bảo mật cao. Trong quy trình phát triển phần mềm, hoạt động kiểm thử (software testing) là khâu mang tính sống còn nhằm phát hiện sớm các sai sót, giảm thiểu rủi ro vận hành, tiết kiệm chi phí sửa chữa và đảm bảo sản phẩm đáp ứng đầy đủ yêu cầu kỹ thuật lẫn nghiệp vụ trước khi phát hành đến người dùng cuối.

Đề tài "Kiểm thử phần mềm quản lí website bán đồ điện tử" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin thuộc Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT) trong khuôn khổ học phần Bảo đảm chất lượng phần mềm, dưới sự hướng dẫn của ThS. Tiếu Phùng Mai Sương và giảng viên phụ trách ThS. Đinh Minh Hòa. Báo cáo được hoàn thành vào ngày 26 tháng 03 năm 2024.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Phân tích, khảo sát và xây dựng đặc tả yêu cầu cho hệ thống quản lý website thương mại điện tử chuyên ngành đồ điện tử.
  2. Thiết lập cấu trúc phân rã chức năng (Use Case), sơ đồ lớp (Class Diagram) và mô hình hóa 10 quy trình nghiệp vụ cốt lõi của hệ thống.
  3. Xác định các mục tiêu chất lượng và phạm vi kiểm thử (Scope) bao gồm tính năng cốt lõi, giao diện người dùng, bảo mật, hiệu năng và tính tương thích đa nền tảng.
  4. Thiết kế hệ thống kịch bản kiểm thử (Test Cases) và bảng kiểm tra (Test Checklists) chi tiết cho cả hai nhóm chức năng và phi chức năng.
  5. Thực thi kiểm thử, theo dõi và ghi nhận danh mục lỗi (Bug Tracking) thông qua các lần phát hành (releases), từ đó đánh giá mức độ hoàn thiện của sản phẩm phần mềm.

Đối tượng nghiên cứu là hệ thống phần mềm quản lý website thương mại điện tử bán thiết bị điện tử. Phạm vi nghiên cứu bao gồm toàn bộ các phân hệ chức năng dành cho khách hàng (Frontend) và phân hệ quản trị (Backend/Admin), áp dụng quy trình kiểm thử thủ công và kiểm thử bán tự động với công cụ hỗ trợ trên môi trường web.


Cơ sở lý thuyết và phương pháp

Đề tài vận dụng khung lý thuyết chuẩn mực về kiểm thử và bảo đảm chất lượng phần mềm từ các tài liệu học thuật chuyên khảo quốc tế, bao gồm:

  • Mô hình và nguyên lý kiểm thử phần mềm theo giáo trình của Roger S. Pressman (Software Engineering: A Practitioner's Approach), Kshirasagar Naik (Software Testing and Quality Assurance: Theory and Practice), và Paul Ammann & Jeff Offutt (Introduction to Software Testing).
  • Chuẩn mực quy trình kiểm thử và quản lý lỗi từ các công trình của Daniel Galin (Software Quality Assurance: From Theory to Implementation), Rex Black (Managing the Testing Process), Dorothy Graham và cộng sự (Foundations of Software Testing), cùng Cem Kaner, Jack Falk, Hung Q. Nguyen (Testing Computer Software).

Phương pháp nghiên cứu và kỹ thuật thực hiện gồm:

  • Phương pháp phân tích yêu cầu phần mềm: Phân rã chức năng nghiệp vụ, xây dựng 50 ca sử dụng (Use Cases) phân bổ theo từng phân hệ quản lý và vẽ sơ đồ lớp (Class Diagram) mô tả kiến trúc thực thể.
  • Phương pháp thiết kế kịch bản kiểm thử: Áp dụng kỹ thuật phân vùng tương đương và phân tích giá trị biên để thiết kế các ca kiểm thử chức năng cho phía Người dùng (User) và Quản trị viên (Admin).
  • Phương pháp kiểm thử phi chức năng và giao diện: Sử dụng bảng kiểm thử (Checklist) gồm 58 tiêu chí đánh giá trải nghiệm giao diện người dùng (UI/UX), khả năng chịu tải, tốc độ đáp ứng và độ bảo mật dữ liệu.
  • Phương pháp quản lý vòng đời lỗi (Bug Tracking): Ghi nhận, phân loại mức độ và theo dõi trạng thái khắc phục lỗi phát sinh giữa các bản phát hành.

Công cụ và môi trường triển khai kỹ thuật:

  • Môi trường phát triển: Visual Studio Code (dùng để lập trình mã nguồn, sửa lỗi và thực thi công cụ kiểm thử).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server (lưu trữ toàn bộ dữ liệu cấu trúc của hệ thống website).
  • Công cụ quản lý phiên bản: GitHub (phục vụ phân chia nhánh mã nguồn, phân công nhiệm vụ và đồng bộ tiến độ nhóm).
  • Công cụ kiểm thử giao tiếp API: Postman (quản lý, lập danh mục và kiểm thử các điểm cuối API).

Thiết kế và triển khai

Hệ thống quản lý website bán đồ điện tử được tổ chức dựa trên mô hình điều hành phân quyền rõ ràng giữa các bộ phận nghiệp vụ, kết hợp với cấu trúc phân rã chức năng logic.

Phân quyền các bộ phận nghiệp vụ

STT Tên bộ phận Trách nhiệm và chức năng chính
1 Phòng nhân sự Quản lý thông tin nhân viên cửa hàng, quản lý hồ sơ khách hàng thành viên, thực hiện tư vấn và chăm sóc khách hàng.
2 Phòng dịch vụ Quản lý danh mục dịch vụ, cập nhật thông tin sản phẩm, xử lý các đợt nhập hàng và quản lý tồn kho.
3 Phòng tài chính Kiểm soát các giao dịch thanh toán, theo dõi dòng tiền và tổng hợp báo cáo doanh thu cửa hàng.
4 Phòng vận chuyển Quản lý trạng thái đơn hàng của khách, điều phối và theo dõi tiến trình giao hàng đến tay người mua.

Cấu trúc chức năng hệ thống (System Functions)

Hệ thống được thiết kế với 50 Ca sử dụng (Use Cases) chuẩn hóa, phân bổ thành 8 gói chức năng (Packages):

Gói chức năng (Package) Mã Use Case Tên chức năng cụ thể
Đăng ký / Đăng nhập UC01 - UC05 Đăng ký tài khoản, Đăng nhập, Quên mật khẩu, Đổi mật khẩu, Đăng xuất.
Quản lý tài khoản UC06 - UC09 Trang người dùng, Thông tin cá nhân, Sửa thông tin cá nhân, Xem danh sách đơn hàng.
Quản lý sản phẩm UC10 - UC18 Tìm kiếm sản phẩm, Xem thông tin sản phẩm, Đánh giá sản phẩm, Xem sản phẩm liên quan, Thêm sản phẩm, Xóa sản phẩm, Cập nhật sản phẩm, Phân loại sản phẩm, Thống kê sản phẩm bán chạy.
Quản lý dịch vụ UC19 - UC24 Chia sẻ sản phẩm, Sử dụng mã ưu đãi, Tạo ưu đãi, Các khuyến mãi, Mã giảm giá, Tư vấn khách hàng.
Quản lý giao dịch UC25 - UC31 Thêm vào giỏ hàng, Đặt hàng, Thanh toán, Thanh toán bằng hình thức, Chuyển khoản, Thanh toán khi nhận hàng, Tiếp nhận đơn bán hàng.
Quản lý đơn đặt hàng UC32 - UC36 Lập hóa đơn bán hàng, Tạo đơn hàng, Nhập hàng, Xuất hàng, Vận chuyển đơn hàng.
Quản lý khách hàng UC37 - UC42 Quản lý khách hàng, Xem thông tin khách hàng, Xóa tài khoản khách hàng, Quản lý nhân viên, Xem thông tin nhân viên, Xóa tài khoản nhân viên.
Quản lý kho UC43 - UC47 Nhập hàng, Xuất hàng, Kiểm tra số lượng tồn kho, Thống kê số lượng nhập và xuất hàng, Lập báo cáo số lượng hàng.
Quản lý tài chính UC48 - UC50 Lập báo cáo thu chi, Lập báo cáo doanh thu hàng tuần, Lập báo cáo chi tiêu hàng tuần.

Bên cạnh 50 ca sử dụng, nhóm tác giả xây dựng 10 lưu đồ quy trình chuẩn bao gồm: Đăng nhập, Đăng ký, Đặt mua, Thay đổi mật khẩu, Thanh toán, Cập nhật thông tin cá nhân, Tìm kiếm sản phẩm, Xem thông tin sản phẩm, Quản lý giỏ hàng và Xem trang chủ.


Nội dung chính theo từng chương

1. Giới thiệu chung và kiểm thử phần mềm

Chương này giới thiệu bối cảnh phát triển của website thương mại điện tử bán đồ điện tử (điện thoại, laptop, máy tính, camera,...), mô tả kiến trúc web và CSDL SQL Server. Nhóm tác giả trình bày cơ sở lý luận về kiểm thử phần mềm, tầm quan trọng của việc phát hiện lỗi sớm nhằm tiết kiệm chi phí, cùng khái niệm và vai trò của hệ thống Bug Tracking. Các công cụ sử dụng trong dự án được thiết lập chi tiết bao gồm VS Code, GitHub và Postman.

2. Đặc tả các chức năng hệ thống (System Functions)

Chương tập trung trình bày sơ đồ tổ chức phòng ban và mô hình hóa hệ thống. Nội dung bao gồm sơ đồ lớp (Class Diagram), sơ đồ Use Case tổng quát, 10 sơ đồ Use Case chi tiết và 10 lưu đồ quy trình vận hành. Phần đặc tả chi tiết tập trung vào các trường dữ liệu, điều kiện tiên quyết (Pre-condition), điều kiện sau (Post-condition), sự kiện kích hoạt (Trigger), luồng sự kiện chuẩn (Standard flow), luồng thay thế (Alternative flow) và tình huống lỗi (Error situation) cho các ca sử dụng tiêu biểu: Đăng nhập, Quản lý sản phẩm, Quản lý khách hàng, Quản lý kho, Đăng xuất, Trang người dùng, Thông tin cá nhân, Sửa thông tin cá nhân và Tìm kiếm sản phẩm.

3. Xác định mục tiêu, các chuẩn chất lượng cần đạt và phạm vi kiểm thử

Tài liệu xác định các mục tiêu vận hành nhằm tối ưu hóa tỷ lệ mua hàng và bảo vệ thông tin khách hàng. Hệ thống đặt ra 6 tiêu chuẩn chất lượng:

  • Giao diện đẹp mắt, menu điều hướng chuyên nghiệp.
  • Cung cấp đầy đủ các tiện ích chức năng (tìm kiếm, giỏ hàng, đánh giá 5 sao, chia sẻ mạng xã hội).
  • Tích hợp liên kết chia sẻ bán hàng qua các mạng xã hội (Facebook, Instagram, Twitter, Messenger, Zalo).
  • Định kỳ cập nhật, bảo trì hệ thống để đảm bảo tính ổn định.
  • Tương thích tốt với giao diện thiết bị di động (smartphone).
  • Tích hợp tính năng hỗ trợ tư vấn và quản lý phản hồi từ khách hàng.

Phạm vi kiểm thử (Scope) được khoanh vùng trong 6 nhóm: Tính năng cốt lõi, Giao diện người dùng (UI/UX), Bảo mật và quyền riêng tư, Khả năng tương thích đa nền tảng, Hiệu năng và độ tin cậy, và Các tính năng mở rộng trong tương lai.

4. Thiết kế Testcases / Test Checklists

Chương này bao gồm toàn bộ thiết kế kịch bản kiểm thử chi tiết:

  • Kiểm thử chức năng: Bao gồm các ca kiểm thử cho giao diện chi tiết sản phẩm, đánh giá sản phẩm, cập nhật thông tin cá nhân/mật khẩu/email, đăng nhập quản trị (Admin), thêm/sửa sản phẩm Admin (AD_TSP_1 đến AD_TSP_7, AD_SSP_1 đến AD_SSP_7), tìm kiếm Admin theo mã và tên (AD_TK_1 đến AD_TK_10), đăng ký/đăng nhập User (ca kiểm thử từ 1 đến 35), cùng các thao tác giỏ hàng và tìm kiếm lọc sản phẩm User (ca kiểm thử từ 52 đến 68).
  • Kiểm thử phi chức năng: Thiết lập danh mục tiêu chuẩn kỹ thuật gồm tốc độ tải trang dưới 4 giây khi lượng truy cập đồng thời dưới 300 người dùng, xác suất phát sinh lỗi khi đăng nhập/đăng ký/thanh toán không vượt quá 1/10.000, và cơ chế bảo mật không lưu thông tin thẻ tín dụng khi thanh toán.
  • Kiểm thử giao diện và tương tác: Xây dựng danh mục Test Checklist gồm 58 hạng mục kiểm tra chi tiết về vị trí nút, màu sắc nút khi rê chuột (hover), định dạng chữ, trạng thái checkbox, thanh cuộn ngang/dọc, và khả năng điều hướng bằng phím Tab/Enter.

5. Thực thi kiểm thử và báo cáo Bug Tracking

Nhóm tác giả thực hiện kiểm thử trên các bản phát hành và lập bảng theo dõi lỗi (Bug Tracking Table) nhằm ghi nhận sự sai lệch giữa kết quả thực tế (Actual Result) và kết quả mong đợi (Expected Result). Hai lỗi chính được xác định gồm:

  • BUG_ID 1: Lỗi không kích hoạt được nút chức năng "Quên mật khẩu" trên giao diện đăng nhập.
  • BUG_ID 2: Lỗi các nút liên kết mạng xã hội không thực hiện chuyển hướng đến các nền tảng tương ứng.

6. Đánh giá chất lượng đồ án và Kết luận

Chương tổng kết đánh giá sản phẩm dựa trên các tiêu chí: Thiết kế giao diện (UI), Trải nghiệm người dùng (UX), Tính năng và hiệu suất, An toàn và bảo mật (giao dịch mã hóa SSL, bảo vệ dữ liệu cá nhân), Quản lý nội dung (CMS), Khả năng đáp ứng thiết bị di động và việc tuân thủ các quy định bảo vệ quyền riêng tư và thanh toán trực tuyến.


Kết quả và đóng góp

Bảng phân công và kết quả hoàn thành nhiệm vụ

STT Họ và tên Mã số sinh viên Nội dung công việc đảm nhiệm Mức độ hoàn thành
1 Nguyễn Dương Hoàng Anh 21DH113442 Kiểm thử chức năng Đăng nhập, Đăng ký và Giao diện trang chủ. 100%
2 Dương Kiết Mi 21DH113869 Kiểm thử chức năng Thêm sản phẩm, Tìm kiếm sản phẩm Admin, Sửa thông tin sản phẩm. 100%
3 Trần Thị Huyền Trân 21DH111960 Kiểm thử chức năng Tìm kiếm đơn hàng (theo mã, ngày, tên người mua) và Trang khách hàng. 100%
4 Trần Quang Minh 21DH111128 Kiểm thử chức năng Tìm kiếm, Giỏ hàng và Xem thông tin cá nhân. 100%

Kết quả kỹ thuật đạt được

  1. Chuẩn hóa quy trình tài liệu kiểm thử: Xây dựng thành công hệ thống tài liệu đặc tả hoàn chỉnh gồm 50 ca sử dụng và 10 kịch bản quy trình nghiệp vụ cho website bán đồ điện tử.
  2. Thiết kế bộ Test Cases đa dạng: Bao quát đầy đủ các trường hợp kiểm thử hợp lệ (Positive Testing), không hợp lệ (Negative Testing), kiểm tra kiểu dữ liệu chuỗi/số, kiểm tra các trường để trống và kiểm tra giới hạn nhập liệu.
  3. Bộ Checklist giao diện 58 mục: Cung cấp bộ tiêu chí kiểm tra chi tiết các thành phần UI/UX từ màu sắc, kích thước, hiệu ứng chuột, đến khả năng hỗ trợ phím điều hướng.
  4. Báo cáo và xử lý lỗi (Bug Tracking): Phân loại và ghi nhận chính xác các lỗi chức năng còn tồn đọng (BUG_ID 1, BUG_ID 2), hỗ trợ đội ngũ phát triển nhanh chóng khoanh vùng vị trí cần khắc phục.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Thời gian thực hiện đồ án có hạn nên việc kiểm thử chủ yếu tập trung vào phương pháp kiểm thử hộp đen thủ công trên giao diện web.
  • Một số ca kiểm thử phi chức năng trong tài liệu còn bị trùng lặp nội dung mô tả từ các mẫu nghiệp vụ khác (như đặt phòng, khóa học).
  • Hệ thống phát sinh lỗi logic tại chức năng khôi phục mật khẩu và liên kết mạng xã hội chưa được tích hợp hoàn chỉnh tại thời điểm báo cáo.

Hướng phát triển tiếp theo

  • Khắc phục triệt để các lỗi đã ghi nhận trong bảng theo dõi lỗi (BUG_ID 1 và BUG_ID 2).
  • Mở rộng kiểm thử tự động hóa (Automation Testing) cho toàn bộ các điểm cuối API thông qua Postman và các framework kiểm thử giao diện tự động.
  • Tích hợp cổng thanh toán trực tuyến thực tế và kiểm thử an toàn bảo mật chuyên sâu (Penetration Testing) đối với các giao dịch nhạy cảm.

Giá trị tham khảo

Báo cáo đồ án có giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu mẫu hữu ích trong các học phần Kiểm thử phần mềm, Bảo đảm chất lượng phần mềm (SQA) và Phân tích thiết kế hệ thống.
  • Người làm đề tài về Website Thương mại điện tử: Cung cấp sẵn mô hình 50 Use Cases chuẩn hóa, 10 lưu đồ quy trình bán hàng, cùng ma trận phân công trách nhiệm giữa 4 phòng ban vận hành.
  • Kỹ sư kiểm thử (Tester/QA): Cung cấp cấu trúc biểu mẫu thiết kế Test Case chi tiết cho các module cốt lõi (User, Admin, Giỏ hàng, Đánh giá, Tìm kiếm) và bộ Checklist 58 tiêu chí kiểm thử UI/UX có thể tái sử dụng trực tiếp trong các dự án web thực tế.

Câu hỏi thường gặp

1. Đồ án sử dụng những công cụ kỹ thuật nào để phục vụ quá trình phát triển và kiểm thử?
Dự án sử dụng Visual Studio Code (phát triển mã nguồn, sửa lỗi và thực thi công cụ test), Microsoft SQL Server (quản trị cơ sở dữ liệu), GitHub (quản lý phiên bản và phân nhánh mã nguồn) và Postman (quản lý, lập danh mục và kiểm thử API).

2. Hệ thống phân rã cơ cấu tổ chức thành những phòng ban nào và quy mô Use Case ra sao?
Hệ thống phân quyền cho 4 bộ phận nghiệp vụ gồm Phòng nhân sự, Phòng dịch vụ, Phòng tài chính và Phòng vận chuyển. Tổng cộng có 50 Use Cases (từ UC01 đến UC50) được chia thành 8 gói chức năng chính và 10 quy trình nghiệp vụ chuẩn.

3. Các tiêu chí kiểm thử phi chức năng trọng yếu đặt ra cho hệ thống là gì?
Các tiêu chí chính gồm: Tốc độ tải trang dưới 4 giây khi số lượng người dùng đồng thời dưới 300; xác suất phát sinh lỗi khi đăng nhập, đăng ký và thanh toán không vượt quá 1/10.000; quá trình thanh toán sử dụng kết nối an toàn SSL và không lưu lại thông tin thẻ tín dụng của khách hàng trên hệ thống.

4. Bảng kiểm thử giao diện và tương tác (UI/UX Checklist) bao gồm bao nhiêu hạng mục kiểm tra?
Nhóm tác giả đã thiết lập bảng kiểm tra gồm 58 tiêu chí chi tiết, bao quát các yếu tố từ vị trí/màu sắc nút bấm, phản ứng hover chuột, định dạng nhãn và văn bản, kiểm tra trạng thái checkbox, thanh cuộn trang, cho đến khả năng tương tác bằng bàn phím (phím Tab, Enter, Space).

5. Bảng Bug Tracking ghi nhận những lỗi cụ thể nào trên hệ thống?
Báo cáo ghi nhận 2 lỗi chính: BUG_ID 1 liên quan đến việc thiếu chức năng/không bấm được nút "Quên mật khẩu" trên giao diện để khôi phục mật khẩu; và BUG_ID 2 liên quan đến việc các nút icon liên kết mạng xã hội của website không bấm chuyển trang được.


Kết luận

Báo cáo môn học "Kiểm thử phần mềm quản lí website bán đồ điện tử" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM đã trình bày một quy trình bảo đảm chất lượng phần mềm bài bản cho hệ thống thương mại điện tử. Thông qua việc đặc tả 50 ca sử dụng, xây dựng các kịch bản kiểm thử chức năng, phi chức năng và bộ checklist 58 tiêu chí giao diện, đồ án đã kiểm soát chặt chẽ các luồng nghiệp vụ từ người dùng đến quản trị viên. Kết quả thực thi kiểm thử và theo dõi lỗi đã chứng minh tính hiệu quả trong việc phát hiện sớm các khiếm khuyết kỹ thuật, tạo cơ sở hoàn thiện một hệ thống bán hàng trực tuyến an toàn và ổn định.