Tổng quan nghiên cứu

Quá trình chuyển đổi số trong giáo dục tại Việt Nam đang diễn ra mạnh mẽ, đòi hỏi các nền tảng công nghệ thông tin phục vụ học tập và quản lý phải vận hành liên tục với độ tin cậy tuyệt đối. Nền tảng vnEdu do Công ty Công nghệ thông tin VNPT (VNPT-IT) phát triển hiện là hệ sinh thái giáo dục số một Việt Nam, phục vụ hơn 29.000 cơ sở giáo dục, hơn 800.000 giáo viên và tiếp cận gần 9.000.000 học sinh trên toàn bộ 63 tỉnh, thành phố. Hệ thống vận hành trên hạ tầng phức tạp gồm 11 máy chủ ứng dụng và 10 máy chủ cơ sở dữ liệu.

Trong bối cảnh phát triển theo mô hình Agile/Scrum với chu kỳ sprint 2 tuần, hệ thống phải tiếp nhận và xử lý hơn 300 yêu cầu thay đổi mỗi sprint. Việc cập nhật phần mềm được thực hiện định kỳ 2 lần mỗi tuần vào thứ Ba và thứ Năm. Tuy nhiên, đội ngũ kiểm thử chất lượng chỉ có 5 nhân sự, tạo ra áp lực khổng lồ trong công tác kiểm thử hồi quy thủ công. Các sai sót do yếu tố con người đã từng dẫn đến sự cố nghiêm trọng trên môi trường production, đơn cử như lỗi ràng buộc mã định danh Bộ Giáo dục và Đào tạo vào ngày 15/06/2021 hay lỗi phê duyệt giáo án ngày 16/12/2021.

Mục tiêu cốt lõi của nghiên cứu là xây dựng và hoàn thiện giải pháp kiểm thử chức năng tự động cho hệ sinh thái vnEdu trên nền tảng Web. Nghiên cứu tập trung giải quyết bài toán tối ưu hóa nguồn lực kiểm thử, rút ngắn thời gian phát hành phần mềm và giảm thiểu tối đa tỷ lệ phát sinh lỗi hồi quy. Phạm vi thực nghiệm được thực hiện xuyên suốt 12 tháng tại Trung tâm Giải pháp Giáo dục điện tử thuộc VNPT-IT, chứng minh tính khả thi và hiệu quả kinh tế rõ rệt thông qua các chỉ số định lượng cụ thể.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng lý thuyết kiểm thử phần mềm tiêu chuẩn, kết hợp các nguyên lý phát triển linh hoạt và tự động hóa chất lượng phần mềm hiện đại:

  • Lý thuyết Kiểm thử Chức năng và Kiểm thử Hồi quy (Functional & Regression Testing): Xác minh các chức năng của hệ thống đáp ứng chính xác đặc tả yêu cầu kinh doanh. Kiểm thử hồi quy đảm bảo việc cập nhật mã nguồn mới không làm gián đoạn các tính năng đã vận hành ổn định.
  • Mô hình Page Object Model (POM): Mẫu thiết kế phân tách rõ ràng giữa giao diện người dùng (User Interface Elements/Locators) và các thao tác nghiệp vụ (Page Actions). Mô hình này giúp tăng tính module hóa, giảm thiểu trùng lặp mã nguồn và cho phép bảo trì kịch bản độc lập khi giao diện có sự thay đổi.
  • Kiến trúc Kiểm thử Hướng từ khóa (Keyword-Driven Testing): Trừu tượng hóa các dòng lệnh phức tạp thành các từ khóa ngữ nghĩa gần với ngôn ngữ tự nhiên. Phương pháp này cho phép các kiểm thử viên không có nền tảng lập trình chuyên sâu vẫn có thể nhanh chóng xây dựng và mở rộng kịch bản kiểm thử.
  • Khung Tích hợp Liên tục (CI/CD Pipeline): Kết hợp các công cụ tự động hóa gồm Jenkins Blue Ocean, SonarQube phân tích mã tĩnh, Nexus Repository Manager và Robot Framework nhằm thiết lập quy trình kiểm thử tự động khép kín trước và sau khi triển khai bản dựng.

Phương pháp nghiên cứu

Nghiên cứu áp dụng phương pháp thực nghiệm kết hợp đối chuẩn định lượng:

  • Cỡ mẫu và phân bổ: Nghiên cứu thiết lập tập mẫu thử nghiệm ban đầu gồm 14 ca kiểm thử (test cases), sau đó mở rộng lên 160 ca kiểm thử bao phủ toàn diện 5 phân hệ cốt lõi gồm: Đăng nhập, Quản lý Nhân sự, Quản lý Lớp học, Quản lý Học sinh và Quản lý Kết quả học tập.
  • Phương pháp chọn mẫu: Áp dụng phương pháp chọn mẫu có chủ đích (purposive sampling). Tiêu chí lựa chọn dựa trên phân tích tần suất xảy ra lỗi hồi quy thực tế trong 3 năm vận hành, ưu tiên các màn hình có cấu trúc bảng biểu, form nhập liệu phức tạp và tần suất người dùng thao tác cao. Đồng thời, nghiên cứu chủ động loại trừ các chức năng không phù hợp tự động hóa giai đoạn đầu như mã Captcha, chữ ký số qua USB Token và dịch vụ gửi SMS Brandname.
  • Phương pháp phân tích và đối chuẩn: Nghiên cứu so sánh định lượng giữa 3 nền tảng kiểm thử hàng đầu là Selenium WebDriver, Katalon Studio và Robot Framework dựa trên 7 tiêu chí: khả năng triển khai, độ phức tạp cài đặt, chi phí bản quyền, khả năng nâng cấp, tính dễ bảo trì, mức độ hỗ trợ cộng đồng và định dạng báo cáo. Robot Framework được lựa chọn nhờ ưu thế mã nguồn mở (chi phí bản quyền 0 USD so với 1.999 USD/năm của Katalon Studio) và khả năng mở rộng linh hoạt bằng ngôn ngữ Python.
  • Timeline thực nghiệm: Quá trình nghiên cứu và thực nghiệm được tiến hành liên tục trong 12 tháng từ đầu năm 2023 đến năm 2024 tại môi trường thực tế của VNPT-IT.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình ứng dụng khung kiểm thử tự động Robot Framework kết hợp mô hình Page Object Model vào hệ sinh thái vnEdu đã mang lại những bước đột phá về mặt dữ liệu và hiệu năng:

  • Tăng trưởng vượt bậc quy mô kịch bản: Số lượng kịch bản kiểm thử tự động tăng 800%, mở rộng từ 20 kịch bản thử nghiệm ban đầu lên 160 kịch bản hoàn chỉnh, bao phủ hầu như toàn bộ các nghiệp vụ trọng yếu trên giao diện web của vnEdu.
  • Phát hiện sớm lỗi hệ thống: Bộ công cụ kiểm thử tự động đã phát hiện tổng cộng 56 lỗi nghiệp vụ phát sinh từ sớm trong các chu kỳ kiểm thử hồi quy tại môi trường Staging. Nhờ đó, tỷ lệ lỗi lọt lên môi trường production giảm 25% so với giai đoạn kiểm thử thủ công hoàn toàn.
  • Tiết kiệm 75% thời gian kiểm thử hồi quy: Trước khi áp dụng giải pháp, mỗi lần phát hành cần 3 kiểm thử viên thực hiện trong 2 giờ tại môi trường Staging và 2 giờ tại môi trường Production (tổng cộng 8 giờ công mỗi lần release). Với tần suất 2 lần/tuần, tổng thời gian kiểm thử hồi quy thủ công tiêu tốn 16 giờ/tuần, tương đương 128 giờ/tháng và 1.536 giờ/năm. Khi đưa kiểm thử tự động vào quy trình, thời gian kiểm tra chỉ còn 2 giờ mỗi đợt phát hành, tương đương 4 giờ/tuần và 384 giờ/năm, giúp tiết kiệm chính xác 75% quỹ thời gian của đội ngũ QA.
  • Nâng cao năng suất bảo trì kịch bản: Thời gian bảo trì kịch bản giảm gần 5 lần. Vào tháng 3/2023, việc bảo trì 35 kịch bản tiêu tốn 6 giờ/tháng; đến tháng 12/2023, thời gian bảo trì toàn bộ 160 kịch bản chỉ còn 5 giờ/tháng.

Thảo luận kết quả

Các kết quả thực nghiệm có thể được tổng hợp trực quan qua bảng dữ liệu so sánh hiệu suất kiểm thử trước và sau khi triển khai tự động hóa:

Chỉ số đánh giá Kiểm thử thủ công Kiểm thử tự động (Robot Framework) Mức độ cải thiện
Thời gian kiểm thử hồi quy/lần release 8 giờ công 2 giờ công Giảm 75%
Tổng thời gian kiểm thử/năm 1.536 giờ 384 giờ Tiết kiệm 1.152 giờ
Tỷ lệ lỗi lọt lên môi trường thật Mức cơ sở (100%) Giảm 25% Cải thiện chất lượng rõ rệt
Tỷ lệ nhân sự làm chủ công cụ 0% 100% (5/5 kiểm thử viên) Chuẩn hóa toàn diện
Thời gian bảo trì trung bình/kịch bản 0,17 giờ/kịch bản/tháng 0,031 giờ/kịch bản/tháng Tối ưu hơn 5 lần

Dữ liệu trên biểu đồ xu hướng phát hiện lỗi qua các sprint cho thấy các ca lỗi chủ yếu xuất phát từ hiện tượng xung đột logic khi nâng cấp các tính năng phụ thuộc. Cơ chế tự động hóa đã phát hiện ngay các sai lệch này trước khi đóng gói bản phát hành.

Đặc biệt, nghiên cứu đã giải quyết triệt để bài toán kết quả sai lệch do lỗi đường truyền mạng bằng việc phát triển từ khóa tùy biến Rerun_Testcases, thiết lập cơ chế tự động chạy lại tối đa 3 lần đối với các ca kiểm thử thất bại. Kịch bản chỉ bị đánh dấu thất bại khi cả 3 lần thực thi đều không thành công. Song song đó, việc tích hợp module đọc ghi thư viện Excel và bot Telegram tự động đẩy kết quả sau mỗi phiên kiểm thử giúp toàn bộ đội ngũ phát triển và quản lý dự án nắm bắt trạng thái hệ thống theo thời gian thực mà không cần truy cập trực tiếp vào máy chủ kiểm thử.

Đề xuất và khuyến nghị

Dựa trên kết quả thực nghiệm thành công tại hệ sinh thái vnEdu, nghiên cứu đưa ra 4 nhóm giải pháp chiến lược nhằm tối ưu hóa và nhân rộng mô hình kiểm thử tự động:

  • Tối ưu hóa thời gian thực thi bằng kiến trúc chạy song song (Parallel Execution): Đội ngũ kỹ thuật cần triển khai giải pháp phân tán luồng kiểm thử qua môi trường ảo hóa Docker và Robot Framework Pabot. Mục tiêu giảm 50% tổng thời gian thực thi toàn bộ 160 kịch bản từ 45 phút xuống dưới 20 phút trong giai đoạn quý 1 năm 2025, đáp ứng yêu cầu kiểm thử nhanh trong các đợt cập nhật khẩn cấp.
  • Mở rộng khả năng tương tác phần tử không có XPath: Bộ phận nghiên cứu kiểm thử cần tích hợp bổ sung các thư viện nhận diện hình ảnh và tọa độ như AutoIT hoặc Sikuli. Giải pháp này giúp giải quyết hạn chế tương tác với các cửa sổ pop-up của hệ điều hành, hộp thoại xác thực chữ ký số USB Token và màn hình nhúng flash trong lộ trình 6 tháng tiếp theo.
  • Xây dựng hệ thống quản trị dữ liệu kiểm thử tập trung (Centralized Test Dashboard): Doanh nghiệp cần phát triển nền tảng TestOps Dashboard trung tâm kết nối trực tiếp với máy chủ Jenkins. Hệ thống này sẽ lưu trữ lịch sử kiểm thử, phân tích xu hướng lỗi qua biểu đồ tương tác và cung cấp báo cáo đo lường độ ổn định cho ban lãnh đạo theo chu kỳ hàng quý.
  • Chuẩn hóa quy trình và đào tạo chuyển giao nội bộ: Đơn vị quản lý chất lượng cần áp dụng bộ quy trình 7 bước đã kiểm chứng vào toàn bộ các dự án phần mềm mới. Đảm bảo 100% nhân sự kiểm thử mới được đào tạo thành thạo cấu trúc template Page Object Model trong 30 ngày đầu tiếp nhận công việc.

Đối tượng nên tham khảo luận văn

Công trình nghiên cứu mang giá trị thực tiễn cao và là tài liệu tham khảo quan trọng cho 4 nhóm đối tượng chính:

  • Kiểm thử viên và chuyên viên đảm bảo chất lượng phần mềm (QA/QC Testers): Cung cấp tài liệu hướng dẫn chi tiết cách thức chuyển đổi từ kiểm thử thủ công sang tự động hóa, kỹ thuật xây dựng từ khóa tùy biến trong Robot Framework và phương pháp áp dụng mô hình Page Object Model để quản lý kịch bản khoa học.
  • Kỹ sư DevOps và Kiến trúc sư giải pháp phần mềm: Cung cấp mô hình tham chiếu thực tế về việc tích hợp trơn tru bộ kịch bản kiểm thử vào chuỗi CI/CD tự động (Jenkins, SonarQube, Nexus, Telegram Bot), giúp thiết lập quy trình kiểm thử tự động khép kín trước khi phát hành mã nguồn.
  • Nhà quản lý dự án và Giám đốc công nghệ (PM/CTO) tại các doanh nghiệp EdTech: Cung cấp bức tranh tổng thể về bài toán chi phí - lợi ích (ROI) khi triển khai tự động hóa trên các hệ thống lớn có hàng triệu người dùng, giúp đưa ra quyết định lựa chọn công nghệ kiểm thử phù hợp với ngân sách.
  • Giảng viên, học viên cao học và sinh viên ngành Hệ thống thông tin, Công nghệ phần mềm: Là nguồn tài liệu học thuật thực chứng xuất sắc về ứng dụng công nghệ kiểm thử hiện đại trong việc giải quyết các bài toán vận hành quy mô lớn tại các tập đoàn viễn thông - công nghệ hàng đầu.

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

1. Vì sao đề tài lựa chọn Robot Framework thay vì Selenium thuần hay Katalon Studio?
Robot Framework là công cụ mã nguồn mở hoàn toàn miễn phí, giúp doanh nghiệp tiết kiệm khoản chi phí bản quyền lên tới 1.999 USD/năm/người dùng so với Katalon Studio. Đồng thời, cấu trúc hướng từ khóa (Keyword-Driven) của Robot Framework rất thân thiện, giúp đội ngũ kiểm thử viên vốn có kỹ năng lập trình hạn chế nhanh chóng làm chủ và mở rộng kịch bản dễ dàng hơn so với việc viết mã phức tạp trên Selenium WebDriver thuần.

2. Giải pháp xử lý hiện tượng kiểm thử thất bại do lỗi mạng hoặc độ trễ hệ thống như thế nào?
Đề án đã phát triển từ khóa tùy biến Rerun_Testcases tích hợp trực tiếp vào tệp kịch bản kiểm thử. Khi phát hiện một bước kiểm thử thất bại do nguyên nhân khách quan như mạng chậm hoặc phần tử chưa kịp tải, hệ thống sẽ tự động thực thi lại kịch bản đó tối đa 3 lần. Chỉ khi cả 3 lần thực thi đều thất bại thì kết quả lỗi mới được ghi nhận chính thức vào báo cáo.

3. Những tính năng nào trong hệ thống web không nên áp dụng kiểm thử tự động trong giai đoạn đầu?
Các tính năng có cơ chế chống tự động hóa như mã Captcha, các chức năng phụ thuộc vào thiết bị phần cứng ngoại vi như xác thực chữ ký số qua USB Token, các dịch vụ gửi tin nhắn SMS đến điện thoại thật, hoặc các báo cáo thống kê chuyên ngành EMIS với lượng dữ liệu quá lớn không nên tự động hóa ở giai đoạn đầu do chi phí bảo trì và độ phức tạp kỹ thuật rất cao.

4. Mô hình Page Object Model (POM) đem lại lợi ích cụ thể gì trong việc bảo trì kịch bản?
Mô hình Page Object Model phân tách hoàn toàn giữa định danh phần tử giao diện (locators) và luồng xử lý nghiệp vụ (actions). Khi giao diện phần mềm vnEdu có sự điều chỉnh, kiểm thử viên chỉ cần sửa đổi thông tin phần tử tại một tệp tài nguyên duy nhất thay vì phải rà soát, chỉnh sửa hàng chục kịch bản kiểm thử liên quan, giúp giảm thời gian bảo trì kịch bản xuống dưới 5 giờ/tháng cho 160 kịch bản.

5. Hiệu quả kinh tế nổi bật nhất mà đề án mang lại cho tổ chức là gì?
Hiệu quả kinh tế lớn nhất là cắt giảm 75% thời gian và nhân lực dành cho công tác kiểm thử hồi quy định kỳ, tương đương tiết kiệm 1.152 giờ công kiểm thử mỗi năm. Ngoài ra, việc phát hiện sớm 56 lỗi nghiêm trọng tại môi trường Staging đã ngăn chặn nguy cơ gián đoạn dịch vụ trên 29.000 trường học, bảo vệ uy tín thương hiệu và giảm thiểu tối đa chi phí khắc phục sự cố sau phát hành.

Kết luận

  • Đề tài đã hoàn thành xuất sắc mục tiêu nghiên cứu lý thuyết và xây dựng thành công bộ khung kiểm thử chức năng tự động toàn diện cho hệ sinh thái giáo dục vnEdu trên nền tảng Web.
  • Ứng dụng hiệu quả mô hình Page Object Model và công nghệ hướng từ khóa của Robot Framework, giúp chuẩn hóa 100% kỹ năng tự động hóa cho đội ngũ kiểm thử viên nội bộ.
  • Thực nghiệm thực tế khẳng định giá trị vượt trội: mở rộng thành công 160 ca kiểm thử, phát hiện 56 lỗi hệ thống từ sớm, giảm 25% tỷ lệ lỗi trên môi trường thật và tiết kiệm 75% quỹ thời gian kiểm thử hồi quy hàng năm.
  • Tích hợp hoàn chỉnh chu trình kiểm thử tự động vào hệ thống CI/CD khép kín của VNPT-IT, kết hợp thông báo tức thời qua Telegram Bot và xuất báo cáo quản trị định dạng Excel chuẩn xác.
  • Lộ trình phát triển tiếp theo trong năm 2025 tập trung vào việc triển khai thực thi song song trên môi trường container Docker, tích hợp thư viện xử lý phần tử phi web và xây dựng nền tảng Dashboard quản trị chất lượng tập trung.

Quý cơ quan, doanh nghiệp và các nhóm nghiên cứu quan tâm đến giải pháp tự động hóa kiểm thử phần mềm quy mô lớn có thể tham khảo toàn văn luận văn hoặc liên hệ tác giả để trao đổi chuyên môn, tiếp nhận chuyển giao quy trình và bộ template kịch bản thực nghiệm.