Bối cảnh và vấn đề nghiên cứu

Sự phát triển của khoa học kỹ thuật và ngành công nghệ thông tin đã kéo theo sự gia tăng về quy mô và số lượng của các doanh nghiệp hoạt động trong lĩnh vực sản xuất phần mềm, lập trình, thiết kế website và triển khai ứng dụng tại Việt Nam. Bên cạnh yêu cầu về tiến độ và tính năng, chất lượng phần mềm trở thành yếu tố then chốt nhằm hạn chế các lỗi phát sinh trong quá trình vận hành, đảm bảo tính thân thiện và đáp ứng đúng đặc tả của khách hàng. Trong quy trình phát triển phần mềm, hoạt động kiểm thử giữ vai trò phát hiện sai sót, ngăn chặn lỗi tiềm tàng và cung cấp đánh giá khách quan dưới góc độ người dùng trực tiếp.

Tại Công ty TNHH Giải pháp phần mềm Gia Linh (doanh nghiệp thành lập năm 2011, hoạt động trong lĩnh vực lập trình máy vi tính, gia công phần mềm, thiết kế website và dịch vụ thương mại điện tử với quy mô 45 nhân viên), hoạt động kiểm thử trước đây chủ yếu do các lập trình viên tự thực hiện. Điều này dẫn đến sự chủ quan, khó phát hiện lỗi và kéo dài thời gian bàn giao sản phẩm. Nhằm mở rộng quy mô sản xuất, từ năm 2016 công ty đã thành lập đội ngũ kiểm thử độc lập và tuyển dụng thêm nhiều thực tập sinh vào cuối năm 2017. Tuy nhiên, quy trình kiểm thử tại doanh nghiệp vẫn phụ thuộc chủ yếu vào kinh nghiệm cá nhân, chưa có hệ thống tài liệu và phương pháp kiểm thử bài bản, dẫn đến thời gian đào tạo bị kéo dài và hiệu quả chưa đồng đều.

Từ thực tiễn đó, đề tài "Nghiên cứu một số kỹ thuật kiểm thử phần mềm áp dụng kiểm thử cho website http://hoctestertop.com/ của Công ty TNHH Giải pháp phần mềm Gia Linh" được thực hiện nhằm hệ thống hóa lý thuyết kiểm thử và vận dụng trực tiếp vào việc thiết kế testcase cho một sản phẩm phần mềm cụ thể của doanh nghiệp.

Mục tiêu và nhiệm vụ nghiên cứu

  • Mục tiêu nghiên cứu: Nghiên cứu hệ thống các kỹ thuật kiểm thử phần mềm hiện nay; vận dụng các kỹ thuật kiểm thử để thiết kế và thực thi kịch bản kiểm thử cho sản phẩm website thương mại điện tử http://hoctestertop.com/ do công ty thiết kế.
  • Nhiệm vụ nghiên cứu:
    1. Tổng kết các lý thuyết và khái niệm cơ bản liên quan đến phần mềm, chất lượng phần mềm và kiểm thử phần mềm.
    2. Tổng kết các kỹ thuật kiểm thử phần mềm, đánh giá ưu điểm và nhược điểm của từng kỹ thuật.
    3. Phân tích và đánh giá thực trạng hoạt động kiểm thử phần mềm tại Công ty TNHH Giải pháp phần mềm Gia Linh.
    4. Xây dựng các trường hợp kiểm thử (testcase) để kiểm thử sản phẩm website của công ty, từ đó đánh giá tính ứng dụng và hiệu quả thực tế của các kỹ thuật được áp dụng.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Các vấn đề lý luận về kiểm thử phần mềm và các kỹ thuật kiểm thử phần mềm hiện đại.
  • Phạm vi không gian: Nghiên cứu thực trạng hoạt động kiểm thử tại Công ty TNHH Giải pháp phần mềm Gia Linh và áp dụng kiểm thử trên website thương mại điện tử http://hoctestertop.com/ (GREEN CONSTRUCTION - chuyên cung cấp thiết bị và nội thất văn phòng).
  • Phạm vi thời gian: Số liệu về tình hình hoạt động kinh doanh của doanh nghiệp được thu thập trong giai đoạn 2015–2017; các số liệu về cơ sở hạ tầng công nghệ thông tin và kết cấu nguồn nhân sự được chốt tính đến cuối năm 2017.
  • Giới hạn nghiên cứu: Vận dụng kỹ thuật kiểm thử hộp đen (Black-box testing) để viết testcase cho các chức năng của website http://hoctestertop.com/.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và khái niệm sử dụng

Khóa luận tiếp cận các khái niệm và chuẩn mực quốc tế về kỹ nghệ phần mềm và kiểm thử:

  • Phần mềm (theo chuẩn IEEE): Tập hợp các câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo trật tự xác định, bao gồm chương trình máy tính (mã nguồn, mã máy), cấu trúc dữ liệu (bộ nhớ trong, bộ nhớ ngoài) và các tài liệu liên quan (tài liệu hướng dẫn sử dụng, tài liệu phát triển, tài liệu kỹ thuật).
  • Kiểm thử phần mềm:
    • Theo Glenford J. Myers (1979): Là quá trình thực thi một chương trình với mục đích tìm ra lỗi.
    • Theo chuẩn IEEE (1990): Bao gồm hai khía cạnh: (1) Quá trình vận hành hệ thống/thành phần với các điều kiện xác định để đánh giá các khía cạnh; (2) Quá trình phân tích các yếu tố phần mềm nhằm phát hiện sự khác biệt giữa chương trình và yêu cầu đặc tả.
  • Chất lượng phần mềm (IEEE, 1991) và Đảm bảo chất lượng phần mềm (SQA - theo Daniel Galin): Tập hợp các hành động được lên kế hoạch hệ thống nhằm tạo niềm tin rằng quy trình phát triển đáp ứng đúng yêu cầu chức năng, kỹ thuật, lịch trình và ngân sách.
  • 7 nguyên tắc cơ bản trong kiểm thử: (1) Kiểm thử chứng minh sự có mặt của lỗi; (2) Không thể kiểm thử vét cạn; (3) Kiểm thử sớm; (4) Phân cụm lỗi; (5) Kiểm thử ngược (nghịch lý thuốc trừ sâu); (6) Kiểm thử phụ thuộc vào ngữ cảnh; (7) Sai lầm về việc "không có lỗi".
  • Kỹ thuật kiểm thử: Kiểm thử hộp đen (với các kỹ thuật phân tích giá trị biên, phân vùng tương đương, bảng quyết định, đoán lỗi), kiểm thử hộp trắng (kiểm thử cấu trúc, bao phủ câu lệnh, nhánh) và kiểm thử hộp xám.
  • Các mức độ và giai đoạn kiểm thử: Kiểm thử đơn vị (Unit Test), Kiểm thử tích hợp (Integration Test), Kiểm thử hệ thống (System Test - bao gồm kiểm thử giao diện, luồng nghiệp vụ và hiệu năng), Kiểm thử chấp nhận (Acceptance Test - Alpha Test và Beta Test), cùng hoạt động Kiểm thử hồi quy (Regression Test).

Phương pháp nghiên cứu thực tế

  • Phương pháp thu thập dữ liệu:
    • Dữ liệu thứ cấp: Báo cáo kết quả hoạt động kinh doanh giai đoạn 2015–2017 của công ty; thống kê trang thiết bị, hạ tầng công nghệ thông tin; cơ cấu tổ chức và nhân sự nội bộ; các công trình nghiên cứu, sách chuyên khảo trong nước và quốc tế.
    • Dữ liệu sơ cấp: Phỏng vấn trực tiếp nhân viên kỹ thuật về công cụ lập trình/kiểm thử và phân loại lỗi phần mềm; quan sát thực tế môi trường làm việc và cơ sở hạ tầng; phát phiếu điều tra khảo sát nhân viên kỹ thuật (lập trình viên, kiểm thử viên, thực tập sinh) về trang thiết bị, hệ điều hành, an toàn bảo mật và nhu cầu chuẩn hóa kỹ thuật kiểm thử.
  • Phương pháp xử lý dữ liệu: Sử dụng phần mềm Microsoft Excel để nhập liệu, phân loại, thống kê mô tả và trực quan hóa dữ liệu qua các biểu đồ (biểu đồ cơ cấu lỗi, cơ cấu nhân sự, nguyên nhân chậm tiến độ, tỷ lệ nhu cầu đào tạo); kết hợp phương pháp phân tích - tổng hợp và so sánh - đối chiếu để đánh giá thực trạng.

Nội dung chính theo từng chương

Chương 1: Cơ sở lý luận của vấn đề nghiên cứu

Chương này tổng quan hóa toàn bộ hệ thống lý luận về kiểm thử phần mềm. Tác giả làm rõ mục tiêu trực tiếp của kiểm thử (phát hiện lỗi, tìm bug, đảm bảo đáp ứng yêu cầu người dùng) và mục tiêu gián tiếp (xây dựng tài liệu lưu trữ các lỗi thường gặp để phòng ngừa).

Quy trình kiểm thử được hệ thống hóa qua 4 giai đoạn chuẩn mực:

  1. Lập kế hoạch kiểm thử: Xác định giai đoạn, phương pháp, công cụ, nguồn lực, môi trường và mốc bàn giao.
  2. Chuẩn bị kiểm thử: Nghiên cứu tài liệu nghiệp vụ, xây dựng kịch bản kiểm thử (test scenario/test script), chuẩn bị dữ liệu kiểm thử (test data) và phê duyệt tài liệu.
  3. Thực thi kiểm thử: Thực hiện test theo kịch bản và tham gia quản lý lỗi (báo lỗi, xác nhận lỗi).
  4. Báo cáo và phân tích: Lập báo cáo kiểm thử, phân tích nguyên nhân và đề xuất biện pháp khắc phục.

Tác giả phân tích chi tiết ưu - nhược điểm của 3 chiến lược kiểm thử chính (hộp đen, hộp trắng, hộp xám) cùng các mức độ kiểm thử từ đơn vị, tích hợp, hệ thống đến chấp nhận. Đồng thời, chương 1 điểm luận các công trình nghiên cứu tiêu biểu:

  • Trong nước: Luận văn của Lê Văn Duy - Vũ Trọng Quý (2011, ĐH Bách Khoa Hà Nội), nghiên cứu công cụ SATAN của TS. Nguyễn Thanh Bình (2011, ĐH Đà Nẵng), giáo trình của Phạm Quang Hiển - Trần Tường Thụy (2013), khảo sát kiểm thử hộp đen của Trịnh Thị Vân Anh (2016).
  • Quốc tế: Các tài liệu của Boris Beizer (2003), ISTQB của Erik Van Veenendaal và cộng sự (2007), Abu Sayed Mahfuz (2016), Paul Felten (2017).
Kỹ thuật kiểm thử Khái niệm cốt lõi Ưu điểm chính Nhược điểm chính
Kiểm thử hộp đen Đánh giá phần mềm dựa trên đầu vào và đầu ra mà không can thiệp cấu trúc mã nguồn bên trong. Đánh giá khách quan; tester không cần biết sâu về code; nhìn nhận theo góc độ người dùng. Thăm dò mù; có thể phải viết nhiều testcase trùng lặp nếu không nắm rõ cấu trúc code.
Kiểm thử hộp trắng Khảo sát kiến trúc, luồng điều khiển, câu lệnh và rẽ nhánh bên trong mã nguồn. Kiểm tra chính xác cấu trúc logic lệnh, tối ưu hóa thuật toán và đường đi của mã nguồn. Đòi hỏi trình độ lập trình cao; tốn kém chi phí; một thay đổi nhỏ bên trong có thể làm hỏng cấu trúc.
Kiểm thử hộp xám Kết hợp giữa kiểm thử hộp đen và hộp trắng; kiểm tra đầu vào/ra kết hợp hiểu biết về cấu trúc dữ liệu. Tăng độ bao phủ kiểm thử, thiết kế kịch bản bám sát kiến trúc giải thuật mà vẫn giữ tính khách quan. Cần sự phối hợp chặt chẽ giữa đội ngũ phát triển và kiểm thử viên.

Chương 2: Tình hình thực tiễn hoạt động kiểm thử phần mềm tại Công ty TNHH Giải pháp phần mềm Gia Linh

Chương 2 trình bày bức tranh thực tế về năng lực kỹ thuật và quy trình kiểm thử tại doanh nghiệp:

  • Hạ tầng kỹ thuật: Công ty vận hành 1 máy chủ Windows tại phòng CNTT; các phòng ban trang bị từ 10–12 máy tính chạy hệ điều hành Windows 7/8/10; các thiết bị hỗ trợ gồm máy in, máy chiếu và điện thoại di động phục vụ test mobile. Hệ thống phần mềm sử dụng gồm Microsoft Office 2010, TeamViewer 12/13, Microsoft Outlook, NetBeans 8.2, React Native, Adobe CS6, Amazon EC2, KPIBSC, MISA, Firewall, BKAV Pro, AVG, Symantec.
  • Cơ cấu nhân sự bộ phận kỹ thuật: Tổng số nhân sự kỹ thuật gồm 31 người, trong đó có 19 lập trình viên, 7 kiểm thử viên (với 25% nhân sự kiêm nhiệm phân tích nghiệp vụ - BA), 3 nhân viên phân tích nghiệp vụ chuyên trách và 2 quản lý dự án (PM).

Tác giả phân tích bước chuyển đổi mô hình kiểm thử tại công ty qua hai giai đoạn:

Tiêu chí Giai đoạn trước năm 2016 Giai đoạn từ năm 2016 đến nay
Mô hình nhân sự Không có tester chuyên trách; lập trình viên tự kiểm thử và bàn giao. Thành lập đội ngũ kiểm thử độc lập (7 tester) và tiếp nhận thực tập sinh.
Phương pháp áp dụng Chủ yếu dùng kiểm thử hộp trắng trực tiếp trên code. Áp dụng kiểm thử thủ công (manual) dựa trên kinh nghiệm thực tế.
Cơ cấu lỗi phát hiện - Lỗi giao diện: 65%
- Lỗi chức năng: 25%
- Lỗi khác (khách hàng phản ánh): 10%
Giảm thiểu lỗi tồn đọng sang phía khách hàng; cải thiện chất lượng bàn giao.
Bất cập tồn tại Thiếu tính khách quan; áp lực thời gian khiến lập trình viên bỏ qua lỗi nhỏ; giao diện thiếu thân thiện. Chưa có quy trình và phương pháp kiểm thử chuẩn hóa; tài liệu hướng dẫn cho người mới còn thiếu.

Khảo sát của tác giả chỉ ra nguyên nhân làm chậm tiến độ dự án tại công ty gồm: khâu lập trình chiếm 43% (do kiêm nhiệm nhiều dự án, chậm sửa lỗi tồn đọng), khâu kiểm thử chiếm 37% (do phương pháp chưa bài bản, thời gian phát hiện và tái kiểm tra kéo dài), và các nguyên nhân khác chiếm 20% (yêu cầu từ khách hàng thay đổi). Kết quả khảo sát ý kiến 5/7 kiểm thử viên chính thức và 15/20 thực tập sinh cho thấy có 74,1% ý kiến khẳng định việc xây dựng hệ thống tài liệu và kỹ thuật kiểm thử chuẩn là rất cấp thiết (so với 25,9% đánh giá chưa cần thiết).

Chương 3: Định hướng phát triển và ứng dụng một số kỹ thuật kiểm thử phần mềm cho website http://hoctestertop.com/ của Công ty TNHH Giải pháp phần mềm Gia Linh

Chương này tập trung vào định hướng công nghệ kiểm thử tự động (giới thiệu các công cụ QuickTest Professional, LoadRunner, Apache JMeter, Selenium, QTP) và đi sâu vào triển khai thực nghiệm kiểm thử hộp đen cho website thương mại điện tử http://hoctestertop.com/ (GREEN CONSTRUCTION).

Hệ thống website bao gồm:

  • Front-end: Giao diện người dùng phục vụ tra cứu thông tin, tìm kiếm sản phẩm nội thất/máy văn phòng, đăng ký tài khoản và thực hiện mua sắm qua giỏ hàng.
  • Back-end: Phân hệ quản trị tại đường dẫn /admincp/ phục vụ quản lý thông tin sản phẩm, nội dung chi tiết, hình ảnh/video và chương trình khuyến mãi.

Dựa trên tài liệu đặc tả yêu cầu chức năng, tác giả tiến hành thiết kế và thực thi hai bộ kịch bản kiểm thử (testcase):

+-------------------------------------------------------------------------------+
|                       KỊCH BẢN KIỂM THỬ THỰC THI                                |
|                                                                               |
|  1. Chức năng Tìm kiếm (Front-end)                                            |
|     - Tổng số: 12 Testcase                                                    |
|     - Đạt (Pass): 12 (100%) | Không đạt (Fail): 0                             |
|     - Phạm vi: Bố cục, auto-suggestion, phím Enter, ký tự đặc biệt,           |
|                khoảng trắng đầu/cuối, không phân biệt hoa/thường, rỗng.       |
|                                                                               |
|  2. Chức năng Mua sắm - Giỏ hàng (Shopping Cart)                              |
|     - Tổng số: 38 Testcase                                                    |
|     - Đạt (Pass): 31 (81,58%) | Không đạt (Fail): 7 (18,42%)                  |
|     - Phạm vi: Hiệu ứng hover, popup Đặt mua, Mua nhanh, thay đổi số lượng,   |
|                giới hạn 100 sp/mặt hàng, giỏ hàng rỗng, xóa sản phẩm.         |
+-------------------------------------------------------------------------------+

Kết quả và đóng góp

Kết quả kiểm thử thực nghiệm

Quá trình áp dụng kỹ thuật phân vùng tương đương và phân tích giá trị biên vào kiểm thử hộp đen trên website http://hoctestertop.com/ đã đem lại các số liệu cụ thể:

Chức năng kiểm thử Tổng số testcase Số testcase Đạt (Pass) Số testcase Không đạt (Fail) Tỷ lệ Pass Tỷ lệ Fail
Tìm kiếm 12 12 0 100% 0%
Mua sắm (Shopping Cart) 38 31 7 81,58% 18,42%
Tổng cộng 50 43 7 86,00% 14,00%

Chi tiết 7 trường hợp kiểm thử không đạt (Fail) tại chức năng Mua sắm được phát hiện và bàn giao cho bộ phận lập trình gồm:

  1. Testcase ID 5 (Đặt mua): Nhập số lượng là ký tự đặc biệt (@!#$%^&&*(){}[]?<>), hệ thống không hiển thị thông báo lỗi "Số lượng phải nhập bằng số" và không viền đỏ (highlight) ô nhập liệu.
  2. Testcase ID 6 (Đặt mua): Để trống trường số lượng khi nhấn Cập nhật, hệ thống không tự động đưa về giá trị mặc định là 1 hoặc không hiển thị cảnh báo bắt buộc nhập.
  3. Testcase ID 9 (Đặt mua): Nhập số lượng vượt giới hạn cho phép (101 sản phẩm, biên trên là 100), hệ thống không chặn và không hiển thị cảnh báo "Chỉ cho phép mua 100 sản phẩm/1 mặt hàng".
  4. Testcase ID 11 (Đặt mua): Chức năng hủy trên popup đặt mua không tự động đóng popup khi người dùng xóa đến sản phẩm cuối cùng trong danh sách.
  5. Testcase ID 19 (Mua nhanh): Nhập số lượng 101 sản phẩm ở màn hình Mua nhanh, hệ thống không highlight ô nhập và không hiển thị thông báo giới hạn 100 sản phẩm.
  6. Testcase ID 22 (Shopping Cart): Khi giỏ hàng chưa có sản phẩm, người dùng nhấp vào biểu tượng shopping cart, hệ thống chưa điều hướng và hiển thị đúng thông báo "Chưa có Sản phẩm nào trong Giỏ hàng".
  7. Testcase ID 38 (Mua hàng): Thao tác đặt mua trực tiếp với số lượng 101 sản phẩm không bị chặn lại ở bước kiểm tra hợp lệ.

Giải pháp và kiến nghị đề xuất cho doanh nghiệp

  • Về hạ tầng và công cụ: Nâng cấp hệ thống phần cứng, bổ sung thêm các dòng điện thoại thông minh (smartphone) để phục vụ kiểm thử giao diện đáp ứng (responsive) trên môi trường di động; định hướng nghiên cứu và đưa các công cụ kiểm thử tự động (Selenium, QTP, LoadRunner, JMeter) vào quy trình kiểm thử hồi quy và kiểm thử hiệu năng.
  • Về đào tạo và tổ chức nhân sự: Chuẩn hóa tài liệu đào tạo kịch bản kiểm thử nhằm rút ngắn thời gian tiếp cận dự án cho các thực tập sinh và nhân viên mới; duy trì và hoàn thiện sự phối hợp chặt chẽ giữa các vai trò Quản lý dự án, Phân tích nghiệp vụ, Lập trình viên và Kiểm thử viên để tránh tình trạng chậm tiến độ sửa lỗi.
  • Đóng góp của khóa luận: Khóa luận đã chuyển hóa các cơ sở lý luận kiểm thử mang tính học thuật thành một bộ tài liệu kịch bản kiểm thử chi tiết, có thể áp dụng trực tiếp làm mẫu chuẩn (template) cho hoạt động kiểm thử các dự án website thương mại điện tử tại Công ty TNHH Giải pháp phần mềm Gia Linh.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Phạm vi kiểm thử thực nghiệm mới chỉ tập trung vào phương pháp kiểm thử thủ công (manual testing) theo kỹ thuật hộp đen, chưa áp dụng kiểm thử tự động (automation testing).
  • Dữ liệu thực nghiệm mới giới hạn ở hai chức năng trọng điểm thuộc phân hệ Front-end (Tìm kiếm và Mua sắm/Giỏ hàng), chưa bao phủ toàn bộ các chức năng khác của Front-end (Đăng ký, Đăng nhập, Thanh toán) cũng như toàn bộ phân hệ quản trị Back-end.
  • Chưa thực hiện các bài kiểm thử phi chức năng như kiểm thử tải, kiểm thử hiệu năng chịu tải đồng thời hoặc kiểm thử an toàn bảo mật.

Hướng nghiên cứu tiếp theo

  • Mở rộng thiết kế testcase toàn diện cho các phân hệ còn lại của website http://hoctestertop.com/, đặc biệt là các tab quản trị sản phẩm và khuyến mãi ở Back-end.
  • Nghiên cứu ứng dụng công cụ kiểm thử tự động mã nguồn mở Selenium để tự động hóa kịch bản kiểm thử hồi quy cho các chức năng web.
  • Sử dụng Apache JMeter để mô phỏng tải người dùng truy cập đồng thời, đo lường khả năng chịu tải của máy chủ web server Amazon EC2 của doanh nghiệp.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo thiết thực dành cho sinh viên thuộc các chuyên ngành Hệ thống thông tin kinh tế, Công nghệ thông tin, Công nghệ phần mềm và Thương mại điện tử:

  • Đối với sinh viên và thực tập sinh kiểm thử: Cung cấp tài liệu mẫu về cấu trúc một bộ testcase chuẩn cho chức năng web thương mại điện tử (bao gồm ID, mục đích, các bước thực hiện, kết quả mong muốn, kết quả thực tế, trạng thái Pass/Fail), áp dụng rõ ràng các kỹ thuật phân tích giá trị biên và phân vùng tương đương.
  • Đối với các doanh nghiệp phần mềm vừa và nhỏ: Cung cấp bức tranh thực tế về sự chuyển dịch từ mô hình "lập trình viên tự test" sang mô hình "đội ngũ kiểm thử độc lập", cùng những đánh giá định lượng về nguyên nhân trễ tiến độ dự án do thiếu quy trình kiểm thử chuẩn mực.

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

1. Website được tác giả lựa chọn để thực nghiệm kiểm thử là website nào và thuộc lĩnh vực gì?

Website thực nghiệm là http://hoctestertop.com/ (tên thương mại: GREEN CONSTRUCTION), là một website thương mại điện tử do Công ty TNHH Giải pháp phần mềm Gia Linh thiết kế, chuyên kinh doanh máy văn phòng, đồ dùng văn phòng, nội thất văn phòng và linh kiện máy tính.

2. Phòng kỹ thuật của Công ty TNHH Giải pháp phần mềm Gia Linh có cơ cấu nhân sự như thế nào theo khảo sát?

Tính đến thời điểm khảo sát, phòng kỹ thuật có tổng cộng 31 nhân sự, bao gồm: 19 lập trình viên, 7 kiểm thử viên (trong đó có 25% nhân sự kiêm nhiệm công việc phân tích nghiệp vụ), 3 nhân viên phân tích nghiệp vụ (BA) chuyên trách và 2 quản lý dự án (PM).

3. Tỷ lệ các loại lỗi phần mềm tại công ty trong giai đoạn trước năm 2016 được thống kê ra sao?

Trước năm 2016, khi công ty chưa có đội kiểm thử độc lập, tỷ lệ lỗi phần mềm được thống kê gồm: lỗi giao diện chiếm 65%, lỗi chức năng chiếm 25% (đều do sai sót từ phía lập trình), và 10% là các lỗi/phản hồi khác từ phía khách hàng do chưa hiểu rõ cách vận hành hệ thống.

4. Kết quả thực thi các testcase trên chức năng Tìm kiếm và Mua sắm đạt tỷ lệ Pass/Fail như thế nào?

  • Chức năng Tìm kiếm: Thực thi 12 testcase, đạt 12 Pass (100%), không có testcase Fail.
  • Chức năng Mua sắm (Shopping Cart): Thực thi 38 testcase, đạt 31 Pass (81,58%) và 7 Fail (18,42%).

5. Những lỗi sai chính (Fail) được phát hiện tại chức năng Mua sắm là gì?

Các lỗi chính gồm: không kiểm tra và cảnh báo khi nhập ký tự đặc biệt hoặc để trống ô số lượng; không chặn giới hạn khi người dùng mua vượt quá 100 sản phẩm/mặt hàng (nhập 101 sản phẩm vẫn xử lý); không tự động đóng popup khi xóa hết sản phẩm đặt mua; và chưa xử lý hiển thị đúng thông báo khi truy cập giỏ hàng rỗng.


Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Thị Thư đã hệ thống hóa đầy đủ các lý thuyết nền tảng, nguyên tắc và kỹ thuật cốt lõi trong kiểm thử phần mềm. Dựa trên phân tích thực trạng tổ chức kiểm thử tại Công ty TNHH Giải pháp phần mềm Gia Linh giai đoạn 2015–2017, tác giả đã chỉ ra tính cấp thiết của việc chuẩn hóa quy trình kiểm thử nhằm giảm thiểu lỗi và tối ưu tiến độ dự án. Thông qua việc thiết kế 50 trường hợp kiểm thử hộp đen cho website http://hoctestertop.com/, đề tài đã phát hiện chính xác 7 lỗi chức năng trong luồng mua sắm, chứng minh hiệu quả ứng dụng thực tiễn của các phương pháp kiểm thử trong việc nâng cao chất lượng sản phẩm phần mềm.