Trường đại học
Trường Đại Học Công NghệChuyên ngành
Công Nghệ Thông TinNgười đăng
Ẩn danhThể loại
Đồ Án Tốt Nghiệp2023
Phí lưu trữ
30.000 VNĐMục lục chi tiết
Tóm tắt
Trong bối cảnh chuyển đổi số giáo dục, các website hay hệ thống quản lý trường học đã trở thành nền tảng cốt lõi, kết nối nhà trường, giáo viên, học sinh và phụ huynh. Sự ổn định, chính xác và an toàn của các hệ thống này ảnh hưởng trực tiếp đến chất lượng giảng dạy và vận hành. Do đó, việc kiểm thử phần mềm không còn là một lựa chọn mà là yêu cầu bắt buộc. Một quy trình kiểm thử toàn diện đảm bảo rằng mọi chức năng, từ quản lý điểm số đến cổng thông tin liên lạc, đều hoạt động trơn tru, không có lỗi nghiêm trọng. Nó giúp xác định sớm các lỗ hổng bảo mật, ngăn chặn rủi ro rò rỉ dữ liệu nhạy cảm của học sinh và nhân sự. Hơn nữa, việc tối ưu hóa hiệu năng và trải nghiệm người dùng thông qua kiểm thử góp phần nâng cao sự hài lòng và mức độ tương tác của tất cả các bên liên quan, khẳng định uy tín và chất lượng của tổ chức giáo dục.
Sự phát triển của công nghệ đã biến đổi sâu sắc ngành giáo dục, dẫn đến sự ra đời của các phần mềm quản lý trường học (SMS), hệ thống quản lý học tập (LMS) và hệ thống thông tin sinh viên (SIS). Theo tài liệu nghiên cứu của nhóm sinh viên trường Đại học Công nghệ Đông Á, quản lý trường học là một công việc phức tạp, bao gồm nhiều hoạt động từ giảng dạy, học tập, quản lý học sinh, nhân sự đến tài chính. Các hệ thống này được thiết kế để giải quyết những thách thức đó, tự động hóa các quy trình thủ công, cung cấp một nền tảng tập trung để quản lý thông tin chính xác và kịp thời. Các module chính thường bao gồm quản lý hồ sơ học sinh, quản lý giáo viên, quản lý lớp học, môn học và cổng thông tin liên lạc. Việc đảm bảo các module này hoạt động chính xác và tương tác liền mạch với nhau là mục tiêu hàng đầu của quá trình kiểm thử.
Mục tiêu của kiểm thử phần mềm giáo dục (EdTech) là xác minh và xác thực rằng sản phẩm đáp ứng đầy đủ các yêu cầu về chức năng, hiệu năng, bảo mật và khả năng sử dụng. Cụ thể, quá trình này nhằm phát hiện sớm các lỗi (bugs), sai sót trong logic nghiệp vụ, và các điểm yếu có thể bị khai thác. Một mục tiêu quan trọng khác là đảm bảo trải nghiệm người dùng tích cực. Điều này được thực hiện thông qua kiểm thử giao diện người dùng (UI testing) và kiểm thử trải nghiệm người dùng (UX testing), đảm bảo hệ thống dễ sử dụng, trực quan cho cả quản trị viên, giáo viên và học sinh. Cuối cùng, kiểm thử giúp xây dựng niềm tin cho người dùng cuối và các bên liên quan, chứng minh rằng hệ thống là một công cụ đáng tin cậy để hỗ trợ công tác quản lý và giáo dục.
Việc kiểm thử một hệ thống quản lý trường học đối mặt với nhiều thách thức đặc thù. Hệ thống này có cấu trúc phức tạp với nhiều module lồng ghép và các luồng nghiệp vụ đa dạng, đòi hỏi sự hiểu biết sâu về cả kỹ thuật và quy trình giáo dục. Dữ liệu trong hệ thống, bao gồm thông tin cá nhân của học sinh, giáo viên và phụ huynh, cực kỳ nhạy cảm, đặt ra yêu cầu rất cao về bảo mật. Hơn nữa, hệ thống phải phục vụ nhiều nhóm người dùng khác nhau (quản trị viên, giáo viên, học sinh, phụ huynh) với các quyền truy cập và giao diện riêng biệt, làm tăng độ phức tạp cho việc thiết kế kịch bản kiểm thử. Việc đảm bảo hiệu năng ổn định khi có hàng ngàn người dùng truy cập đồng thời vào các thời điểm cao điểm như mùa tuyển sinh hay công bố điểm thi cũng là một bài toán khó. Những thách thức này đòi hỏi một chiến lược và kế hoạch kiểm thử (test plan) bài bản.
An toàn thông tin là ưu tiên hàng đầu. Một lỗ hổng trong kiểm thử bảo mật cổng thông tin phụ huynh hoặc hệ thống quản lý học sinh có thể dẫn đến hậu quả nghiêm trọng như rò rỉ dữ liệu cá nhân. Các kịch bản tấn công như SQL Injection, Cross-Site Scripting (XSS), hay truy cập trái phép cần được kiểm tra kỹ lưỡng. Thêm vào đó, hệ thống phân quyền phức tạp là một thách thức lớn. Cần đảm bảo rằng giáo viên chỉ có thể xem và sửa thông tin của lớp mình phụ trách, học sinh không thể truy cập vào chức năng của quản trị viên, và phụ huynh chỉ xem được thông tin của con em mình. Việc kiểm thử ma trận phân quyền đòi hỏi các kịch bản kiểm thử (test case) chi tiết để bao phủ mọi trường hợp có thể xảy ra.
Một website quản lý trường học phải xử lý một lượng lớn truy cập đồng thời, đặc biệt trong các giai đoạn cao điểm. Kiểm thử hiệu năng hệ thống quản lý học sinh là cực kỳ quan trọng để đánh giá khả năng chịu tải, thời gian phản hồi và tính ổn định của hệ thống. Nếu không được tối ưu, website có thể bị chậm, treo hoặc sập, gây gián đoạn hoạt động của nhà trường. Song song với đó, kiểm thử khả năng sử dụng (usability testing) đảm bảo rằng giao diện trực quan, dễ thao tác trên nhiều nền tảng. Quá trình này bao gồm cả kiểm thử tương thích trình duyệt và kiểm thử trên thiết bị di động để mang lại trải nghiệm đồng nhất, giúp người dùng không gặp khó khăn khi truy cập từ máy tính để bàn hay điện thoại thông minh.
Để đảm bảo chất lượng cho một sản phẩm EdTech phức tạp, việc xây dựng một quy trình QA/QC cho website trường học là điều kiện tiên quyết. Quy trình này không chỉ là một giai đoạn sau khi lập trình, mà phải được tích hợp xuyên suốt vòng đời phát triển phần mềm. Bắt đầu từ việc phân tích yêu cầu, đội ngũ QA đã phải tham gia để làm rõ các nghiệp vụ và xác định tiêu chí nghiệm thu. Tiếp theo là giai đoạn lập kế hoạch, thiết kế kịch bản kiểm thử, chuẩn bị môi trường và dữ liệu. Giai đoạn thực thi kiểm thử bao gồm nhiều cấp độ khác nhau, từ Unit Test, Integration Test đến System Test. Cuối cùng, việc theo dõi, báo cáo lỗi và kiểm thử hồi quy sau khi sửa lỗi là các bước không thể thiếu để đảm bảo sản phẩm cuối cùng đạt chất lượng cao nhất trước khi triển khai đến người dùng.
Nền tảng của một quy trình kiểm thử thành công là một kế hoạch kiểm thử (test plan) rõ ràng và các kịch bản kiểm thử (test case) chi tiết. Kế hoạch kiểm thử xác định phạm vi, mục tiêu, nguồn lực, lịch trình và các loại hình kiểm thử sẽ được thực hiện. Tài liệu nghiên cứu cho thấy, việc thiết kế test case cho các chức năng như 'Thêm sinh viên', 'Sửa sinh viên' hay 'Đăng nhập' cần dựa trên đặc tả yêu cầu và wireframe. Mỗi test case phải bao gồm các bước thực hiện, dữ liệu đầu vào, kết quả mong đợi và điều kiện tiên quyết. Việc phân loại test case thành các trường hợp thông thường (normal case), bất thường (abnormal case) và biên (boundary case) giúp tăng độ bao phủ (test coverage) và khả năng phát hiện lỗi của quá trình kiểm thử.
Khi một lỗi được phát hiện, việc ghi nhận nó một cách hệ thống là rất quan trọng. Một báo cáo lỗi (bug report) hiệu quả cần có đầy đủ thông tin: tiêu đề ngắn gọn, mô tả chi tiết các bước tái hiện lỗi, môi trường xảy ra lỗi (trình duyệt, hệ điều hành), kết quả thực tế và kết quả mong đợi, kèm theo ảnh chụp màn hình hoặc video. Các hệ thống quản lý lỗi như Jira hay Redmine thường được sử dụng để gán lỗi cho lập trình viên, theo dõi trạng thái (Mới, Đang xử lý, Đã sửa, Đóng) và quản lý toàn bộ vòng đời của lỗi. Quy trình này đảm bảo không có lỗi nào bị bỏ sót và cung cấp dữ liệu để phân tích, cải tiến chất lượng sản phẩm trong các phiên bản sau.
Một hệ thống quản lý trường học toàn diện đòi hỏi nhiều loại hình kiểm thử khác nhau để đảm bảo chất lượng ở mọi khía cạnh. Không thể chỉ tập trung vào việc xác minh chức năng hoạt động đúng hay sai, mà còn phải đánh giá các yếu tố phi chức năng như hiệu suất, bảo mật và trải nghiệm người dùng. Việc áp dụng đồng bộ các loại hình kiểm thử giúp tạo ra một sản phẩm không chỉ mạnh mẽ về mặt nghiệp vụ mà còn ổn định, an toàn và thân thiện. Dưới đây là ba loại hình kiểm thử cốt lõi, được xem là bắt buộc trong mọi dự án phát triển website quản lý giáo dục, từ cấp độ mã nguồn đến toàn bộ hệ thống.
Kiểm thử đơn vị là cấp độ kiểm thử cơ bản nhất, tập trung vào việc xác minh từng thành phần hoặc hàm (function) nhỏ nhất của mã nguồn hoạt động chính xác. Theo tài liệu phân tích, các hàm như checkLogin
, AddNewStudent
, hay removeStudent
đều cần có các test case riêng để kiểm tra logic. Tiếp theo, Kiểm thử Tích hợp (Integration Testing) đảm bảo rằng khi các module riêng lẻ này được kết hợp lại với nhau, chúng vẫn hoạt động đúng và dữ liệu được truyền tải chính xác. Các phương pháp như Top-Down (từ trên xuống) và Bottom-Up (từ dưới lên) được áp dụng để kiểm tra sự tương tác giữa các module, ví dụ như module 'Quản lý sinh viên' và 'Quản lý lớp học', đảm bảo tính toàn vẹn của hệ thống.
Kiểm thử hệ thống là quá trình kiểm tra toàn bộ ứng dụng đã được tích hợp hoàn chỉnh để đánh giá sự tuân thủ của nó so với các yêu cầu đã đặc tả. Ở giai đoạn này, hệ thống được xem như một 'hộp đen', kiểm thử viên sẽ thực hiện các luồng nghiệp vụ từ đầu đến cuối giống như người dùng thật. Ví dụ, một luồng nghiệp vụ hoàn chỉnh là: Quản trị viên đăng nhập, vào trang quản lý sinh viên, thực hiện chức năng 'Thêm mới sinh viên', nhập đầy đủ thông tin, lưu lại, và sau đó tìm kiếm để xác nhận sinh viên đã được thêm thành công. Theo tài liệu, quy trình System Testing bao gồm 7 bước, từ lập kế hoạch, tạo môi trường, thiết kế test case, chuẩn bị dữ liệu, thực thi, báo cáo lỗi và lặp lại quy trình.
Trong các hệ thống hiện đại, việc giao tiếp giữa frontend (giao diện người dùng) và backend (máy chủ) thường thông qua các API. Do đó, kiểm thử API cho phần mềm giáo dục đóng vai trò cực kỳ quan trọng. Nó giúp xác minh logic nghiệp vụ, bảo mật và hiệu năng ở tầng backend mà không cần thông qua giao diện người dùng. Việc kiểm thử này đảm bảo dữ liệu trả về là chính xác, các mã trạng thái (status code) phù hợp và hệ thống xử lý đúng các yêu cầu hợp lệ và từ chối các yêu cầu không hợp lệ. Điều này giúp phát hiện lỗi sớm hơn, độc lập với các thay đổi ở giao diện, và là nền tảng cho việc tự động hóa kiểm thử.
Trong bối cảnh các hệ thống EdTech ngày càng lớn và phức tạp, kiểm thử thủ công tốn nhiều thời gian, công sức và dễ xảy ra sai sót. Automation testing cho EdTech (kiểm thử tự động) là giải pháp công nghệ hiện đại giúp giải quyết vấn đề này. Bằng cách sử dụng các công cụ và viết kịch bản để tự động hóa việc thực thi các test case, các chu trình kiểm thử hồi quy có thể được chạy nhanh chóng sau mỗi lần thay đổi mã nguồn. Điều này giúp phát hiện lỗi sớm, tăng tốc độ phát hành sản phẩm và giải phóng thời gian cho kiểm thử viên để họ tập trung vào các kịch bản phức tạp hơn hoặc kiểm thử thăm dò. Việc lựa chọn công cụ phù hợp và xây dựng một bộ kịch bản tự động ổn định là chìa khóa để triển khai thành công.
Selenium IDE là một công cụ mạnh mẽ và dễ tiếp cận để bắt đầu với kiểm thử tự động. Theo tài liệu thực thi, Selenium IDE là một add-on trên trình duyệt cho phép người dùng ghi lại (Record) các thao tác của mình trên website và phát lại (Playback) chúng một cách tự động. Quá trình này gồm ba bước chính: Ghi lại (Recording), Phát lại (Playing back) và Lưu trữ (Saving). Người dùng có thể tạo một kịch bản test cho chức năng 'Thêm sinh viên' bằng cách thực hiện các thao tác nhập liệu và nhấn nút, Selenium IDE sẽ tự động chuyển các hành động đó thành các câu lệnh. Công cụ này rất hữu ích để nhanh chóng tạo ra các kịch bản kiểm thử cho các luồng nghiệp vụ ổn định, đặc biệt là cho các bài kiểm tra hồi quy.
Áp dụng kiểm thử tự động mang lại nhiều lợi ích vượt trội: tăng tốc độ kiểm thử, nâng cao độ chính xác, tăng độ bao phủ và giảm chi phí về lâu dài. Nó cho phép thực hiện kiểm thử liên tục (Continuous Testing) trong các quy trình CI/CD, đảm bảo chất lượng được duy trì ở mọi giai đoạn. Xu hướng tương lai của automation testing cho EdTech là tích hợp trí tuệ nhân tạo (AI) và học máy (Machine Learning) để tự động tạo ra các kịch bản kiểm thử thông minh, tự phát hiện các khu vực có rủi ro cao và tối ưu hóa quá trình bảo trì các kịch bản tự động. Điều này hứa hẹn sẽ đưa hoạt động đảm bảo chất lượng phần mềm giáo dục lên một tầm cao mới.
Bạn đang xem trước tài liệu:
Bài tập lớn đề tài kiểm thử website quản lý trường học