Bối cảnh và vấn đề nghiên cứu
Trong hoạt động quản trị và điều hành sản xuất kinh doanh hiện đại, công nghệ thông tin đóng vai trò then chốt. Quá trình phát triển phần mềm dù được hỗ trợ bởi nhiều công cụ tiên tiến nhưng việc phát sinh lỗi mã nguồn là điều không thể tránh khỏi. Theo ước tính được trích dẫn trong văn bản, ngay cả một lập trình viên có năng lực tốt trung bình vẫn tạo ra từ một đến ba lỗi trên mỗi một trăm dòng lệnh. Công tác kiểm tra nhằm phát hiện và khắc phục các sai sót này chiếm khoảng 50% khối lượng công việc cần thiết để hoàn thiện một phần mềm. Về mặt kinh tế, chi phí dành cho hoạt động kiểm thử phần mềm thường chiếm tới 40% tổng ngân sách của một dự án công nghệ, đồng thời chi phí này có xu hướng gia tăng đáng kể mỗi khi hệ thống thực hiện nâng cấp hoặc thay đổi tính năng.
Trước thực tế đó, kiểm thử tự động (Automation Testing) trở thành giải pháp kỹ thuật cần thiết nhằm cắt giảm thời gian, nhân lực và chi phí lặp lại. Trên thị trường công nghệ, Jest Framework – công cụ kiểm thử được Meta (Facebook) giới thiệu vào năm 2014 – đã trở thành một nền tảng phổ biến trong hệ sinh thái JavaScript và Node.js nhờ tích hợp sẵn các cơ chế mocking, snapshots và đo độ bao phủ mã nguồn (code coverage). Tuy nhiên, tại Việt Nam, mức độ tiếp cận và ứng dụng Jest còn hạn chế do rào cản về tài liệu chuyên ngành bằng tiếng Việt, nhận thức của kiểm thử viên và yêu cầu kỹ năng lập trình chuyên sâu. Xuất phát từ bối cảnh thực tiễn tại Công ty Cổ phần Đầu tư Công nghệ TST ECO trong quá trình xây dựng hệ thống website quản trị nội dung (CMS), tác giả Nguyễn Thị Bảo Ngân đã thực hiện đề tài nghiên cứu nhằm chuẩn hóa và triển khai quy trình kiểm thử tự động cho hệ thống này.
Mục tiêu nghiên cứu:
- Mục tiêu tổng quát: Tìm hiểu và triển khai quy trình kiểm thử tự động bằng Jest Framework cho trang web Hệ thống quản trị nội dung – CMS, nhằm mục đích kiểm tra và đảm bảo sản phẩm đáp ứng đầy đủ yêu cầu về mặt giao diện, chức năng và vận hành chính xác theo yêu cầu của khách hàng.
- Mục tiêu cụ thể:
- Tìm hiểu cơ sở lý thuyết, nắm vững quy trình kiểm thử tự động và thực hiện kiểm thử thành công.
- Nghiên cứu sâu về lợi ích, tính năng và cách thức hoạt động của công cụ kiểm thử tự động Jest Framework.
- Thực hiện kiểm thử phần mềm tự động dựa trên kịch bản kiểm thử (testcase) bằng Jest Framework kết hợp thư viện Supertest.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quá trình kiểm thử tự động bằng công cụ Jest Framework; phương pháp kiểm thử phần mềm tự động; quy trình kiểm thử tự động trên hệ thống website CMS.
- Phạm vi không gian: Nghiên cứu và triển khai thực tế tại Công ty Cổ phần Đầu tư Công nghệ TST ECO.
- Phạm vi thời gian: Khóa luận được tiến hành trong khoảng thời gian từ ngày 25 tháng 12 năm 2023 đến ngày 14 tháng 4 năm 2024.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng lý luận dựa trên các tiêu chuẩn kiểm thử phần mềm (Software Testing), tập trung vào bốn nhiệm vụ cốt lõi: phát hiện lỗi, đánh giá chất lượng sản phẩm, xác định rủi ro kỹ thuật tiềm ẩn và cung cấp thông tin chất lượng cho các bên liên quan.
Về cấp độ kiểm thử, tác giả hệ thống hóa bốn mức độ cơ bản gồm: kiểm thử đơn vị (Unit Testing), kiểm thử tích hợp (Integration Testing - I&T), kiểm thử hệ thống (System Testing) và kiểm thử chấp nhận (Acceptance Testing). Trong đó, nghiên cứu tập trung sâu vào kiểm thử tích hợp (I&T) nhằm xác minh sự phối hợp logic giữa các module chức năng độc lập khi ghép nối thành hệ thống.
Về phương pháp tiếp cận, khóa luận áp dụng phương pháp kiểm thử hộp đen (Black-box Testing), tập trung vào các hành vi bên ngoài và quan hệ giữa dữ liệu đầu vào (Input) với dữ liệu đầu ra (Output) mà không cần can thiệp vào cấu trúc mã nguồn bên trong. Hai kỹ thuật thiết kế trường hợp kiểm thử được áp dụng chi tiết gồm:
- Phân vùng tương đương (Equivalence Partitioning): Phân chia tập dữ liệu đầu vào thành các lớp tương đương hợp lệ và không hợp lệ. Ví dụ đối với chức năng đăng nhập, dữ liệu được chia thành các nhóm kết hợp giữa số điện thoại và mật khẩu (đúng/sai/để trống). Đối với chức năng xóa sản phẩm, dữ liệu ID được phân loại theo: ID hợp lệ, ID không hợp lệ và không truyền ID.
- Phân tích giá trị biên (Boundary Value Analysis): Tập trung phát hiện lỗi tại các giá trị giới hạn của lớp tương đương. Cụ thể, chức năng tạo mới sản phẩm thiết lập kiểm tra trường tên sản phẩm có độ dài biên từ 1 đến 255 ký tự (phân loại ký tự chữ, biểu tượng icon, ký tự đặc biệt và các tổ hợp vượt ngưỡng 255 ký tự); trường giá sản phẩm kiểm tra mốc từ 1.000 VNĐ đến 999.999 VNĐ (và trên 12 chữ số); tỷ lệ giảm giá kiểm tra ngưỡng từ 1% đến 99%, mốc 100% và mốc giá bằng 0.
Quy trình kiểm thử trong nghiên cứu tuân thủ 6 giai đoạn chuẩn: (1) Phân tích yêu cầu, (2) Lập kế hoạch kiểm thử, (3) Phát triển kịch bản kiểm thử, (4) Thiết lập môi trường kiểm thử, (5) Thực hiện kiểm thử, và (6) Kết thúc chu kỳ kiểm thử. Đồng thời, quy trình kiểm thử tự động được cấu trúc qua 5 bước: Lựa chọn công cụ, Xác định phạm vi tự động hóa, Lập kế hoạch thiết kế và phát triển, Thực hiện kiểm thử, và Bảo trì.
Đối với kiểm thử giao diện lập trình ứng dụng (API Testing), tác giả tập trung vào tầng logic nghiệp vụ thông qua việc kiểm tra các mã trạng thái phản hồi HTTP (HTTP Status Codes) phổ biến:
200 OK: Yêu cầu gửi đi đã xử lý thành công.
201 Created: Yêu cầu thành công và một tài nguyên mới đã được khởi tạo (thường dùng trong phương thức POST/PUT).
204 No Content: Yêu cầu thành công nhưng không có nội dung trả về trong phần thân.
400 Bad Request: Máy chủ không thể xử lý yêu cầu do cú pháp hoặc tham số không hợp lệ.
401 Unauthorized: Yêu cầu chưa được xác thực danh tính người dùng.
403 Forbidden: Máy chủ nhận biết danh tính client nhưng từ chối cấp quyền truy cập tài nguyên.
404 Not Found: Không tìm thấy tài nguyên tương ứng với điểm cuối (endpoint) được yêu cầu.
500 Internal Server Error: Lỗi máy chủ nội bộ phát sinh ngoài dự kiến.
Phương pháp nghiên cứu thực tế:
- Phương pháp nghiên cứu tài liệu: Tổng hợp các tài liệu kỹ thuật về ngôn ngữ lập trình JavaScript, môi trường thời gian chạy Node.js, tài liệu đặc tả Jest Framework và thư viện Supertest.
- Phương pháp quan sát và tổng hợp: Khảo sát cấu trúc thực tế, giao diện người dùng và cơ chế vận hành các phân hệ của website CMS tại doanh nghiệp TST ECO.
- Phương pháp phân tích và thiết kế: Phân tích chi tiết luồng nghiệp vụ của CMS, từ đó xây dựng kế hoạch kiểm thử, thiết kế bộ kịch bản kiểm thử (Testcase) và mẫu báo cáo ghi nhận lỗi (Bug Report).
Thiết kế và triển khai
Hệ thống được kiểm thử là website Quản trị nội dung (CMS) do Công ty Cổ phần Đầu tư Công nghệ TST ECO phát triển, đóng vai trò kết nối cộng đồng doanh nghiệp và quản lý nội dung số. Hệ thống phân chia người dùng thành hai nhóm chính:
- Người dùng công khai: Khách vãng lai, chỉ có quyền truy cập xem các thông tin tin tức, sản phẩm và giới thiệu chung, không có quyền sửa đổi hay xóa dữ liệu.
- Người dùng doanh nghiệp: Người dùng được cấp tài khoản định danh để quản lý dữ liệu riêng của tổ chức, có quyền thao tác với các chức năng thêm mới, chỉnh sửa và xóa thông tin.
Môi trường kiểm thử được thiết lập trên nền tảng Visual Studio Code, sử dụng ngôn ngữ lập trình JavaScript chạy trong môi trường Node.js (tận dụng kiến trúc hướng sự kiện và cơ chế I/O bất đồng bộ dựa trên V8 Engine). Công cụ kiểm thử cốt lõi là Jest Framework kết hợp với thư viện Supertest. Thư viện Supertest cung cấp tầng trừu tượng cấp cao, cho phép giả lập gửi các yêu cầu HTTP (GET, POST, PUT, DELETE) trực tiếp đến máy chủ HTTP của Node.js mà không nhất thiết phải khởi chạy toàn bộ máy chủ ứng dụng theo cách thông thường, từ đó xác thực nhanh phản hồi từ API endpoint và cơ sở dữ liệu.
Nhằm làm rõ cơ sở lựa chọn công nghệ, tác giả đã tiến hành so sánh đối chiếu giữa Jest Framework với hai công cụ kiểm thử tự động phổ biến là Selenium và HP/Micro Focus UFT (Unified Functional Testing):
| Tiêu chí |
Jest Framework |
Selenium |
UFT (Unified Functional Testing) |
| Nền tảng phát triển |
Xây dựng trên JavaScript và Node.js |
Đa nền tảng |
Hệ điều hành Windows |
| Ngôn ngữ hỗ trợ |
JavaScript, TypeScript |
Java, C#, Perl, Python, JavaScript, Ruby, PHP |
VBScript |
| Ứng dụng kiểm thử |
Ứng dụng Web, Di động, Thư viện JavaScript, API |
Ứng dụng Web |
Màn hình nền Windows, Web, Di động, API |
| Cài đặt và sử dụng |
Yêu cầu công cụ đi kèm, cấu hình đơn giản, dễ sử dụng |
Cần cài đặt và tích hợp nhiều công cụ hỗ trợ khác nhau |
Dễ dàng cài đặt trọn gói, dễ sử dụng |
| Yêu cầu kỹ năng |
Nắm cú pháp JavaScript cơ bản, làm quen nhanh |
Đòi hỏi kỹ năng lập trình nâng cao để tích hợp hệ thống |
Cần hiểu sâu về VBScript và kỹ thuật chuyên sâu |
| Thời gian thực thi |
Nhanh (chạy kiểm thử song song) |
Tương đối chậm |
Nhanh |
| Chi phí bản quyền |
Mã nguồn mở, hoàn toàn miễn phí |
Mã nguồn mở, hoàn toàn miễn phí |
Bản quyền thương mại, chi phí mua và bảo trì cao |
So sánh về ưu điểm và nhược điểm kỹ thuật giữa ba công cụ:
| Công cụ / Framework |
Ưu điểm chính |
Nhược điểm và hạn chế |
| Jest Framework |
- Mã nguồn mở, miễn phí. - Cú pháp đơn giản, hiệu suất cao. - Hỗ trợ sẵn cơ chế Mocking, Snapshot testing. - Phù hợp cho Unit Test và Integration Test API. |
- Hạn chế ngôn ngữ (chủ yếu tập trung cho JavaScript/TypeScript). - Kiểm thử ứng dụng web phức tạp cần công cụ bên thứ ba để xuất báo cáo chi tiết. - Khả năng mở rộng còn giới hạn so với Mocha, Chai. |
| Selenium |
- Mã nguồn mở, tiết kiệm chi phí. - Hỗ trợ đa trình duyệt và nhiều ngôn ngữ lập trình. - Khả năng tích hợp mở rộng rất mạnh mẽ. |
- Tốc độ thực thi kịch bản chậm. - Cần trình độ lập trình vững vàng. - Không hỗ trợ trực tiếp ứng dụng di động nếu không tích hợp thêm. - Thiếu cơ chế báo cáo tích hợp sẵn. |
| UFT |
- Giao diện trực quan, dễ tiếp cận ban đầu. - Hỗ trợ kiểm thử đa dạng (Desktop, Web, Mobile, API). - Tích hợp tốt với Jira, Jenkins. - Có tính năng ghi và phát lại (Record & Playback). |
- Giá thành bản quyền rất cao đối với doanh nghiệp nhỏ. - Phụ thuộc vào ngôn ngữ VBScript. - Hạn chế khi kiểm thử các ứng dụng web hiện đại xây dựng bằng các framework JavaScript mới. |
Từ phân tích trên, Jest kết hợp Supertest được lựa chọn làm giải pháp tối ưu cho việc kiểm thử API của website CMS xây dựng trên nền tảng JavaScript/Node.js, đảm bảo tốc độ thực thi nhanh và tối ưu hóa chi phí.
Nội dung chính theo từng chương
Chương 1: Tổng quan về cơ sở lý thuyết kiểm thử phần mềm và Jest Framework
Chương đầu tiên tập trung hệ thống hóa các định nghĩa tiêu chuẩn về kiểm thử phần mềm, sự khác biệt giữa kiểm thử thủ công và kiểm thử tự động, cùng quy trình 6 bước phát triển phần mềm chuẩn. Tác giả đi sâu phân tích công cụ Jest do Christoph Nakazawa phát triển tại Meta từ năm 2014 và chính thức phát hành rộng rãi vào năm 2015. Văn bản dẫn chứng số liệu thống kê về mức độ tiếp nhận Jest trong cộng đồng phát triển: năm 2016 (sau 1 năm phát hành), tỷ lệ người dùng biết đến và muốn học Jest là 16,6%, tỷ lệ người thực tế sử dụng đạt 4%; đến năm 2018, tỷ lệ quan tâm muốn học tăng lên 29,7% và tỷ lệ người dùng đã sử dụng và có ý định tiếp tục sử dụng đạt xấp xỉ 40%. Jest được áp dụng rộng rãi tại các tập đoàn công nghệ toàn cầu như Facebook (ứng dụng cho Facebook, Instagram, WhatsApp), Airbnb, Netflix, PayPal, Spotify; và bước đầu triển khai tại một số doanh nghiệp Việt Nam như FPT Software, VNG, Viettel. Ngoài ra, chương 1 phân tích chi tiết môi trường thực thi Node.js, thư viện Supertest, trình soạn thảo Visual Studio Code, cùng các kỹ thuật phân tích giá trị biên và phân vùng tương đương áp dụng cho API HTTP.
Chương 2: Tổng quan về website Hệ thống quản trị nội dung – CMS
Chương này trình bày bối cảnh ra đời của website CMS tại Công ty Cổ phần Đầu tư Công nghệ TST ECO. Nhằm hỗ trợ mạng lưới doanh nhân và doanh nghiệp kết nối, chia sẻ thông tin, TST ECO phát triển nền tảng CMS giúp quản trị nội dung truyền thông, tin tức, sự kiện và sản phẩm. Tác giả phân tích kiến trúc phân quyền người dùng (người dùng công khai và tài khoản doanh nghiệp) và làm rõ các màn hình giao diện chính gồm: Trang Đăng nhập, Trang chủ, Trang Tin tức, Trang Sản phẩm, Trang Tạo mới sản phẩm. Điểm trọng tâm của chương là việc xác định bốn nhóm chức năng nghiệp vụ của CMS cần thực hiện kiểm thử API:
- Chức năng đăng nhập: Xác thực thông tin tài khoản của doanh nghiệp thông qua số điện thoại và mật khẩu.
- Chức năng tạo mới sản phẩm: Kiểm tra tính hợp lệ của các trường dữ liệu tên sản phẩm, giá bán, tỷ lệ giảm giá, mô tả, danh mục và hình ảnh.
- Chức năng chỉnh sửa sản phẩm: Kiểm tra cập nhật thông tin sản phẩm đã tồn tại trên hệ thống.
- Chức năng xóa sản phẩm: Kiểm tra tính chính xác và an toàn khi xóa sản phẩm thông qua định danh ID sản phẩm.
Chương 3: Triển khai kiểm thử tự động cho Hệ thống quản trị nội dung – CMS
Nội dung chương 3 ghi lại toàn bộ tiến trình triển khai thực nghiệm kỹ thuật, bắt đầu từ các bước cài đặt gói thư viện Jest và Supertest vào cấu trúc dự án. Dựa trên bản kế hoạch kiểm thử API đã xây dựng, tác giả tiến hành viết các tập kịch bản kiểm thử (Testcase) tự động cho bốn chức năng cốt lõi đã xác định ở chương 2. Quá trình triển khai bao gồm việc cấu hình các điểm cuối (endpoint) của API, mô phỏng yêu cầu gửi đi và kiểm tra mã trạng thái trả về (Status Code 200, 201, 400, 401, 404). Các ca kiểm thử thất bại được ghi nhận chi tiết về trạng thái và hình ảnh nhằm lập bản báo cáo lỗi (Bug Report) phản hồi cho bộ phận phát triển phần mềm xử lý.
Kết quả và đóng góp
Kết quả đạt được:
- Nghiên cứu và hệ thống hóa thành công lý thuyết căn bản về kiểm thử phần mềm, quy trình kiểm thử tự động và kỹ thuật kiểm thử API.
- Cài đặt, cấu hình và vận hành thành công công cụ Jest Framework kết hợp thư viện Supertest trong môi trường Node.js.
- Xây dựng hoàn chỉnh bộ kịch bản kiểm thử (Testcase) dựa trên kỹ thuật phân vùng tương đương và phân tích giá trị biên cho 4 chức năng cốt lõi của website CMS: đăng nhập hệ thống, tạo mới sản phẩm, chỉnh sửa thông tin sản phẩm và xóa sản phẩm.
- Thiết lập quy trình phát hiện sai sót, lập biên bản báo cáo kết quả kiểm thử và lưu trữ bằng chứng cho các trường hợp kiểm thử không thành công, góp phần bảo đảm tính ổn định và độ chính xác của các API trong CMS.
Đóng góp của đề tài so với các công trình nghiên cứu tương tự:
Khóa luận đã đối chiếu với ba công trình tốt nghiệp đi trước trong cùng lĩnh vực kiểm thử để làm nổi bật hướng tiếp cận của mình:
- Luận văn của Đặng Thị Phương (Đại học Quốc gia Hà Nội) về Selenium: Đề tài của Đặng Thị Phương ứng dụng Selenium tại công ty Exo Platform Sea nhưng chỉ dừng ở mức framework cơ bản, chưa tối ưu tốc độ thực thi, chưa có Data-Driven hay kiểm thử đám mây. Đề tài của tác giả khai thác Jest với tốc độ thực thi nhanh hơn nhờ cơ chế chạy song song của môi trường JavaScript.
- Khóa luận của Vũ Công Minh (Đại học Dân lập Hải Phòng) về Selenium IDE: Đề tài của Vũ Công Minh chỉ dừng lại ở tiện ích Selenium IDE trên trình duyệt Mozilla Firefox, mới kiểm thử duy nhất một chức năng đăng ký tài khoản của Zing ID và chưa đi sâu vào kỹ thuật nâng cao. Ngược lại, đề tài của tác giả đã tự động hóa luồng kiểm thử tích hợp (I&T) cho trọn bộ chu trình quản lý sản phẩm và đăng nhập qua API.
- Khóa luận của Trịnh Hoài Nguyên (Đại học Kinh tế - Đại học Huế) về Laravel: Đề án xây dựng website thương mại điện tử KP English của Trịnh Hoài Nguyên có phần kiểm thử còn đơn giản, chưa giải quyết triệt để vấn đề phân quyền và tối ưu chức năng. Đề tài của tác giả đã tập trung chuyên sâu vào quy trình kiểm thử API có phân quyền chi tiết giữa người dùng công khai và tài khoản doanh nghiệp.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của nghiên cứu:
- Văn bản khóa luận chỉ ra rằng việc sử dụng thư viện Supertest có thể gặp khó khăn nhất định khi xử lý các API có cấu trúc phức tạp với nhiều điểm cuối lồng nhau hoặc logic xử lý dữ liệu phức tạp.
- Quá trình kiểm thử tự động bằng Supertest có khả năng gây ảnh hưởng đến hiệu suất của API khi thực hiện thử nghiệm với số lượng lớn yêu cầu đồng thời.
- Phạm vi triển khai của đồ án mới tập trung vào các chức năng quản trị cơ bản (đăng nhập, tạo, sửa, xóa sản phẩm) của hệ thống CMS tại một doanh nghiệp cụ thể (TST ECO), chưa mở rộng kiểm thử toàn diện các phân hệ khác như mạng xã hội hay giao dịch sự kiện.
Hướng phát triển tiếp theo:
- Tiếp tục bảo trì, cập nhật và mở rộng kịch bản kiểm thử tự động cho toàn bộ các module tính năng còn lại của hệ thống website CMS.
- Nghiên cứu nâng cấp các kịch bản kiểm thử nâng cao, tích hợp thêm các công cụ hỗ trợ báo cáo trực quan và nghiên cứu giải pháp kiểm thử hiệu năng API trong điều kiện tải lớn.
Giá trị tham khảo
Báo cáo khóa luận mang lại giá trị tham khảo cụ thể cho các đối tượng sau:
- Sinh viên các ngành Hệ thống thông tin quản lý, Tin học kinh tế và Công nghệ thông tin: Cung cấp tài liệu tham khảo thực tế về quy trình kiểm thử phần mềm từ bước phân tích yêu cầu, thiết kế testcase theo giá trị biên đến triển khai công cụ kiểm thử tự động.
- Kiểm thử viên (Tester) và lập trình viên mới tiếp cận Jest Framework: Phần so sánh công nghệ (Jest, Selenium, UFT) và hướng dẫn cấu hình Jest cùng thư viện Supertest là tài liệu hướng dẫn kỹ thuật rõ ràng để kiểm thử API trong các dự án chạy Node.js.
- Nội dung đáng chú ý nhất: Chương 1 với hệ thống ví dụ cụ thể về phân vùng tương đương (đăng nhập, xóa sản phẩm) và phân tích giá trị biên (tên sản phẩm, giá, giảm giá); cùng quy trình thiết kế kịch bản kiểm thử API ở Chương 3.
Câu hỏi thường gặp
1. Khóa luận lựa chọn công cụ Jest Framework và thư viện Supertest để kiểm thử thành phần nào của website CMS?
Khóa luận sử dụng Jest Framework kết hợp thư viện Supertest nhằm mục đích chính là kiểm thử giao diện lập trình ứng dụng (API Testing) ở tầng logic nghiệp vụ (business logic) cho bốn chức năng: đăng nhập tài khoản doanh nghiệp, tạo mới sản phẩm, chỉnh sửa sản phẩm và xóa sản phẩm, thay vì chỉ kiểm thử giao diện người dùng đơn thuần.
2. Kỹ thuật phân tích giá trị biên được tác giả áp dụng như thế nào trong chức năng tạo mới sản phẩm?
Tác giả áp dụng phân tích giá trị biên cho trường tên sản phẩm với giới hạn độ dài từ 1 đến 255 ký tự (kiểm tra các biên ký tự chữ, biểu tượng icon, ký tự đặc biệt và trường hợp vượt 255 ký tự); trường giá sản phẩm từ 1.000 VNĐ đến 999.999 VNĐ (và trên 12 số); cùng trường giảm giá từ 1% đến 99%, mốc 100% và mốc giá bằng 0.
3. Tại sao Jest Framework được đánh giá có ưu thế hơn Selenium trong đề tài này?
Theo bảng so sánh trong văn bản, Jest Framework được xây dựng chuyên biệt trên nền tảng JavaScript và Node.js, có cú pháp đơn giản, cấu hình tích hợp sẵn cơ chế mocking, thời gian chạy kịch bản nhanh nhờ hỗ trợ chạy thử nghiệm song song và hoàn toàn miễn phí, rất phù hợp với dự án website CMS phát triển trên nền tảng công nghệ web hiện đại.
4. Hai nhóm đối tượng người dùng trên website CMS của TST ECO được phân quyền ra sao?
Hệ thống phân chia thành: Người dùng công khai (người dùng thông thường truy cập website, không có tài khoản, chỉ có quyền xem nội dung và không được phép chỉnh sửa hay xóa dữ liệu) và Người dùng doanh nghiệp (nhóm khách hàng được cấp tài khoản định danh, có quyền đăng nhập để đăng tải, cập nhật, chỉnh sửa và xóa thông tin, sản phẩm, bài viết liên quan đến doanh nghiệp mình).
5. Nghiên cứu chỉ ra những rào cản chính nào khiến Jest.js chưa phổ biến rộng rãi tại thị trường Việt Nam?
Văn bản nêu rõ bốn nguyên nhân: nhận thức của nhiều kiểm thử viên chưa biết đến hoặc chưa hiểu rõ lợi ích của Jest; yêu cầu kỹ năng lập trình JavaScript và Unit Testing tương đối vững; nguồn tài liệu tham khảo chuyên ngành bằng tiếng Việt còn hạn chế; và cộng đồng người dùng Jest tại Việt Nam chưa phát triển lớn mạnh như các cộng đồng kiểm thử khác.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Thị Bảo Ngân đã giải quyết thành công bài toán nghiên cứu lý thuyết và ứng dụng thực tiễn quy trình kiểm thử tự động cho hệ thống quản trị nội dung (CMS) tại Công ty Cổ phần Đầu tư Công nghệ TST ECO. Thông qua việc kết hợp công cụ Jest Framework và thư viện Supertest trên nền tảng Node.js, tác giả đã xây dựng bộ kịch bản kiểm thử tích hợp chuẩn xác cho các API chức năng từ đăng nhập đến quản lý sản phẩm. Đề tài cung cấp tài liệu kỹ thuật có giá trị thực tiễn cao cho sinh viên chuyên ngành Hệ thống thông tin quản lý và các kiểm thử viên đang tìm kiếm giải pháp tự động hóa kiểm thử API hiệu quả với chi phí tối ưu.