Bối cảnh và vấn đề nghiên cứu
Khóa luận tốt nghiệp chuyên ngành Hệ thống thông tin kinh tế thực hiện bởi tác giả dưới sự hướng dẫn của ThS. Lê Việt Hà, tập trung vào đề tài "Xây dựng quy trình kiểm thử cho website của công ty cổ phần sản xuất thương mại Tiến Nga".
Công ty Cổ phần Sản xuất Thương mại Tiến Nga được thành lập ngày 22/08/2005, hoạt động trong lĩnh vực chế biến thực phẩm với danh mục sản phẩm cung ứng trên toàn quốc qua hệ thống các siêu thị. Website của công ty được thiết lập và duy trì hoạt động từ khi thành lập nhằm giới thiệu doanh nghiệp, quảng bá các mặt hàng thực phẩm và hỗ trợ kênh tiếp cận khách hàng. Tuy nhiên, trong quá trình vận hành, đơn vị chưa chú trọng đến công tác kiểm thử phần mềm đối với từng module, giao diện và các chức năng trực tuyến. Hoạt động kiểm thử tại doanh nghiệp mang tính thủ công hoàn toàn, ghi nhận lỗi bằng tệp bảng tính Excel, thiếu công cụ theo dõi lỗi chuyên dụng và quy trình chuẩn hóa. Thực trạng này dẫn đến việc phát hiện lỗi chậm trễ, tester chịu áp lực trung gian giữa khách hàng và lập trình viên, làm ảnh hưởng đến độ tin cậy của kênh thương mại điện tử.
Mục tiêu nghiên cứu tổng quát của đề tài là tập hợp, hệ thống hóa cơ sở lý thuyết về kiểm thử phần mềm; phân tích thực trạng hệ thống website và ứng dụng công nghệ thông tin tại doanh nghiệp; từ đó xây dựng quy trình kiểm thử chuẩn hóa, thiết kế bộ ca kiểm thử (test case) và ứng dụng công cụ quản lý lỗi mã nguồn mở để tối ưu hóa chất lượng website.
Các mục tiêu và nhiệm vụ cụ thể được văn bản xác định bao gồm:
- Làm rõ cơ sở lý thuyết về vấn đề kiểm thử phần mềm ứng dụng trên website của Công ty Cổ phần Sản xuất Thương mại Tiến Nga.
- Xây dựng quy trình kiểm thử hoàn chỉnh cho website của Công ty Cổ phần Sản xuất Thương mại Tiến Nga.
- Thiết kế và thực thi các ca kiểm thử (test case) cho các module chức năng trên website của công ty, cụ thể là phân hệ đặt hàng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống website của Công ty Cổ phần Sản xuất Thương mại Tiến Nga.
- Phạm vi nghiên cứu: Hoạt động kiểm thử website và thực trạng ứng dụng công nghệ thông tin tại Công ty Cổ phần Sản xuất Thương mại Tiến Nga; dữ liệu khảo sát và kết quả kinh doanh thu thập trong giai đoạn 2015–2017, định hướng giải pháp trong giai đoạn 2018–2023.
Cơ sở lý thuyết và phương pháp
Khóa luận hệ thống hóa các khái niệm nền tảng về phần mềm, website và bản chất của kiểm thử phần mềm (Software Testing). Kiểm thử được định nghĩa là cuộc kiểm tra cung cấp thông tin độc lập về chất lượng sản phẩm, thẩm định và xác minh việc đáp ứng yêu cầu kỹ thuật cũng như kỳ vọng của các bên liên quan. Khóa luận phân tích 7 nguyên tắc cốt lõi của kiểm thử phần mềm:
- Kiểm thử chứng minh sự hiện diện của lỗi: Kiểm thử chỉ ra sản phẩm có lỗi, không thể chứng minh phần mềm hoàn toàn không còn lỗi.
- Kiểm thử toàn bộ là không thể: Không thể kiểm thử mọi tổ hợp dữ liệu đầu vào và kịch bản, cần dựa trên phân tích rủi ro và mức độ ưu tiên.
- Kiểm thử càng sớm càng tốt: Bắt đầu thử nghiệm ngay từ giai đoạn đầu vòng đời phát triển giúp giảm thiểu chi phí khắc phục lỗi.
- Lỗi thường phân bố tập trung: Tuân theo nguyên lý Pareto, khoảng 80% lỗi thường xuất hiện trong 20% thành phần chức năng chính.
- Nghịch lý thuốc trừ sâu (Pesticide paradox): Lặp lại liên tục một bộ test case cũ sẽ làm giảm khả năng tìm ra lỗi mới; cần định kỳ bảo trì, cập nhật test case và thực hiện kiểm thử hồi quy (regression testing).
- Kiểm thử phụ thuộc vào ngữ cảnh: Chiến lược kiểm thử phải thay đổi linh hoạt tùy theo nền tảng (ứng dụng web khác với ứng dụng di động).
- Quan niệm sai lầm về việc "hết lỗi": Việc không tìm thấy lỗi không đồng nghĩa với việc sản phẩm đã sẵn sàng đưa vào sử dụng nếu các ca kiểm thử không bao quát được yêu cầu thực tế.
Để chứng minh tầm quan trọng của hoạt động kiểm thử, tác giả trích dẫn các sự cố phần mềm nghiêm trọng trong lịch sử: vụ rơi máy bay Airbus A300 ngày 26/4/1994 khiến 264 người thiệt mạng; sự cố máy xạ trị Therac-25 năm 1985 tại Canada làm 3 người tử vong và 3 người bị thương nặng; thất bại phóng vệ tinh quân sự vào tháng 4/1999 gây thiệt hại 1,2 tỷ USD; và lỗi hệ thống ngân hàng tại Hoa Kỳ vào tháng 5/1996 ghi nhận nhầm tài khoản của 823 khách hàng với số tiền 920 triệu USD.
Về phương pháp và kỹ thuật kiểm thử, khóa luận phân định:
- Phương pháp kiểm thử: Kiểm thử tĩnh (kiểm tra tài liệu, mã nguồn, thuật toán mà không thực thi chương trình) và Kiểm thử động (chạy chương trình trên máy tính để theo dõi trạng thái tác động dựa trên các ca kiểm thử).
- Kỹ thuật kiểm thử: Kiểm thử hộp trắng (White-box testing: kiểm thử đường dẫn, kiểm thử luồng điều khiển, kiểm thử nội bộ tham số/vòng lặp, kiểm thử tính năng đo thời gian xử lý) và Kiểm thử hộp đen (Black-box testing: kiểm thử chức năng, hệ thống, kiểm tra hiệu năng, kiểm thử quá tải). Trong kiểm thử hộp đen, hai kỹ thuật chính được sử dụng là phân vùng tương đương (Equivalence partitioning) và phân tích giá trị biên (Boundary value analysis).
- Mô hình phát triển phần mềm: Tác giả so sánh ưu và nhược điểm của 3 mô hình: Mô hình thác nước (Waterfall), Mô hình chữ V (V-model) và Mô hình linh hoạt (Agile).
Phương pháp nghiên cứu thực tế được tác giả áp dụng bao gồm:
- Phương pháp thu thập dữ liệu: Điều tra trắc nghiệm bằng phiếu khảo sát tại công ty; phỏng vấn trực tiếp cán bộ, nhân viên các phòng ban; quan sát trực tiếp cơ sở hạ tầng mạng, trang thiết bị và môi trường làm việc; thu thập tài liệu từ sách chuyên khảo, bài báo khoa học và các nguồn tài liệu kỹ thuật trực tuyến (sách User Stories Applied của Mike Cohn, Specification by Example của Gojko Adzic, Continuous Delivery, giáo trình của Trần Tường Thụy và Phạm Quang Hiển, sách Kiểm thử các ứng dụng web của Nguyễn Quốc Hùng, Michael Hackett, Bob Johnson và các bài viết kỹ thuật trên cộng đồng Viblo).
- Phương pháp xử lý dữ liệu: Phân tích, so sánh, đối chiếu yêu cầu đặc tả hệ thống với thực tế hoạt động của website; thống kê số liệu trên Microsoft Excel; thiết kế ma trận kiểm thử (RTM) và ca kiểm thử trên bảng tính; ứng dụng phần mềm mã nguồn mở Redmine để ghi nhận, phân loại và theo dõi chu trình xử lý lỗi (log bug).
Thiết kế và triển khai quy trình kiểm thử
Khóa luận thiết kế quy trình kiểm thử phần mềm cho website công ty theo chu trình chuẩn hóa gồm 6 giai đoạn:
| Giai đoạn |
Hoạt động chính (Activities) |
Sản phẩm bàn giao (Deliverables) |
| 1. Phân tích yêu cầu |
Nghiên cứu yêu cầu chức năng (Functional) và phi chức năng (Non-functional); xác định phạm vi, thứ tự ưu tiên, môi trường kiểm thử và tính khả thi của kiểm thử tự động. |
Ma trận truy xuất nguồn gốc yêu cầu (RTM); Báo cáo đánh giá kiểm thử tự động. |
| 2. Lên kế hoạch kiểm thử |
Lựa chọn công cụ kiểm thử (test tool); ước lượng khối lượng công việc (test effort); dự toán chi phí; phân công nhân sự và tổ chức đào tạo dự án. |
Tài liệu kế hoạch và chiến lược kiểm thử (Test Plan). |
| 3. Tạo ca kiểm thử (Test case) |
Xây dựng, soát xét các test case và kịch bản kiểm thử; khởi tạo tập dữ liệu kiểm thử (test data). |
Bộ test case hoàn chỉnh; Kịch bản kiểm thử; Dữ liệu kiểm thử. |
| 4. Cài đặt môi trường kiểm thử |
Khảo sát kiến trúc kỹ thuật; chuẩn bị phần cứng, phần mềm; triển khai môi trường thử nghiệm và thực hiện smoke test. |
Môi trường kiểm thử sẵn sàng; Kết quả kiểm thử khói (Smoke test). |
| 5. Thực hiện kiểm thử |
Thực thi ca kiểm thử theo kế hoạch; lập tài liệu kết quả; ghi nhận lỗi (log bug) lên hệ thống quản lý; đối chiếu lỗi với RTM; kiểm thử lại và đóng lỗi. |
Báo cáo lỗi (Bug report); Kết quả kiểm thử thực tế; Trạng thái đóng lỗi. |
| 6. Đóng chu trình kiểm thử |
Họp tổng kết, đánh giá mức độ bao phủ, thời gian, chi phí, chất lượng; phân tích phân bố lỗi theo loại và độ nghiêm trọng; rút ra bài học kinh nghiệm. |
Báo cáo kết thúc kiểm thử; Tài liệu bài học kinh nghiệm (Learning out). |
Áp dụng vào thực tế, tác giả tiến hành đặc tả yêu cầu nghiệp vụ và thiết kế bộ ca kiểm thử cho chức năng "Thông tin người mua và đặt hàng" trên website tại địa chỉ thử nghiệm http://product.vn:88/tester/.
Bảng đặc tả trường dữ liệu đầu vào của giao diện đặt hàng:
| Tên trường dữ liệu |
Kiểu điều khiển / Định dạng |
Bắt buộc (Mandatory) |
Ràng buộc kỹ thuật / Dữ liệu mẫu |
| Tên người mua |
Hộp văn bản (Text box) |
Có (Y) |
Tối đa 32 ký tự; mẫu: "Nguyễn Văn An" |
| Địa chỉ |
Hộp văn bản (Text box) |
Có (Y) |
Tối đa 20 ký tự; mẫu: "Đường Mỹ Lâm" |
| Số điện thoại |
Hộp văn bản (Text box) |
Có (Y) |
Tối đa 16 ký tự; mẫu: "+84914123456", "0904155287", "0084912333333" |
| Email |
Hộp văn bản (Text box) |
Không (N) |
Tối đa 32 ký tự; mẫu: daott2004@gmail.com |
| Thông tin thêm |
Hộp văn bản (Text box) |
Không (N) |
Giới hạn 225 đến 256 ký tự; mẫu: "abc" |
| Nút thao tác |
Nút bấm (Button) |
— |
Nút "Đặt hàng" để lưu dữ liệu vào cơ sở dữ liệu |
Dựa trên kỹ thuật phân vùng tương đương và phân tích giá trị biên, tác giả thiết lập và thực thi 19 ca kiểm thử (người thực hiện: Tuyết Lê / VanDT, ngày thực hiện 10/4/2018):
| Mã TC |
Hạng mục kiểm thử |
Điều kiện kiểm thử / Thao tác |
Kết quả kỳ vọng |
Kết quả thực tế |
| ID-1 |
Giao diện (GUI) |
Kiểm tra cấu trúc layout, kiểu nút, nhãn chữ, căn lề, màu sắc, hình ảnh, tiêu đề in đậm bên trái, bộ đếm ký tự. |
Mọi thành phần hiển thị chính xác theo bản thiết kế giao diện. |
Passed |
| ID-2 |
Tên người mua |
Nhập tên = 33 ký tự; bấm nút "Đặt hàng". |
Báo lỗi: "Tên người mua không được nhập quá 33 ký tự, vui lòng kiểm tra lại"; giữ nguyên giá trị đã nhập, focus vào trường Tên. |
Failed |
| ID-3 |
Tên người mua |
Để trống trường Tên; bấm nút "Đặt hàng". |
Báo lỗi: "Vui lòng điền vào trường này"; giữ nguyên dữ liệu, focus vào trường Tên. |
Passed |
| ID-4 |
Tên người mua |
Nhập có ký tự trắng ở đầu/cuối: ' Nguyễn Văn A '; bấm nút "Đặt hàng". |
Hệ thống tự động loại bỏ khoảng trắng (trim space) trước khi lưu vào CSDL. |
Passed |
| ID-5 |
Số điện thoại |
Để trống trường Số điện thoại; bấm nút "Đặt hàng". |
Báo lỗi: "Vui lòng điền vào trường này"; giữ nguyên dữ liệu, focus vào trường Số điện thoại. |
Passed |
| ID-6 |
Số điện thoại |
Nhập ký tự chữ "abc"; bấm nút "Đặt hàng". |
Báo lỗi: "Số điện thoại di động không hợp lệ, vui lòng kiểm tra lại"; focus vào trường Số điện thoại. |
Failed |
| ID-7 |
Số điện thoại |
Nhập số điện thoại > 16 chữ số; bấm nút "Đặt hàng". |
Báo lỗi: "Số điện thoại di động không hợp lệ, vui lòng kiểm tra lại"; focus vào trường Số điện thoại. |
Failed |
| ID-8 |
Số điện thoại |
Nhập số điện thoại < 9 chữ số; bấm nút "Đặt hàng". |
Hệ thống phải xử lý logic độ dài không hợp lệ (thực tế hệ thống lại báo đặt hàng thành công). |
Passed |
| ID-9 |
Số điện thoại |
Nhập khoảng trắng trước và sau dãy số; bấm nút "Đặt hàng". |
Hệ thống tự động loại bỏ khoảng trắng ở hai đầu trước khi lưu vào CSDL. |
Failed |
| ID-10 |
Email |
Nhập địa chỉ email > 32 ký tự; bấm nút "Đặt hàng". |
Báo lỗi: "Địa chỉ email không được nhập quá 32 ký tự, vui lòng kiểm tra lại"; focus vào trường Email. |
Failed |
| ID-11 |
Email |
Nhập email sai định dạng cú pháp; bấm nút "Đặt hàng". |
Báo lỗi: "Địa chỉ email không hợp lệ, vui lòng kiểm tra lại"; focus vào trường Email. |
Failed |
| ID-12 |
Địa chỉ |
Nhập địa chỉ > 20 ký tự; bấm nút "Đặt hàng". |
Báo lỗi: "Địa chỉ không được quá 20 kí tự, vui lòng kiểm tra lại"; focus vào trường Địa chỉ. |
Failed |
| ID-13 |
Địa chỉ |
Để trống trường Địa chỉ; bấm nút "Đặt hàng". |
Báo lỗi: "Vui lòng điền vào trường này"; focus vào trường Địa chỉ. |
Passed |
| ID-14 |
Thông tin thêm |
Nhập nội dung ghi chú > 256 ký tự; bấm nút "Đặt hàng". |
Báo lỗi: "Ghi chú không được nhập quá 256 ký tự, vui lòng kiểm tra lại"; focus vào trường Ghi chú. |
Failed |
| ID-15 |
Toàn bộ form |
Để trống tất cả các trường dữ liệu; bấm nút "Đặt hàng". |
Hệ thống hiển thị thông báo lỗi đồng loạt; focus vào trường Họ và tên. |
Passed |
| ID-16 |
Trường hợp đúng |
Độ dài nhỏ nhất + 1 (Tên 1 ký tự, SĐT 1 ký tự, Email a@gmail.com, Ghi chú 1 ký tự). |
Đặt hàng thành công, hiển thị thông báo xác nhận và liên kết về trang chủ. |
Passed |
| ID-17 |
Trường hợp đúng |
Độ dài trung bình (Tên 16 ký tự, SĐT 9 ký tự, Email a@gmail.com, Ghi chú 200 ký tự). |
Đặt hàng thành công, hiển thị thông báo gửi email xác nhận. |
Passed |
| ID-18 |
Trường hợp đúng |
Độ dài lớn nhất (Tên 32 ký tự, SĐT 16 ký tự, Email a@gmail.com, Ghi chú 256 ký tự). |
Đặt hàng thành công, hiển thị thông báo gửi email xác nhận. |
Passed |
| ID-19 |
Trường hợp đúng |
Độ dài lớn nhất - 1 (Tên 31 ký tự, SĐT 15 ký tự, Email 31 ký tự, Ghi chú 255 ký tự). |
Đặt hàng thành công, hiển thị thông báo gửi email xác nhận. |
Passed |
Để quản lý các lỗi phát hiện được, tác giả triển khai phần mềm Redmine. Đây là công cụ mã nguồn mở, cho phép tùy biến linh hoạt, cài đặt thêm các plugin quản trị dự án mà không phát sinh chi phí bản quyền. Các lỗi phát sinh từ ca kiểm thử thất bại (như ID-2, ID-6, ID-7) được đưa lên Redmine kèm mức độ ưu tiên, trạng thái, người chịu trách nhiệm sửa lỗi và các bước tái hiện, thay thế hoàn toàn hình thức theo dõi thủ công bằng Excel.
Nội dung chính theo từng chương
Tổng quan về đề tài nghiên cứu
Chương mở đầu trình bày tính cấp thiết của việc ứng dụng công nghệ thông tin trong hoạt động kinh doanh và tầm quan trọng của việc kiểm định chất lượng website doanh nghiệp. Tác giả xác định mục tiêu tổng quát, nhiệm vụ nghiên cứu, đối tượng nghiên cứu là website của Công ty Cổ phần Sản xuất Thương mại Tiến Nga, phạm vi thực hiện tại công ty và hệ thống phương pháp luận bao gồm phương pháp thu thập dữ liệu (điều tra trắc nghiệm, phỏng vấn, quan sát, nghiên cứu tài liệu) và phương pháp xử lý dữ liệu (phân tích, so sánh, đối chiếu, thống kê).
Chương 1: Cơ sở lí luận về kiểm thử
Chương này tập trung hệ thống hóa toàn diện các lý thuyết chuyên ngành kiểm thử:
- Định nghĩa phần mềm, cấu trúc website và bản chất của kiểm thử phần mềm.
- 5 mục tiêu chính của kiểm thử: phát hiện bug do lập trình viên tạo ra, củng cố sự tự tin về chất lượng, ngăn ngừa lỗi, bảo đảm đáp ứng yêu cầu người dùng và nâng cao uy tín với khách hàng.
- Phân tích chi tiết 7 nguyên tắc kiểm thử phần mềm; dẫn chứng 4 vụ tai nạn, thiệt hại kinh tế và tính mạng do lỗi phần mềm trong lịch sử thế giới.
- Trình bày chu trình kiểm thử gồm 6 giai đoạn tiêu chuẩn (phân tích yêu cầu, lên kế hoạch, tạo test case, chuẩn bị môi trường, thực hiện test, đóng chu trình).
- Phân loại kiểm thử tĩnh và kiểm thử động; so sánh kỹ thuật kiểm thử hộp trắng và kiểm thử hộp đen; phân tích chi tiết kỹ thuật phân vùng tương đương và phân tích giá trị biên.
- Đánh giá ưu và nhược điểm của 3 mô hình vòng đời phát triển phần mềm: Waterfall, V-model và Agile.
- Tổng quan các công trình nghiên cứu quốc tế (User Stories Applied, Specification by Example, Continuous Delivery) và các tài liệu, ấn phẩm chuyên môn tại Việt Nam (Kiểm thử phần mềm của Trần Tường Thụy - Phạm Quang Hiển, Kiểm thử các ứng dụng web của nhóm tác giả Nguyễn Quốc Hùng, tài liệu chia sẻ kinh nghiệm rà soát mã nguồn trên Viblo của Nguyễn Huy Hùng).
Chương 2: Kết quả phân tích đánh giá thực trạng của đề tài "Xây dựng quy trình kiểm thử cho website của công ty cổ phần sản xuất thương mại Tiến Nga"
Chương 2 phản ánh chi tiết tình hình thực tế tại doanh nghiệp khảo sát:
- Giới thiệu doanh nghiệp: Công ty Cổ phần Sản xuất Thương mại Tiến Nga thành lập ngày 22/08/2005. Trụ sở chính tại số 1/11 Đường Linh Đông, KP7, P. Thủ Đức, TP.HCM; Nhà máy sản xuất tại Đường Chu Mạnh Trinh, TP. Biên Hòa, Tỉnh Đồng Nai; Chi nhánh Hà Nội tại Ô 17.1, Lô E7, Đường Phạm Hùng, Phường Mễ Trì, Quận Nam Từ Liêm, Hà Nội. Hoạt động chính trong ngành chế biến thực phẩm.
- Cơ cấu tổ chức: Gồm Hội đồng quản trị, Tổng Giám đốc điều hành, Ban Kiểm soát hoạt động độc lập, Giám đốc tài chính, Giám đốc kinh doanh - marketing, các Giám đốc chi nhánh (Hà Nội, TP.HCM), Giám đốc nhà máy và Trưởng phòng R&D.
- Tình hình tài chính và kết quả kinh doanh giai đoạn 2015–2017:
| Chỉ tiêu tài chính |
Năm 2015 |
Năm 2016 |
Chênh lệch 2016/2015 |
Tỷ lệ tăng 2016/2015 (%) |
Năm 2017 |
Chênh lệch 2017/2016 |
Tỷ lệ tăng 2017/2016 (%) |
| Tổng chi phí (triệu VNĐ) |
2.143 |
3.150 |
+1.007 |
46,1% (46,3%) |
4.715 |
+1.565 |
49,05% |
| Tổng doanh thu (triệu VNĐ) |
— |
— |
+1.250 |
42,1% |
— |
+1.920 |
45,5% |
| Tổng lợi nhuận (triệu VNĐ) |
— |
— |
+243 |
29,5% |
— |
+355 |
33,3% |
(Ghi chú: Mục tiêu năm 2018 của công ty là tăng doanh thu 65%, lợi nhuận tăng gấp 2,5 lần so với năm 2017; tỷ trọng chi cho ứng dụng CNTT chiếm trên 20% tổng chi phí thường niên).
- Thực trạng hạ tầng và nhân lực CNTT: Hệ thống mạng chuyển đổi từ mạng ngang hàng sang mạng Domain quản lý tập trung tài khoản người dùng và dữ liệu.
| STT |
Danh mục trang thiết bị phần cứng |
Số lượng (chiếc) |
| 1 |
Máy chủ (Server) |
1 |
| 2 |
Máy tính để bàn |
15 |
| 3 |
Máy in |
2 |
| 4 |
Máy quét (Scanner) |
2 |
Phần mềm ứng dụng gồm: Microsoft Office, Excel, Google Trang tính, Microsoft Access 2010, phần mềm kế toán MISA SME.NET 2017 (gồm 16 phân hệ kế toán cho doanh nghiệp vừa và nhỏ), phần mềm diệt virus Bkav và Unikey. Về nhân lực CNTT, công ty chưa có phòng ban kỹ thuật riêng mà do nhân sự có kiến thức công nghệ kiêm nhiệm. Cơ cấu đào tạo CNTT cho nhân viên gồm: 50% gửi đi học đào tạo bên ngoài, 30% đào tạo nội bộ tại công ty và 20% chưa qua đào tạo.
- Hiện trạng website: Website chia thành các phân hệ chính: Trang chủ, Giới thiệu (hồ sơ pháp lý, lịch quảng cáo, bằng khen/giải thưởng, chất lượng sản phẩm, mục tiêu, giới thiệu chung), Sản phẩm (nước ép, khô bò, khô mực, đồ hộp, chà bông, hạt điều, cá cơm ăn liền, gia vị tôm), Đại lý (nhà phân phối, hệ thống siêu thị), Đối tác, Tin tức (báo chí, công ty, thị trường, nhà máy), Tuyển dụng, Video và Liên hệ. Website định kỳ 3 tháng cập nhật thông tin một lần.
- Đánh giá thực trạng kiểm thử: Website hoạt động tương đối ổn định, ít bị treo máy. Tuy nhiên, khâu kiểm thử hoàn toàn thủ công trên Excel, tốn thời gian, độ chính xác không cao; chưa áp dụng các công cụ chuyên dụng như Jira, Bugzilla hay Redmine; quy trình làm việc giữa đội ngũ lập trình và kiểm thử chưa ăn khớp.
Chương 3: Định hướng phát triển và đề hướng giải pháp "Xây dựng quy trình kiểm thử cho website của công ty cổ phần sản xuất thương mại Tiến Nga"
Chương 3 đề xuất định hướng và giải pháp cụ thể:
- Nêu mục tiêu chiến lược giai đoạn 2018–2023: áp dụng tiêu chuẩn quản lý chất lượng ISO 9001:2008, tăng trưởng doanh số 20% so với 2016, tỷ lệ phát triển sản phẩm mới đạt 80%, duy trì chi phí dưới 13% tổng doanh số bán; nâng cao năng lực nhân sự và hoàn thiện các chức năng đặt hàng trực tuyến của website.
- Chuẩn hóa quy trình kiểm thử 6 bước áp dụng cho website công ty.
- Xây dựng bản đặc tả kỹ thuật và thiết kế 19 ca kiểm thử chi tiết cho chức năng đặt hàng (kiểm thử GUI, kiểm thử hợp lệ và kiểm thử các trường hợp dữ liệu sai biên/sai định dạng).
- Đề xuất và hướng dẫn ứng dụng phần mềm Redmine để quản lý defect, tối ưu hóa công tác log bug và phản hồi giữa tester và developer.
Kết quả và đóng góp
Khóa luận đạt được các kết quả cụ thể dựa trên số liệu và dữ kiện thực tế:
- Hoàn thiện mô hình quy trình kiểm thử 6 giai đoạn thích ứng với điều kiện vận hành của doanh nghiệp chế biến thực phẩm có kênh thương mại điện tử.
- Xây dựng tài liệu đặc tả yêu cầu cho 5 trường dữ liệu chính của module đặt hàng và thực hiện kiểm thử thành công bộ 19 test case.
- Thông qua kiểm thử thực tế, tác giả đã phát hiện và ghi nhận hàng loạt lỗi kỹ thuật trên website:
- Lỗi không chặn độ dài vượt ngưỡng tại trường Tên người mua (> 33 ký tự) và trường Địa chỉ (> 20 ký tự).
- Lỗi không kiểm tra tính hợp lệ của trường Số điện thoại: hệ thống chấp nhận chuỗi ký tự chữ cái (
"abc"), chấp nhận số điện thoại vượt quá 16 chữ số và không kiểm tra độ dài tối thiểu (< 9 chữ số vẫn báo thành công).
- Lỗi không tự động loại bỏ khoảng trắng (trim space) ở đầu và cuối số điện thoại trước khi lưu vào CSDL.
- Lỗi không xác thực định dạng địa chỉ email và không giới hạn độ dài ký tự của email (> 32 ký tự).
- Lỗi không giới hạn độ dài của trường Ghi chú bổ sung (> 256 ký tự).
- Thiết lập thành công công cụ mã nguồn mở Redmine để thay thế quy trình quản lý lỗi bằng Excel, tạo cơ chế gán việc, theo dõi tiến độ sửa lỗi và lưu trữ lịch sử kiểm thử rõ ràng.
- Đóng góp của đề tài thể hiện ở việc bù đắp khoảng trống thực tế trong hoạt động kiểm thử phần mềm tại doanh nghiệp vừa và nhỏ ngành thực phẩm; chuyển đổi phương thức kiểm thử tự phát, rời rạc sang quy trình bài bản có ứng dụng công cụ chuyên dụng.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận ghi nhận các giới hạn nghiên cứu dựa trên phạm vi thực hiện:
- Hạn chế: Đề tài chỉ tập trung thiết kế và thực thi kiểm thử chức năng cho một phân hệ đơn lẻ là giao diện thông tin người mua và đặt hàng; chưa mở rộng kiểm thử toàn diện các phân hệ khác (như giỏ hàng phức tạp, thanh toán trực tuyến, quản lý danh mục sản phẩm, tin tức, đại lý). Hoạt động kiểm thử mới dừng lại ở kiểm thử hộp đen thủ công (Manual testing) và kiểm thử giao diện; chưa thực hiện kiểm thử tự động (Automation testing), kiểm thử tải/hiệu năng hệ thống hoặc kiểm thử an ninh bảo mật web.
- Hướng nghiên cứu tiếp: Mở rộng xây dựng kịch bản kiểm thử cho toàn bộ các chức năng còn lại trên website; nghiên cứu áp dụng các công cụ kiểm thử tự động hóa để rút ngắn thời gian lặp lại ca kiểm thử; tích hợp quy trình kiểm thử phần mềm vào hệ thống quản lý chất lượng theo tiêu chuẩn ISO 9001:2008 của doanh nghiệp.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo phù hợp cho:
- Sinh viên chuyên ngành Hệ thống thông tin kinh tế, Tin học quản lý, Thương mại điện tử hoặc Công nghệ thông tin định hướng Đảm bảo chất lượng phần mềm (QA/QC) và Kiểm thử phần mềm (Software Testing).
- Các nhà nghiên cứu và sinh viên làm đề tài tốt nghiệp về quy trình kiểm thử website thương mại điện tử tại các doanh nghiệp vừa và nhỏ (SMEs).
- Phần có giá trị tham khảo ứng dụng cao bao gồm: hệ thống lý thuyết về 7 nguyên tắc kiểm thử và các mô hình phát triển phần mềm; bảng mẫu đặc tả yêu cầu dữ liệu; bộ 19 test case minh họa kỹ thuật phân tích giá trị biên và phân vùng tương đương; phương pháp tổ chức quản lý lỗi thực tế qua công cụ Redmine.
Câu hỏi thường gặp
1. Trước khi nghiên cứu được triển khai, công tác kiểm thử website tại Công ty Cổ phần Sản xuất Thương mại Tiến Nga diễn ra như thế nào?
Website của công ty hoạt động từ khi thành lập nhưng chưa được kiểm thử bài bản đối với từng module hay giao diện. Công việc kiểm tra được thực hiện thủ công, viết test case và theo dõi bug trên bảng tính Excel, không sử dụng các phần mềm quản lý lỗi chuyên dụng, dẫn đến tốn nhiều thời gian và gây áp lực cho nhân sự kiểm thử.
2. Quy trình kiểm thử website do tác giả xây dựng gồm những giai đoạn nào?
Quy trình gồm 6 giai đoạn tiêu chuẩn: (1) Phân tích yêu cầu, (2) Lên kế hoạch kiểm thử, (3) Tạo test case, (4) Cài đặt môi trường kiểm thử, (5) Thực hiện kiểm thử và log lỗi, (6) Đóng chu trình kiểm thử và lập báo cáo tổng kết.
3. Quá trình thực thi 19 ca kiểm thử trên chức năng đặt hàng đã phát hiện ra những khiếm khuyết cụ thể nào của website?
Hệ thống bộc lộ nhiều lỗi nghiêm trọng (Failed): không chặn độ dài khi nhập tên người mua quá 33 ký tự, không bắt lỗi khi nhập ký tự chữ hoặc nhập quá 16 số ở trường số điện thoại, không tự động loại bỏ khoảng trắng hai đầu số điện thoại, không kiểm tra định dạng và độ dài email (> 32 ký tự), không giới hạn độ dài trường địa chỉ (> 20 ký tự) và ghi chú (> 256 ký tự).
4. Thực trạng hạ tầng phần cứng và cơ cấu nhân lực công nghệ thông tin tại công ty Tiến Nga được khảo sát ra sao?
Công ty có 1 máy chủ, 15 máy tính để bàn, 2 máy in và 2 máy scan, vận hành mạng Domain tập trung. Đơn vị chưa có phòng CNTT độc lập mà do nhân sự kiêm nhiệm; cơ cấu đào tạo CNTT gồm 50% gửi đi học bên ngoài, 30% đào tạo tại chỗ và 20% chưa qua đào tạo.
5. Vì sao phần mềm Redmine được lựa chọn thay thế bảng tính Excel trong việc quản lý lỗi?
Redmine là phần mềm mã nguồn mở hoàn toàn miễn phí, có khả năng tùy biến cao, hỗ trợ cài đặt thêm các plugin quản trị dự án, cung cấp giao diện theo dõi trạng thái bug rõ ràng và hiệu quả hơn so với việc ghi nhận thủ công rời rạc trên Excel.
Kết luận
Khóa luận tốt nghiệp của tác giả đã giải quyết trọn vẹn mục tiêu nghiên cứu thông qua việc hệ thống hóa cơ sở lý luận về kiểm thử phần mềm và khảo sát chi tiết thực trạng ứng dụng công nghệ tại Công ty Cổ phần Sản xuất Thương mại Tiến Nga. Đề tài đã chuẩn hóa quy trình kiểm thử 6 bước, thiết kế bộ 19 ca kiểm thử cụ thể cho chức năng đặt hàng và phát hiện nhiều lỗi dữ liệu quan trọng trên website thực tế của doanh nghiệp. Việc đề xuất và áp dụng công cụ mã nguồn mở Redmine đã mang lại giải pháp quản trị lỗi khoa học, góp phần nâng cao chất lượng vận hành của hệ thống thương mại điện tử tại đơn vị.