Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, việc truy cập và quản lý dữ liệu trong tổ chức đã có những bước chuyển biến lớn. Quản lý công việc là một hoạt động cốt lõi tại mọi doanh nghiệp nhằm hỗ trợ tổ chức, phân phối, theo dõi nhiệm vụ của nhân sự, đồng thời đảm bảo các mục tiêu được thực hiện đúng thời hạn và đạt hiệu quả. Tuy nhiên, theo ghi nhận của tác giả Đào Hồng Minh Châu trong khóa luận tốt nghiệp ngành Hệ thống thông tin quản lý (Khoa Hệ thống Thông tin Kinh tế, Trường Đại học Kinh tế – Đại học Huế), công tác quản lý công việc tại nhiều doanh nghiệp Việt Nam hiện nay vẫn còn mang tính thủ công. Việc phụ thuộc vào giấy tờ, sổ sách và lịch trình cá nhân dẫn đến tình trạng các đầu việc bị chồng chéo, quy trình thiếu minh bạch, gây khó khăn cho việc giám sát tiến độ và đánh giá năng suất.
Trước yêu cầu đó, các ứng dụng quản lý dự án được phát triển ngày càng nhiều nhằm tiết kiệm thời gian lập kế hoạch, tạo danh sách công việc và phân chia nhiệm vụ. Đi cùng với sự gia tăng về số lượng và độ phức tạp của các tính năng phần mềm, yêu cầu đảm bảo chất lượng trở thành khâu bắt buộc trong toàn bộ vòng đời phát triển. Hoạt động kiểm thử thủ công truyền thống bộc lộ nhược điểm tiêu tốn nhiều thời gian và chi phí khi số lượng hàm, API và giao diện tăng lên. Việc áp dụng kiểm thử tự động, đặc biệt là kiểm thử giao diện lập trình ứng dụng (API Testing), trở thành giải pháp cần thiết nhằm tự động hóa các bước kiểm tra, nâng cao độ tin cậy và rút ngắn chu kỳ kiểm soát lỗi.
Từ thực tiễn vận hành tại Công ty Cổ phần Đầu tư Công nghệ TST ECO với sản phẩm ứng dụng quản lý dự án (Project Management Office – PMO), đề tài "Nghiên cứu kiểm thử tự động cho ứng dụng quản lý dự án tại Công ty TST ECO sử dụng công cụ Postman" đã được xác lập.
Hệ thống mục tiêu và nhiệm vụ nghiên cứu của đề tài được tác giả xác định cụ thể như sau:
- Mục tiêu tổng quát: Kiểm thử thành công cho ứng dụng quản lý dự án – PMO sử dụng công cụ kiểm thử tự động Postman.
- Mục tiêu cụ thể:
- Nghiên cứu cơ sở lý thuyết, nắm vững quy trình thực hiện kiểm thử phần mềm tự động.
- Tìm hiểu và phân tích các yêu cầu về chức năng của ứng dụng quản lý dự án – PMO.
- Xây dựng bộ kịch bản kiểm thử (test scenarios/test cases) cho ứng dụng quản lý dự án – PMO.
- Ứng dụng công cụ kiểm thử tự động Postman để thực thi kiểm thử dựa trên kịch bản đã xây dựng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hoạt động kiểm thử API cho ứng dụng quản lý dự án tại Công ty Cổ phần Đầu tư Công nghệ TST ECO bằng công cụ Postman.
- Phạm vi không gian: Công ty Cổ phần Đầu tư Công nghệ TST ECO.
- Phạm vi thời gian: Đề tài được thực hiện trong khoảng thời gian từ ngày 25/12/2023 đến ngày 14/04/2024.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết và công nghệ sử dụng
Nghiên cứu xây dựng nền tảng dựa trên các khái niệm chuẩn mực về công nghệ phần mềm và kiểm thử chất lượng hệ thống:
- Kiểm thử phần mềm và kiểm thử tự động: Hoạt động đánh giá, xác minh tính năng và chất lượng phần mềm theo yêu cầu đặc tả; sử dụng công cụ hỗ trợ thực thi tự động các kịch bản kiểm tra thay cho thao tác thủ công.
- Kiểm thử API và giao thức HTTP: Tập trung kiểm tra tính đúng đắn và độ tin cậy của các giao diện lập trình ứng dụng thông qua cấu trúc Request – Response. Nghiên cứu khảo sát các phương thức HTTP chính bao gồm GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD; đồng thời đối chiếu các mã trạng thái phản hồi tiêu chuẩn như 200 OK, 201 Created, 400 Bad Request, 404 Not Found.
- Các kỹ thuật thiết kế ca kiểm thử: Tác giả hệ thống hóa bốn kỹ thuật phổ biến gồm: Phân vùng tương đương (Equivalence Partitioning), Phân tích giá trị biên (Boundary Value Analysis với các mức: giá trị biên nhỏ nhất -1, giá trị biên nhỏ nhất, giá trị biên lớn nhất, giá trị biên lớn nhất +1), Bảng quyết định (Decision Table) và Phán đoán lỗi (Error Guessing).
- Phân loại và cấp độ kiểm thử: Phân loại theo phương pháp tiếp cận gồm kiểm thử hộp trắng (White Box Testing) và kiểm thử hộp đen (Black Box Testing - bao gồm kiểm thử chức năng và kiểm thử phi chức năng). Cấp độ kiểm thử gồm bốn tầng: 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).
- Công cụ kiểm thử Postman: Khai thác các thành phần quản trị cốt lõi của công cụ như Environments (lưu trữ biến môi trường, thông tin đăng nhập), Requests (cấu hình URL, Method, Header, Body), Response (tiếp nhận Status code, Header, Body), Pre-request Script và Tests (sử dụng ngôn ngữ JavaScript để thiết lập các điểm kiểm tra checkpoint tự động). Tác giả cũng đề cập đến công cụ dòng lệnh Newman hỗ trợ tích hợp quy trình CI/CD.
Phương pháp nghiên cứu
Khóa luận kết hợp đồng bộ bốn phương pháp nghiên cứu:
- Phương pháp nghiên cứu tài liệu: Thu thập, phân tích các tài liệu học thuật về kiểm thử tự động, hướng dẫn kỹ thuật của công cụ Postman và tài liệu đặc tả ứng dụng PMO.
- Phương pháp quan sát, tổng hợp: Khảo sát thực tế quy trình quản lý công việc tại Công ty TST ECO, quan sát cách vận hành hệ thống và tổng hợp danh mục chức năng của ứng dụng PMO.
- Phương pháp phân tích hệ thống: Sử dụng ngôn ngữ mô hình hóa để xây dựng các biểu đồ ca sử dụng (Use-Case Diagrams) cho hệ thống tổng quát và từng phân hệ chức năng.
- Phương pháp thiết kế: Thiết kế chi tiết các kịch bản kiểm thử, bộ dữ liệu kiểm thử (Test Cases) và biểu mẫu báo cáo lỗi (Bug Report).
Nguồn dữ liệu
Dữ liệu sử dụng trong đề tài là dữ liệu kỹ thuật thực tế thu thập trực tiếp tại hệ thống quản lý dự án PMO của Công ty Cổ phần Đầu tư Công nghệ TST ECO trong giai đoạn thực tập từ cuối năm 2023 đến tháng 4 năm 2024.
Thiết kế hệ thống và triển khai kiểm thử
Kiến trúc công nghệ của hệ thống PMO
Ứng dụng PMO được xây dựng theo kiến trúc phân tách giữa giao diện người dùng và dịch vụ xử lý dữ liệu backend thông qua hệ thống API:
- Phía giao diện người dùng (Front-end): Phát triển trên nền tảng Ionic Framework kết hợp Angular và TypeScript; mã nguồn client được triển khai lưu trữ trên môi trường Google Firebase Hosting.
- Phía dịch vụ giao diện lập trình (Back-end API): Xây dựng bằng NestJS Framework trên nền tảng Node.js với ngôn ngữ TypeScript.
- Cơ sở dữ liệu: Sử dụng hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở MySQL.
- Lưu trữ tệp: Các tập tin hình ảnh được phân tách và lưu trữ riêng biệt tại File Server chuyên dụng.
Quy trình và môi trường triển khai kiểm thử
Kiểm thử tự động được thiết lập trong môi trường làm việc của công cụ Postman, sử dụng ngôn ngữ lập trình JavaScript để viết các câu lệnh kiểm tra logic và dữ liệu phản hồi từ các endpoint.
Môi trường kiểm thử thực tế được vận hành qua giao thức HTTPS kết nối đến máy chủ API tại tên miền https://gce.top. Danh sách các API cốt lõi được cấu hình kiểm thử bao gồm 7 endpoint phục vụ các nghiệp vụ chính:
| STT |
Tên nghiệp vụ |
Phương thức HTTP |
Đường dẫn API Endpoint |
| 1 |
Hiển thị danh sách công việc |
GET |
https://gce.top/api/v1/issues |
| 2 |
Hiển thị chi tiết công việc |
GET |
https://gce.top/api/v1/issues/{id} |
| 3 |
Tạo mới công việc |
POST |
https://gce.top/api/v1/issues |
| 4 |
Chỉnh sửa công việc |
PUT |
https://gce.top/api/v1/issues/{id} |
| 5 |
Xóa công việc |
DELETE |
https://gce.top/api/v1/issues/{id} |
| 6 |
Cập nhật thông tin người dùng |
PUT |
https://gce.top/api/v1/users/{id} |
| 7 |
Đăng nhập hệ thống |
POST |
https://gce.top/api/v1/auth/sign-in |
Quy trình thực thi kiểm thử tự động trên Postman
- Thiết lập xác thực quyền truy cập (Authentication):
Thực hiện gửi request POST đến endpoint đăng nhập
/api/v1/auth/sign-in với dữ liệu JSON gồm hai trường phone và password. Khi hệ thống phản hồi mã trạng thái thành công, chuỗi access_token được trích xuất từ phần Body của Response. Chuỗi token này sau đó được dán vào phần Authorization của Postman với loại xác thực là "Bearer Token" để cấp quyền gọi các API quản lý công việc và người dùng.
- Tổ chức cấu trúc kiểm thử:
Tạo lập một Collection mới trên Postman, sau đó chia nhỏ thành các thư mục (folders) đại diện cho từng module nghiệp vụ (Xác thực, Quản lý công việc, Quản lý hồ sơ).
- Cấu hình Request và Body:
Cung cấp đầy đủ các tham số đường dẫn, tham số chuỗi truy vấn (Params), tiêu đề (Headers) và dữ liệu gửi lên định dạng JSON. Ví dụ, payload tạo mới công việc yêu cầu các thuộc tính:
name, description, type, parent_id, project_id, milestone_id, priority_id, version_id, status_id, assignee_id, display_order, start_date, due_date, estimate_hours. Payload cập nhật công việc bổ sung thêm trường actual_hours. Payload cập nhật hồ sơ người dùng quản lý các thuộc tính: username, address, chapter_id, description, display_order, thumbnail, mảng skills, city_id, country_id, birthday, gender, is_public_phone.
- Viết Script kiểm tra tự động (Tests tab):
Sử dụng các đoạn mã JavaScript trong tab Tests để tạo các điểm kiểm tra tự động đối chiếu mã phản hồi HTTP Status Code (200, 201, 400...), kiểm tra tính đúng đắn của dữ liệu trả về và thời gian phản hồi.
- Chạy kiểm thử và ghi nhận kết quả:
Thực thi kiểm thử tự động toàn bộ Collection; hệ thống đối chiếu kết quả thực tế (Actual Results) với kết quả mong đợi (Expected Results), đánh dấu trạng thái Pass hoặc Fail và chụp lại bằng chứng cho các trường hợp kiểm thử phát sinh lỗi.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết về kiểm thử phần mềm
Chương 1 đóng vai trò hệ thống hóa toàn bộ kiến thức lý luận về kiểm thử phần mềm từ cơ bản đến chuyên sâu:
- Trình bày định nghĩa kiểm thử phần mềm, vai trò của kiểm thử tự động và khái niệm kiểm thử API trong quy trình phát triển hiện đại.
- Mô tả chi tiết quy trình kiểm thử phần mềm tự động gồm 7 bước: (1) Xác định mục tiêu kiểm thử; (2) Xây dựng kịch bản kiểm thử; (3) Thiết lập môi trường kiểm thử; (4) Xây dựng các kịch bản kiểm thử tự động; (5) Thực hiện kiểm thử tự động; (6) Kiểm tra kết quả kiểm thử; (7) Báo cáo kết quả kiểm thử.
- Phân tích nguyên lý hoạt động, ưu điểm và nhược điểm của các kỹ thuật thiết kế ca kiểm thử hộp đen (phân vùng tương đương, phân tích giá trị biên, bảng quyết định, phán đoán lỗi) và các cấp độ kiểm thử hệ thống.
- Cung cấp cấu trúc chuẩn của một tài liệu báo cáo lỗi (Bug report) bao gồm 10 trường thông tin: Project, Bug Title, Bug ID, Date, Reported by, Status, Summary/Description, Actual results, Expected results, Severity, Priority, Attachment.
- Giới thiệu tổng quan về công cụ Postman: cấu tạo giao diện, các thành phần quản lý (Environments, Collections, Requests, Responses), phân tích ưu điểm (dễ truy cập, có báo cáo trực quan, tích hợp được CI/CD qua Newman, phù hợp nhiều trình độ) và nhược điểm (bản miễn phí bị giới hạn số lượng request hàng tháng, có các chức năng nâng cao khó học, hạn chế với hệ thống API quy mô quá lớn).
Chương 2: Giới thiệu ứng dụng quản lý dự án – PMO
Chương này tập trung giới thiệu bối cảnh doanh nghiệp và phân tích đặc tả yêu cầu kỹ thuật, nghiệp vụ của hệ thống PMO tại Công ty Cổ phần Đầu tư Công nghệ TST ECO:
- Mô tả mục đích ra đời của ứng dụng PMO: tự động hóa tác vụ, trực quan hóa trạng thái công việc của nhân sự, hỗ trợ người quản lý kiểm soát tiến độ và hiệu suất công việc giữa các nhóm.
- Đặc tả kiến trúc kỹ thuật của hệ thống gồm Ionic/Angular/TypeScript (Front-end), NestJS/Node.js/TypeScript (API), MySQL (Cơ sở dữ liệu) và Firebase Hosting.
- Đặc tả chi tiết các phân hệ chức năng:
- Quản lý công việc: Hiển thị danh sách công việc cá nhân theo thứ tự mới nhất; xem chi tiết công việc (tên người đăng, ngày giờ, trạng thái, mức độ ưu tiên, ngày bắt đầu - kết thúc, bình luận, công việc con); tạo mới công việc (ràng buộc: tên không để trống và giới hạn 255 ký tự, ngày bắt đầu $\le$ ngày hiện tại, ngày hoàn thành $\ge$ ngày bắt đầu, bắt buộc chọn dự án, loại công việc, người nhận việc); chỉnh sửa công việc (chỉ được sửa việc do mình tạo, bắt buộc nhập tiêu đề và nội dung); xóa công việc (có thông báo xác nhận và không hiển thị lại sau khi xóa).
- Quản lý dự án: Phân bổ công việc theo nhóm thành viên, cho phép theo dõi tổng thể qua bảng theo dõi, báo cáo hàng ngày, tài liệu, cài đặt và lịch sử hoạt động.
- Quản lý thông báo: Hiển thị thông báo phân công và thời hạn; cung cấp tính năng xóa thông báo và đánh dấu tất cả đã đọc.
- Quản lý hồ sơ: Quản trị thông tin cá nhân (họ tên, số điện thoại, email, ảnh đại diện); cập nhật thông tin cá nhân với ràng buộc họ tên tối đa 50 ký tự, không được để trống, không chứa số và ký tự đặc biệt, tích hợp gợi ý địa chỉ.
- Đăng nhập: Xác thực tài khoản bằng số điện thoại và mật khẩu, xử lý luồng quên mật khẩu và từ chối truy cập khi thông tin sai lệch.
- Xây dựng hệ thống biểu đồ Use-Case mô hình hóa tương tác người dùng: Biểu đồ Use-Case tổng quát, Biểu đồ Use-Case chức năng quản lý công việc cá nhân, Biểu đồ Use-Case chức năng quản lý hồ sơ và Biểu đồ Use-Case chức năng đăng nhập.
Chương 3: Kiểm thử tự động cho ứng dụng quản lý dự án – PMO sử dụng công cụ Postman
Chương thực nghiệm triển khai toàn bộ các bước kiểm thử thực tế trên hệ thống API của PMO:
- Hướng dẫn quy trình 6 bước cài đặt công cụ Postman, đăng nhập tài khoản (qua tài khoản Postman hoặc Google Account) và thiết lập môi trường Workspace.
- Trình bày cấu trúc mẫu thiết kế Test Case chuẩn gồm các cột: Test case ID, Title, Input data, Expected Results, Actual Results, Test Environment, Ghi chú.
- Đặc tả chi tiết dữ liệu đầu vào (Request URL, HTTP Method, cấu trúc dữ liệu JSON trong Request Body) cho từng ca kiểm thử đối với 7 API mục tiêu: Tạo mới công việc (POST), Chỉnh sửa công việc (PUT), Xóa công việc (DELETE), Cập nhật thông tin người dùng (PUT), Đăng nhập hệ thống (POST/PUT).
- Mô tả chi tiết các bước thực hiện trên giao diện Postman: thiết lập Request, cấu hình Bearer Token từ API đăng nhập, tạo Collection, chia Folder, thực thi kiểm thử hàng loạt và phân tích giao diện so sánh kết quả trả về giữa thực tế và mong đợi nhằm phát hiện lỗi của hệ thống.
Kết quả và đóng góp của đề tài
Kết quả nghiên cứu chính
- Hệ thống hóa thành công lý thuyết kiểm thử phần mềm, quy trình kiểm thử tự động 7 bước và các kỹ thuật thiết kế ca kiểm thử hộp đen.
- Khảo sát và đặc tả đầy đủ các yêu cầu chức năng, ràng buộc nghiệp vụ và biểu đồ Use-Case của hệ thống phần mềm quản lý dự án PMO tại Công ty Cổ phần Đầu tư Công nghệ TST ECO.
- Xây dựng thành công bộ kịch bản kiểm thử API chi tiết cho 7 dịch vụ web cốt lõi của ứng dụng PMO (đăng nhập, lấy danh sách công việc, lấy chi tiết công việc, thêm mới công việc, sửa công việc, xóa công việc, cập nhật hồ sơ người dùng).
- Triển khai quy trình kiểm thử tự động trên công cụ Postman: cấu hình thành công cơ chế xác thực chuỗi
access_token thông qua Bearer Token, tổ chức phân cấp Collection/Folder khoa học, viết script kiểm tra tự động bằng JavaScript và xuất kết quả kiểm tra trạng thái phản hồi.
- Thiết lập quy trình ghi nhận bằng chứng kiểm thử (chụp màn hình dữ liệu Response Body, Status Code) đối với các trường hợp ca kiểm thử thất bại để phục vụ việc lập báo cáo lỗi (Bug report).
Đóng góp so với các công trình liên quan
Tác giả đã tự tổng thuật và phân tích hạn chế của ba công trình nghiên cứu khóa luận đi trước:
- Khóa luận "Kiểm thử web bằng công cụ Selenium": Dùng Selenium WebDriver kết hợp TestNG để kiểm thử giao diện website; hạn chế là chưa giả lập được nhiều người dùng ảo đồng thời để kiểm tra xung đột và chưa nghiên cứu phương pháp kiểm thử hướng từ khóa.
- Khóa luận "Kiểm thử phần mềm trên thiết bị di động và ứng dụng phần mềm Appium Studio cho ứng dụng trên IOS": Dùng Appium Studio tích hợp trong Eclipse; hạn chế là không kiểm thử được trên thiết bị thật mà phải qua đám mây (Cloud), dẫn đến khó đo lường chính xác hiệu năng, đồng thời Appium Studio bị hạn chế gói miễn phí trên đám mây và thiếu tài liệu hỗ trợ.
- Khóa luận "Nghiên cứu sinh mã kiểm thử tự động dựa trên kịch bản kiểm thử hướng hành vi": Kết hợp Cucumber, Java và Selenium để kiểm thử web theo quy trình Agile; tập trung vào kiểm thử giao diện người dùng dựa trên hành vi (BDD).
So với các công trình trên, khóa luận của tác giả Đào Hồng Minh Châu tập trung giải quyết bài toán kiểm thử tự động ở tầng giao diện lập trình ứng dụng (API Testing) thay vì kiểm thử tầng giao diện người dùng (UI Testing). Việc sử dụng Postman giúp kiểm thử trực tiếp logic xử lý và tính toàn vẹn dữ liệu của backend độc lập với giao diện, thao tác kiểm thử gọn nhẹ hơn so với việc duy trì các framework kiểm thử trình duyệt hay thiết bị di động phức tạp.
Hạn chế và hướng nghiên cứu tiếp theo
Dựa trên phạm vi nghiên cứu và nội dung được công bố trong văn bản, đề tài tồn tại một số hạn chế gắn liền với đặc thù công cụ và phạm vi thực tập:
- Hạn chế về công cụ kiểm thử: Phiên bản miễn phí của công cụ Postman áp dụng giới hạn về số lượng yêu cầu gọi API mỗi tháng. Ngoài ra, việc kiểm thử bằng Postman trong đề tài chủ yếu tập trung vào kiểm tra chức năng đơn lẻ của từng API, chưa mở rộng để kiểm thử tải hoặc hiệu năng phức tạp cho các hệ thống có quy mô dữ liệu đặc biệt lớn.
- Hạn chế về phạm vi triển khai: Do điều kiện thời gian thực tập có hạn (từ 25/12/2023 đến 14/04/2024), các kịch bản kiểm thử mới dừng lại ở các API cốt lõi của 3 phân hệ (công việc, hồ sơ, đăng nhập) thuộc ứng dụng PMO, chưa bao quát toàn bộ các luồng nghiệp vụ mở rộng khác của doanh nghiệp.
- Hướng nghiên cứu tiếp theo: Tác giả định hướng việc tiếp tục hoàn thiện báo cáo và nâng cao kiến thức chuyên môn trong lĩnh vực kiểm thử phần mềm; hướng tới việc khai thác sâu hơn các tính năng nâng cao của Postman như tích hợp bộ công cụ Newman vào quy trình triển khai và tích hợp liên tục (CI/CD pipeline) để tự động hóa kiểm thử trong toàn bộ chu kỳ phát hành phần mềm.
Giá trị tham khảo của khóa luận
Báo cáo khóa luận là tài liệu tham khảo có giá trị học thuật và thực tiễn đối với:
- Sinh viên các ngành Hệ thống thông tin quản lý, Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo trực quan về cách thức xây dựng một báo cáo tốt nghiệp kết hợp giữa khảo sát quy trình nghiệp vụ doanh nghiệp và triển khai kỹ thuật kiểm thử thực tế.
- Người mới tiếp cận lĩnh vực kiểm thử phần mềm (Software Testing / QA / QC): Khóa luận cung cấp hệ thống lý thuyết cô đọng về các kỹ thuật thiết kế test case hộp đen (phân tích giá trị biên, phân vùng tương đương) và quy trình 7 bước kiểm thử tự động.
- Người thực hiện đề tài về kiểm thử API với Postman: Tài liệu hướng dẫn chi tiết từng bước thao tác thực tế: từ cài đặt, tổ chức Collection, cấu hình Body JSON, đến việc trích xuất và dán chuỗi Bearer Token từ API xác thực để chạy kiểm thử hàng loạt các endpoint backend.
Câu hỏi thường gặp
1. Ứng dụng quản lý dự án PMO tại Công ty TST ECO được xây dựng bằng những công nghệ nào?
Theo đặc tả của đề tài, ứng dụng PMO sử dụng Ionic Framework kết hợp Angular và TypeScript ở phía giao diện người dùng (Front-end), được triển khai lưu trữ trên Google Firebase Hosting. Phía dịch vụ API (Back-end) được phát triển bằng NestJS Framework trên nền tảng Node.js với TypeScript. Cơ sở dữ liệu của ứng dụng sử dụng hệ quản trị cơ sở dữ liệu MySQL và các tập tin hình ảnh được lưu trữ tại File Server riêng biệt.
2. Các yêu cầu ràng buộc nghiệp vụ khi tạo mới một công việc trong ứng dụng PMO là gì?
Khi tạo mới công việc trong ứng dụng PMO, hệ thống quy định các ràng buộc sau:
- Người dùng bắt buộc phải chọn đầy đủ tên dự án, loại công việc và người nhận việc từ danh sách có sẵn.
- Tên công việc không được để trống và bị giới hạn tối đa 255 ký tự.
- Ngày bắt đầu công việc phải nhỏ hơn hoặc bằng ngày hiện tại.
- Ngày hoàn thành công việc phải lớn hơn hoặc bằng ngày bắt đầu công việc.
3. Quy trình xác thực quyền truy cập API bằng Token trên Postman được tác giả thực hiện như thế nào?
Quy trình xác thực gồm 5 bước cụ thể:
- Tạo một tab request mới trên Postman với phương thức HTTP là POST, trích xuất đường dẫn URL:
https://gce.top/api/v1/auth/sign-in.
- Trong tab Body, chọn định dạng dữ liệu là
raw và JSON.
- Nhập body request chứa thông tin số điện thoại (
phone) và mật khẩu (password).
- Nhấn nút Send; hệ thống xử lý và trả về chuỗi mã
access_token trong phần Response Body.
- Sao chép mã token này, chuyển sang tab "Authorization" của các request khác, chọn loại xác thực là "Bearer Token" và dán chuỗi token vào trường dữ liệu để cấp quyền gọi API.
4. Đề tài đã thiết kế kịch bản kiểm thử cho bao nhiêu API và thuộc những chức năng nào?
Đề tài thiết kế kịch bản và thực thi kiểm thử cho 7 API chính thuộc hệ thống quản lý PMO:
GET /api/v1/issues (Hiển thị danh sách công việc).
GET /api/v1/issues/{id} (Hiển thị chi tiết công việc).
POST /api/v1/issues (Tạo mới công việc).
PUT /api/v1/issues/{id} (Chỉnh sửa công việc).
DELETE /api/v1/issues/{id} (Xóa công việc).
PUT /api/v1/users/{id} (Cập nhật thông tin hồ sơ người dùng).
POST /api/v1/auth/sign-in (Đăng nhập hệ thống).
5. Những nhược điểm chính của công cụ Postman được nêu trong khóa luận là gì?
Tác giả đã chỉ ra ba nhược điểm chính của Postman gồm:
- Phiên bản miễn phí có một số hạn chế nhất định, chẳng hạn như số lượng yêu cầu gọi API cho phép mỗi tháng.
- Công cụ sở hữu nhiều tính năng và hàm mở rộng phức tạp, gây khó khăn nhất định cho người dùng mới khi tiếp cận.
- Công cụ có thể không hoàn toàn tối ưu cho mọi trường hợp sử dụng, đặc biệt là với các dự án API có quy mô quá lớn hoặc kiến trúc quá phức tạp.
Kết luận
Khóa luận tốt nghiệp của sinh viên Đào Hồng Minh Châu đã giải quyết hoàn chỉnh mục tiêu nghiên cứu về quy trình kiểm thử tự động tầng API cho ứng dụng quản lý dự án PMO tại Công ty Cổ phần Đầu tư Công nghệ TST ECO. Tác giả đã hệ thống hóa đầy đủ cơ sở lý luận về kiểm thử phần mềm, phân tích chính xác kiến trúc hệ thống và xây dựng thành công bộ kịch bản kiểm thử cho 7 API trọng yếu bằng công cụ Postman. Kết quả thực nghiệm đã chứng minh tính khả thi của việc ứng dụng kiểm thử tự động nhằm nâng cao chất lượng phần mềm, giảm thiểu sai sót thủ công và hỗ trợ quản lý lỗi hiệu quả trong môi trường doanh nghiệp thực tế.