Bối cảnh và vấn đề nghiên cứu
Thư viện trường đại học là cơ sở vật chất trọng yếu phục vụ công tác giảng dạy, học tập và nghiên cứu khoa học, góp phần nâng cao chất lượng giáo dục toàn diện. Tại Trường Đại học Ngân hàng TP. Hồ Chí Minh (HUB), thư viện sở hữu nguồn tài liệu phong phú với gần 80.000 bản tài liệu và hệ thống cơ sở dữ liệu điện tử đa dạng. Tuy nhiên, hoạt động quản lý thư viện truyền thống thủ công đòi hỏi chuỗi công việc phức tạp và tốn nhiều công sức của đội ngũ thủ thư. Việc tin học hóa thông qua website thư viện giúp người dùng dễ dàng tra cứu vị trí, trạng thái tài liệu, đồng thời tự thực hiện các nghiệp vụ như gia hạn mượn sách trực tuyến mọi lúc, mọi nơi. Để hệ thống vận hành thông suốt và đáp ứng tốt nhu cầu bạn đọc, hoạt động kiểm thử phần mềm đóng vai trò then chốt nhằm phát hiện và khắc phục các lỗi phát sinh trong quá trình sử dụng.
Xuất phát từ thực tiễn đó, tác giả Nguyễn Thị Trà My (sinh viên lớp DH36CDS02, MSSV 030236200085) đã thực hiện đồ án chuyên ngành ngành Hệ thống Thông tin Quản lý với đề tài: "Lập kế hoạch và thực hiện hoạt động kiểm thử cho website của thư viện Trường Đại học Ngân hàng", dưới sự hướng dẫn của giảng viên Hồ Thị Linh (hoàn thành ngày 28 tháng 04 năm 2023).
Nhiệm vụ và mục tiêu nghiên cứu của đồ án bao gồm:
- Nắm vững cơ sở lý thuyết tổng quan về quy trình, cấp độ và các phương pháp kiểm thử phần mềm.
- Xác định các thông tin cơ bản về cấu trúc và các thành phần chức năng cần kiểm thử trên website thư viện.
- Xác định các yêu cầu kỹ thuật và lựa chọn kỹ thuật thiết kế ca kiểm thử (Test Case) phù hợp.
- Xây dựng bản kế hoạch kiểm thử chi tiết, ước lượng tài nguyên, chi phí và lịch trình thực hiện.
- Thiết kế và thực thi các Test Case cho các chức năng trọng yếu gồm: Đăng nhập, Đổi mật khẩu, Gia hạn tài liệu và Cho mượn sách.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình lập kế hoạch và hoạt động kiểm thử cho website Thư viện Trường Đại học Ngân hàng TP.HCM.
- Phạm vi nội dung: Đồ án tập trung nghiên cứu lý thuyết kiểm thử phần mềm và áp dụng phương pháp kiểm thử hộp đen thủ công để thiết kế Test Case cho 4 nghiệp vụ: Đăng nhập, Đổi mật khẩu, Gia hạn tài liệu và Cho mượn sách.
- Phạm vi loại trừ: Đồ án không thực hiện kiểm thử đối với các chức năng thông tin tĩnh hoặc xử lý đơn giản không có dữ liệu nhập phức tạp (Giới thiệu, Tin tức, Liên hệ, Sách mới, Hướng dẫn, Đảm bảo chất lượng, Lịch làm việc, Hỏi - Đáp), đồng thời không kiểm thử hiệu suất phần cứng và các hệ thống bên ngoài.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng nền tảng nghiên cứu dựa trên các khái niệm và nguyên lý chuẩn mực trong kỹ thuật kiểm thử phần mềm:
- Khái niệm và mục tiêu kiểm thử: Kiểm thử phần mềm là quá trình thực hiện hoặc đánh giá một hệ thống/thành phần hệ thống bằng phương tiện thủ công hoặc tự động nhằm xác minh sự thỏa mãn các yêu cầu đặc tả, đánh giá mức độ chất lượng và phát hiện lỗi để ngăn ngừa rủi ro vận hành.
- Quy trình kiểm thử 5 bước: Bao gồm (1) Lập kế hoạch kiểm thử (Test Plan); (2) Thiết kế trường hợp kiểm thử (Test Case design); (3) Phát triển kịch bản kiểm thử (Test Script development); (4) Thực hiện kiểm thử (Test Execution); (5) Đánh giá quá trình kiểm thử và báo cáo kết quả.
- Cấp độ kiểm thử: Phân cấp theo 4 mức độ phát triển gồm Kiểm thử đơn vị (Unit Test), Kiểm thử tích hợp (Integration Test), Kiểm thử hệ thống (System Test) và Kiểm thử chấp nhận (Acceptance Test).
- Phương pháp kiểm thử:
- Kiểm thử hộp đen (Black box testing): Kiểm thử hướng dữ liệu dựa trên bản đặc tả yêu cầu người dùng mà không cần can thiệp vào mã nguồn nội bộ.
- Kiểm thử hộp trắng (White box testing): Kiểm thử dựa trên cấu trúc giải thuật và đường dẫn dòng lệnh bên trong mã nguồn.
- Kiểm thử hộp xám (Gray box testing): Kết hợp giữa việc hiểu biết một phần cấu trúc bên trong để thiết kế ca kiểm thử và thực thi ở góc độ người dùng.
- Kỹ thuật thiết kế Test Case hộp đen được sử dụng:
- Kỹ thuật Bảng quyết định (Decision Table Testing): Áp dụng cho các chức năng có nhiều điều kiện đầu vào kết hợp tạo ra các hành động đầu ra tương ứng.
- Kỹ thuật Chuyển đổi trạng thái (State Transition Testing): Dựa vào sự thay đổi điều kiện đầu vào làm biến chuyển trạng thái xử lý của hệ thống.
- Phân vùng tương đương và Phân tích giá trị biên: Dùng để xác định các lớp giá trị hợp lệ và không hợp lệ của các trường dữ liệu.
Phương pháp nghiên cứu thực tế được tác giả triển khai là kiểm thử thủ công (Manual Testing) theo phương pháp kiểm thử hộp đen. Quá trình tiếp cận hệ thống được củng cố nhờ trải nghiệm thực tế 3 năm học tập và sử dụng dịch vụ thư viện HUB của chính tác giả. Nguồn dữ liệu phục vụ nghiên cứu gồm tài liệu đặc tả nghiệp vụ thư viện, quy chế mượn trả của trường và hệ thống website thư viện thực tế tại địa chỉ https://library.hub.edu.vn.
Thiết kế và triển khai kế hoạch kiểm thử
Hoạt động kiểm thử được tổ chức có hệ thống thông qua các quy định cụ thể về môi trường, công cụ, phân công nhân sự và tiêu chí đánh giá chất lượng.
Môi trường và công cụ kiểm thử
- Môi trường phần cứng và phần mềm: Máy tính cá nhân có kết nối Internet; hệ điều hành Windows 10; trình duyệt web Google Chrome.
- Công cụ hỗ trợ:
- Microsoft Office Word 2013: Sử dụng để soạn thảo tài liệu Kế hoạch kiểm thử (Test Plan).
- Microsoft Office Excel 2013: Sử dụng để thiết kế, quản lý danh sách các Ca kiểm thử (Test Case) và ghi nhận kết quả.
Phân công vai trò và trách nhiệm
| Họ và tên |
Vai trò |
Trách nhiệm chính |
| Nguyễn Thị Xuân Đào |
Test Manager |
Lập kế hoạch kiểm thử tổng thể, quản lý và theo dõi tiến độ hoạt động kiểm thử. |
| Nguyễn Thị Trà My |
Test Designer |
Thiết kế và viết các Test Case; sắp xếp mức độ ưu tiên và chuẩn bị dữ liệu kiểm thử (Test Data). |
| Nguyễn Thị Trà My |
Tester |
Trực tiếp thực thi Test Case cho 4 chức năng; đánh giá kết quả, viết báo cáo và phối hợp xử lý lỗi. |
Lịch trình công việc
| Hạng mục công việc |
Sản phẩm bàn giao |
Thời gian thực hiện |
| Lập kế hoạch kiểm thử |
Tài liệu Test Plan |
4 ngày |
| Đánh giá và xem lại tài liệu kế hoạch |
Tài liệu Test Plan |
4 ngày |
| Thiết kế các test case |
Tài liệu Test Case |
2 ngày |
| Viết chi tiết các test case |
Tài liệu Test Case |
4 ngày |
| Xem lại và chuẩn hóa test case |
Tài liệu Test Case |
2 ngày |
| Thực thi các test case trên website |
Tài liệu Test Case |
4 ngày |
| Ghi nhận và đánh giá kết quả kiểm thử |
Báo cáo kiểm thử |
2 ngày |
Tiêu chí kiểm thử và quản lý rủi ro
- Tiêu chí thành công / thất bại: Ca kiểm thử thành công khi kết quả thực tế trùng khớp với kết quả mong đợi; thất bại khi kết quả thực tế khác biệt hoặc không xuất hiện phản hồi.
- Tiêu chí đình chỉ: Tạm dừng quá trình thử nghiệm khi có từ 30% số trường hợp kiểm thử bị thất bại để nhóm phát triển tiến hành sửa lỗi.
- Tiêu chí kết thúc: 100% các trường hợp thử nghiệm quan trọng phải được thực thi và đạt kết quả Pass.
- Biện pháp xử lý rủi ro: Chuẩn bị máy tính dự phòng để tránh lỗi hệ điều hành; tham khảo tài liệu chuyên môn trên các diễn đàn để bổ trợ kỹ năng công cụ; phân bổ lại khối lượng công việc khi thời gian thực tế vượt dự kiến.
Nội dung chính theo từng chương
Chương 1. Cơ sở lý luận
Chương này trình bày hệ thống hóa cơ sở lý thuyết về kiểm thử phần mềm. Tác giả phân tích chi tiết định nghĩa, mục tiêu (ngăn ngừa lỗi, đánh giá chất lượng, đáp ứng yêu cầu kỹ thuật và người dùng) và quy trình chuẩn 5 bước. Chương 1 làm rõ 4 cấp độ kiểm thử (Unit, Integration, System, Acceptance Test) cùng các kỹ thuật hộp đen, hộp trắng và hộp xám.
Bên cạnh đó, tác giả phân loại các hoạt động kiểm thử website chuyên biệt bao gồm: kiểm thử chức năng (liên kết, biểu mẫu form, cookie/session, cơ sở dữ liệu, HTML/CSS), kiểm thử bảo mật, khả năng sử dụng, tính tương thích trên trình duyệt/thiết bị, trải nghiệm giao diện máy chủ và kiểm thử hiệu suất. Chương 1 cũng chuẩn hóa cấu trúc của một Test Case hoàn chỉnh gồm 6 thành phần: Mã Test Case (ID), Mô tả mục đích (Description), Dữ liệu kiểm thử (Test Data), Các bước thực hiện (Test Steps), Kết quả mong muốn (Expected Result) và Kết quả thực tế (Test Result).
Chương 2. Mô tả hệ thống và phương pháp tiếp cận hệ thống
Chương 2 tập trung khảo sát thực trạng nghiệp vụ và cấu trúc của hệ thống thư viện HUB. Về mặt nghiệp vụ, hoạt động mượn sách diễn ra trực tiếp tại quầy thủ thư thông qua việc quét mã vạch thẻ sinh viên (kiểm tra hạn đào tạo, số lần nợ sách, số lần trễ hạn) và quét mã vạch sách (kiểm tra danh mục và số lượng khả dụng). Quy trình trả sách cũng được thủ thư quét mã vạch để ghi nhận, trường hợp trễ hạn hoặc hỏng sách sẽ bị xử phạt. Nghiệp vụ gia hạn được hỗ trợ thực hiện trực tuyến trên website thông qua tài khoản cá nhân.
Hệ thống phục vụ đa dạng nhóm đối tượng gồm: Sinh viên HUB, Học viên Cao học, Nghiên cứu sinh, Sinh viên ngoài HUB, Cán bộ viên chức và Người lao động của trường. Hệ thống phần mềm bao gồm 5 nhóm chức năng chính:
- Đăng nhập: Xác thực người dùng qua Mã số thẻ và Mật khẩu.
- Tra cứu tài liệu: Hỗ trợ 3 cấp độ tìm kiếm gồm Tìm cơ bản, Tìm nâng cao và Tìm chi tiết theo nhan đề, tác giả, môn học và tình trạng kho sách.
- Mượn trả sách: Ghi nhận lịch sử và theo dõi trạng thái tài liệu.
- Gia hạn thời gian mượn trả: Cho phép kéo dài thời gian mượn sách trực tuyến.
- Cập nhật thông tin cá nhân: Đổi mật khẩu và chỉnh sửa thông tin người dùng.
Chương 3. Lập kế hoạch kiểm thử website thư viện đại học ngân hàng
Chương 3 xây dựng khung kế hoạch kiểm thử chi tiết cho website thư viện. Tác giả xác định phạm vi kiểm thử trọng tâm vào 4 nghiệp vụ: Đăng nhập, Đổi mật khẩu, Gia hạn tài liệu và Cho mượn sách; đồng thời phân định rõ các chức năng loại trừ không kiểm thử. Chương này thiết lập môi trường thử nghiệm trên hệ điều hành Windows 10 với trình duyệt Google Chrome, quy định công cụ Word/Excel 2013, phân định vai trò giữa Test Manager (Nguyễn Thị Xuân Đào), Test Designer và Tester (Nguyễn Thị Trà My), cùng lịch trình triển khai từng bước và các mốc kiểm soát rủi ro.
Chương 4. Thiết kế test case cho các chức năng của website
Chương 4 là phần trọng tâm triển khai thiết kế và thực thi các ca kiểm thử chi tiết:
- Chức năng Đăng nhập: Áp dụng kỹ thuật Bảng quyết định với các ràng buộc: Mã số thẻ có độ dài [5, 12] ký tự, Mật khẩu có độ dài [6, 15] ký tự chứa ký tự đặc biệt. Tác giả thiết kế 4 Test Case kiểm tra các tổ hợp đúng/sai của Mã số thẻ và Mật khẩu (TC01 đến TC04), kết hợp kiểm thử giao diện (UI) và bảo mật/phiên (phân biệt hoa thường, không lưu mật khẩu trong cookie, chặn copy-paste mật khẩu, xóa trắng trường khi refresh).
- Chức năng Đổi mật khẩu: Áp dụng kỹ thuật Chuyển đổi trạng thái với mô hình 8 trạng thái (từ S1 đến S8). Hệ thống cho phép người dùng nhập sai mật khẩu cũ tối đa 5 lần (S2 đến S6). Nếu nhập đúng ở bất kỳ lần nào, hệ thống chuyển sang trạng thái chấp nhận (S7). Nếu nhập sai liên tiếp 5 lần, hệ thống tự động khóa chức năng đổi mật khẩu trong 5 phút (S8). Tác giả thiết kế 6 kịch bản kiểm thử bao phủ toàn bộ cây chuyển đổi trạng thái.
- Chức năng Gia hạn tài liệu: Quy tắc nghiệp vụ quy định thời gian mượn sách ban đầu không quá 10 ngày; sinh viên được gia hạn tối đa 2 lần, mỗi lần cộng thêm 10 ngày; tổng thời gian mượn không vượt quá 30 ngày. Bảng quyết định gồm 8 tổ hợp được rút gọn thành 4 Test Case chính kiểm tra: gia hạn lần 1 (+10 ngày, nút gia hạn vẫn sáng), gia hạn lần 2 (+10 ngày, nút gia hạn mờ đi/vô hiệu hóa), và trạng thái nút bấm sau các lần gia hạn.
- Chức năng Cho mượn sách: Kiểm tra 4 điều kiện nghiệp vụ đồng thời: (a) Có thẻ sinh viên hợp lệ; (b) Sách cần mượn có số lượng khả dụng trong thư viện (> 0); (c) Số lượng sách hiện đang giữ không vượt quá 2 cuốn (để mượn tối đa 3 cuốn); (d) Số lần quá hạn trả sách không vượt quá 5 lần. Tác giả thiết kế bảng quyết định 16 cột tổ hợp, xây dựng 8 Test Case (TC1 kiểm thử cho mượn khi thỏa 4 điều kiện; TC2 đến TC5 kiểm thử từ chối mượn khi vi phạm từng điều kiện đơn lẻ; TC6 đến TC8 kiểm thử số lượng sách tối đa được mượn thêm là 3, 2, 1 tương ứng với số sách hiện đang giữ là 0, 1, 2 cuốn).
- Ma trận truy xuất nguồn gốc (Traceability Matrix): Thiết lập mối liên kết giữa các yêu cầu chức năng (Req1 đến Req4) với toàn bộ 21 Test Case, đảm bảo tính bao phủ đầy đủ các yêu cầu đặc tả.
Kết quả và đóng góp
Kết quả định lượng
Đồ án đã thực hiện kiểm thử thành công trên toàn bộ 4 phân hệ chức năng với các chỉ số định lượng cụ thể:
| Phân hệ chức năng |
Số Test Case đạt (Pass) |
Số Test Case không đạt (Fail) |
Tổng số Test Case |
Tỷ lệ đạt (Pass Rate) |
| Đăng nhập |
4 |
0 |
4 |
100% |
| Đổi mật khẩu |
5 |
0 |
5 |
100% |
| Gia hạn tài liệu |
4 |
0 |
4 |
100% |
| Cho mượn sách |
8 |
0 |
8 |
100% |
| Tổng cộng toàn hệ thống |
21 |
0 |
21 |
100% |
Các chỉ số thực thi tổng hợp của đợt kiểm thử:
- Tổng số Test Case đã thực hiện: 21 Test Case.
- Tỷ lệ thực thi (Run rate): Đạt 95,23% (tương ứng 20 Test Case ghi nhận vận hành đầy đủ các bước thực tế).
- Tỷ lệ vượt qua (Pass rate): Đạt 100% trên các ca thử nghiệm hợp lệ.
- Căn cứ theo các tiêu chí đã đề ra, website thư viện HUB đáp ứng đầy đủ điều kiện kết thúc kiểm thử.
Đóng góp của đề tài
- Chuẩn hóa tài liệu kiểm thử: Xây dựng bộ tài liệu Kế hoạch kiểm thử (Test Plan) và biểu mẫu Ca kiểm thử (Test Case) chi tiết, khoa học, có thể áp dụng trực tiếp cho việc quản lý chất lượng các cổng thông tin thư viện đại học.
- Ứng dụng phương pháp luận chặt chẽ: Hiện thực hóa các kỹ thuật kiểm thử hộp đen nâng cao (Bảng quyết định và Sơ đồ chuyển đổi trạng thái) vào giải quyết các bài toán nghiệp vụ thực tế có nhiều điều kiện ràng buộc phức tạp như cho mượn và gia hạn sách.
- Đánh giá tính sẵn sàng của hệ thống: Cung cấp cơ sở dữ liệu kiểm nghiệm thực tế chứng minh website thư viện HUB vận hành chính xác các quy tắc nghiệp vụ cốt lõi và đảm bảo an toàn phiên làm việc của người dùng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Hoạt động kiểm thử hoàn toàn sử dụng phương pháp thủ công (Manual Testing), chưa áp dụng các công cụ kiểm thử tự động (Automation Testing) như Selenium hay JMeter để kiểm tra hồi quy và hiệu năng tải.
- Phạm vi kiểm thử mới chỉ tập trung vào 4 chức năng chính (Đăng nhập, Đổi mật khẩu, Gia hạn tài liệu, Cho mượn sách), chưa mở rộng bao phủ toàn bộ các phân hệ và liên kết khác trên website thư viện.
Hướng nghiên cứu tiếp
- Mở rộng quy mô và độ phức tạp của các ca kiểm thử trên toàn bộ các phân hệ của website thư viện.
- Nghiên cứu và tích hợp các công cụ kiểm thử tự động nhằm nâng cao hiệu suất kiểm tra và hỗ trợ kiểm thử cơ sở dữ liệu chuyên sâu.
Giá trị tham khảo
Tài liệu đồ án là nguồn tham khảo hữu ích cho:
- Sinh viên chuyên ngành Hệ thống Thông tin Quản lý, Công nghệ Thông tin, Kỹ thuật Phần mềm đang học tập các học phần Đảm bảo chất lượng phần mềm (QA/QC) và Kiểm thử phần mềm.
- Kiểm thử viên và sinh viên thực hiện khóa luận tốt nghiệp cần mẫu tham khảo chuẩn mực về cách lập Kế hoạch kiểm thử (Test Plan), thiết kế Ma trận truy xuất nguồn gốc (Traceability Matrix) và kỹ thuật xây dựng Test Case bằng Bảng quyết định và Sơ đồ chuyển đổi trạng thái.
- Bộ phận quản trị hệ thống thư viện các trường đại học tham khảo quy trình nghiệp vụ và các tiêu chí kiểm soát chất lượng phần mềm mượn trả trực tuyến.
Câu hỏi thường gặp
1. Quy tắc và giới hạn gia hạn tài liệu trên website Thư viện HUB được quy định như thế nào?
Sinh viên có thời gian mượn ban đầu không quá 10 ngày. Mỗi tài liệu được phép gia hạn trực tuyến tối đa 2 lần, mỗi lần cộng thêm 10 ngày vào hạn trả. Tổng thời gian mượn tối đa cho một cuốn sách không vượt quá 30 ngày tính từ ngày mượn đầu tiên. Sau khi gia hạn đủ 2 lần, nút chức năng gia hạn trên giao diện sẽ tự động mờ đi (vô hiệu hóa).
2. Những điều kiện bắt buộc để sinh viên được phép mượn sách tại thư viện là gì?
Sinh viên phải thỏa mãn đồng thời 4 điều kiện: (1) Có thẻ sinh viên hợp lệ và còn trong thời gian đào tạo; (2) Đầu sách cần mượn có số lượng khả dụng trong kho lớn hơn 0; (3) Số lượng sách hiện đang mượn không vượt quá 2 cuốn (tổng số sách mượn tối đa là 3 cuốn); (4) Số lần trả sách quá hạn trước đó không vượt quá 5 lần.
3. Kỹ thuật Chuyển đổi trạng thái được áp dụng cho chức năng Đổi mật khẩu như thế nào?
Kỹ thuật này mô hình hóa hành vi hệ thống qua 8 trạng thái (S1 đến S8). Người dùng được phép thử lại mật khẩu cũ tối đa 5 lần. Nếu nhập đúng ở bất kỳ lần nào, hệ thống chuyển sang trạng thái cấp quyền đổi mật khẩu (S7). Nếu nhập sai liên tiếp 5 lần, hệ thống sẽ kích hoạt trạng thái S8, tự động khóa chức năng Đổi mật khẩu trong thời gian 5 phút để bảo vệ tài khoản.
4. Tiêu chí đình chỉ và kết thúc kiểm thử trong đồ án được xác lập ra sao?
Quá trình kiểm thử sẽ bị đình chỉ (tạm ngừng) nếu tỷ lệ ca kiểm thử không thành công đạt từ 30% tổng số trường hợp kiểm tra, nhằm chuyển giao cho nhóm phát triển khắc phục lỗi. Quá trình kiểm thử chính thức kết thúc khi 100% tất cả các trường hợp thử nghiệm quan trọng đều vượt qua (Pass).
5. Kết quả thực thi các ca kiểm thử đạt tỷ lệ bao nhiêu?
Tổng cộng 21 Test Case đã được thiết kế và thực thi cho 4 chức năng. Toàn bộ 21 Test Case đều đạt kết quả Pass (tỷ lệ đạt 100%), tỷ lệ thực thi đạt 95,23% (20 Test Case ghi nhận đầy đủ kịch bản vận hành), đáp ứng trọn vẹn tiêu chí kết thúc kiểm thử của đồ án.
Kết luận
Đồ án chuyên ngành của tác giả Nguyễn Thị Trà My đã hoàn thành xuất sắc mục tiêu nghiên cứu lý luận kiểm thử phần mềm và triển khai kế hoạch kiểm thử thực tế cho website Thư viện Trường Đại học Ngân hàng TP.HCM. Thông qua việc ứng dụng chuẩn mực kỹ thuật Bảng quyết định và Chuyển đổi trạng thái, tác giả đã thiết kế và thực thi thành công 21 Test Case cho 4 nghiệp vụ cốt lõi với tỷ lệ đạt 100%. Công trình là tài liệu thực hành hoàn chỉnh về quy trình kiểm thử hộp đen thủ công, đồng thời tạo tiền đề thuận lợi cho việc mở rộng nghiên cứu sang lĩnh vực kiểm thử tự động trong tương lai.