Kiểm thử phần mềm là chạy phần mềm trong điều kiện có kiểm soát để tìm lỗi trước khi người dùng gặp. Ở ALODEV, kiểm thử nằm trong mọi dự án: môi trường thử tách khỏi dữ liệu thật, bộ kiểm tự động có mẫu đối chứng, chốt chặn trước khi mã được ghép, và bản mới được kiểm trên một cổng riêng trước khi thay bản đang chạy.
Tóm tắt
Môi trường
Thử tách riêng, dữ liệu mẫu
Tự động
Đơn vị, API, phân quyền, giao diện
Máy đo
Có đối chứng dương
Chốt chặn
Hook trước commit trong kho mã
Phát hành
Kiểm ở cổng riêng rồi mới đổi
Sau bàn giao
Bảo hành trọn đời
Các cấp kiểm thử
Cấp
Kiểm gì
Ai làm
Khi nào
Kiểm thử đơn vị
Một hàm, một quy tắc tính (lương, thuế, giá)
Kỹ sư viết mã
Mỗi lần sửa, chạy tự động
Kiểm thử tích hợp
API, cơ sở dữ liệu, phân quyền, kết nối bên ngoài
Kỹ sư viết mã
Trước khi ghép vào nhánh chung
Kiểm thử hệ thống
Toàn bộ luồng nghiệp vụ trên môi trường thử, nhiều cỡ màn hình
Người không viết phần đó
Cuối mỗi đợt 2 tuần
Kiểm thử nghiệm thu
Hệ thống chạy trên dữ liệu thật đúng yêu cầu đã ký
Doanh nghiệp, ALODEV hỗ trợ
Cuối mỗi chặng
Kiểm thử hồi quy
Tính năng cũ không hỏng khi thêm tính năng mới
Tự động
Mỗi bản phát hành
Lỗi càng phát hiện muộn càng đắt: một quy tắc tính lương sai bị bắt ở kiểm thử đơn vị chỉ tốn vài phút sửa, nhưng lọt tới bảng lương thật thì phải tính lại, giải thích với nhân viên và sửa dữ liệu đã lưu. Vì vậy phần lớn công sức kiểm thử đặt ở hai cấp đầu, chạy tự động mỗi lần sửa mã, còn hai cấp sau tập trung vào câu hỏi mà máy không trả lời được: phần mềm có đúng cách doanh nghiệp làm việc không.
Ngoài kiểm chức năng, mỗi dự án còn kiểm theo loại: hiệu năng (trang tải bao lâu, bao nhiêu người dùng đồng thời), bảo mật (theo danh sách kiểm), giao diện trên nhiều cỡ màn hình, và hồi quy để tính năng cũ không hỏng khi thêm tính năng mới.
Cách ALODEV kiểm
Môi trường thử tách riêng
Cơ sở dữ liệu thử riêng, dữ liệu mẫu giả. Bản đang chạy chỉ được đọc khi điều tra lỗi.
Kiểm thử tự động
Quy tắc tính toán, API và phân quyền có bài kiểm chạy lại sau mỗi thay đổi.
Đối chứng dương
Máy đo tự gieo mẫu lỗi và phải bắt được, trước khi được phép báo sạch.
Đo hành vi thật
Bấm, cuộn, gọi đúng địa chỉ; không suy từ cấu hình hay trạng thái tiến trình.
Chốt chặn trước commit
Hook nằm trong kho mã chặn lỗi đã biết trước khi mã được ghi vào lịch sử.
Kiểm giao diện toàn trang
Mọi trang trong sơ đồ site đo ở màn điện thoại và màn lớn.
Phát hành có đường lùi
Dựng và kiểm ở cổng riêng rồi mới đổi; lùi về bản trước bằng một lệnh.
Danh sách kiểm bảo mật
SQL injection, XSS, CSRF, khoá bí mật, HTTPS, giới hạn truy cập, nhật ký thao tác.
Những cách dưới đây là cách ALODEV đang kiểm chính hệ thống quản trị nội bộ và website này hằng ngày, và cũng là cách áp dụng cho dự án của khách.
Môi trường thử tách riêng, bản đang chạy chỉ đọc
Mỗi hệ thống có hai bản: bản đang chạy phục vụ người dùng thật, và bản thử với cơ sở dữ liệu riêng chứa dữ liệu mẫu giả. Mọi thử nghiệm có ghi dữ liệu làm trên bản thử. Trên bản đang chạy, kỹ sư chỉ được đọc khi điều tra lỗi; mọi việc động tới dữ liệu thật phải hỏi chủ hệ thống trước. Doanh nghiệp xem bản chạy thử cuối mỗi đợt trên chính môi trường này, nên không bao giờ phải thử trên dữ liệu thật của mình.
Kiểm thử tự động cho quy tắc tính và phân quyền
Phần dễ sai nhất trong phần mềm doanh nghiệp là quy tắc tính: lương, bảo hiểm, thuế, hoa hồng, giá theo đại lý. Mỗi quy tắc có bộ ca kiểm với đáp án tính tay, gồm cả các trường hợp biên như trần đóng bảo hiểm, ngày lễ liền cuối tuần, tháng nhuận. Các công cụ tính lương, bảo hiểm, thuế trên trang Tham số luật của ALODEV chạy trên cùng lõi tính có bộ ca kiểm này.
Phân quyền được kiểm bằng cách thử gọi từng đường API bằng tài khoản không có quyền và đòi bị từ chối. Mỗi đường API mở công khai (không cần đăng nhập) phải được khai báo trong một bài kiểm riêng; thêm đường công khai mà quên khai báo thì bộ kiểm báo đỏ. Nhờ vậy không đường nào vô tình bị mở ra ngoài.
Đối chứng dương: máy đo phải bắt được lỗi cố ý
Máy đo nói "0 lỗi" có hai nghĩa: không có lỗi, hoặc máy đo không nhìn thấy gì. Hai trường hợp in ra cùng một dòng. Vì vậy mỗi máy đo ALODEV tự viết đều có chế độ đối chứng: tự gieo các mẫu hỏng biết trước vào đúng chỗ nó đo, đòi bắt được từng mẫu, rồi gỡ ra và đòi im lại. Chưa qua đối chứng thì không báo cáo con số nào. Ảnh dưới là đầu ra thật của máy kiểm dữ liệu cấu trúc website: 15 mẫu, gồm cả mẫu đúng phải được cho qua.
Máy kiểm dữ liệu cấu trúc của website ALODEV chạy chế độ đối chứng: 15/15 mẫu đúng kỳ vọng. Đầu ra thật, chạy ngày 26/09/2026.
Đo hành vi thật, không suy từ trạng thái
Cấu hình đúng không có nghĩa là chạy đúng. Một thanh mục lục khai báo dính trên đầu trang vẫn có thể trôi mất khi cuộn; một tiến trình báo đang chạy vẫn có thể trả trang lỗi. Nên phép kiểm luôn làm đúng việc người dùng làm: cuộn xuống giữa bài rồi đo vị trí, bấm nút rồi xem kết quả, gọi đúng địa chỉ công khai rồi đọc mã trả về. Và một kết quả rỗng được coi là dấu hiệu máy đo hỏng trước, không phải bằng chứng là không có lỗi.
Chốt chặn trước commit
Hook kiểm trước commit nằm trong chính kho mã, nên chạy với mọi người và mọi máy ghi mã vào kho, không phụ thuộc cấu hình riêng của ai. Hook chặn những lỗi đã biết có thể phát hiện máy móc, và chặn việc hai người cùng sửa một tệp: ai đang sửa tệp nào thì ghi tên vào sổ, người khác commit tệp đó sẽ bị chặn, bản giữ tự hết hạn để không ai bị khoá mãi. Khi chính hook gặp lỗi, nó cho qua kèm cảnh báo thay vì chặn nhầm cả nhóm.
Kiểm giao diện toàn trang, hai cỡ màn hình
Trước mỗi lần phát hành website, máy kiểm mở lần lượt mọi trang trong sơ đồ site ở màn điện thoại 390 điểm ảnh và màn lớn 2560 điểm ảnh, đếm: trang bị tràn ngang, ảnh hỏng, số thẻ tiêu đề chính, lỗi JavaScript và liên kết nội bộ trả 404. Màn hình quản trị được hỏi thêm sáu câu:
Sáu câu hỏi cho mỗi màn hình
Câu hỏi
Kiểm gì
Rỗng
Màn hình khi chưa có dữ liệu có nói rõ là chưa có, hay trông như bị hỏng?
Dài
Tên dài, số tiền lớn, danh sách hàng trăm dòng có làm vỡ bố cục không?
Trùng
Cùng một thông tin có hiện hai lần, hai chỗ nói khác nhau không?
Chữ
Chữ có đủ lớn trên điện thoại, đủ tương phản trên nền tối không?
Bấm
Mọi nút có làm đúng việc nó ghi, và có phản hồi khi đang xử lý không?
Sự thật
Con số trên màn có khớp với dữ liệu trong cơ sở dữ liệu không?
Phát hành có đường lùi
Bản mới không thay thẳng bản đang chạy. Nó được dựng ở một cổng riêng, kiểm các đường chính trả về đúng và tài nguyên tĩnh tải đủ, rồi mới đổi sang phục vụ người dùng. Bản trước được giữ lại, lùi về chỉ cần một lệnh. Sau khi đổi, phép kiểm chạy lại qua đúng địa chỉ công khai và so bản mạng phân phối nội dung với bản gốc, vì trang lưu đệm cũ có thể trỏ tới tệp đã bị xoá.
Công cụ Web Vitals Live của ALODEV, miễn phí. Ảnh chụp alodev.vn ngày 26/09/2026.
Doanh nghiệp nhận được
Danh sách lỗi dùng chung, ghi rõ cách tái hiện và trạng thái sửa
Bản chạy thử cuối mỗi đợt 2 tuần trên môi trường thử riêng
Bộ kiểm thử tự động nằm trong kho mã, bàn giao cùng mã nguồn
Kết quả rà theo danh sách kiểm bảo mật
Chỉ số tốc độ trang (PageSpeed, Core Web Vitals) với dự án web
Biên bản nghiệm thu sau khi chạy trên dữ liệu thật
Kiểm thử hệ thống có sẵn
Doanh nghiệp đang dùng một hệ thống do đơn vị khác làm và muốn biết nó có an toàn, có tiếp quản được không, có thể thuê ALODEV rà soát mã nguồn và kiểm thử. Các bước:
Ký NDA, doanh nghiệp cấp quyền đọc kho mã và một môi trường thử (không dùng bản đang chạy).
Dựng lại hệ thống từ mã nguồn theo tài liệu hiện có. Dựng không được là phát hiện đầu tiên và quan trọng nhất.
Rà theo danh sách kiểm bảo mật, phân quyền, sao lưu và khôi phục, phụ thuộc thư viện hết hạn hỗ trợ.
Kiểm thử các luồng nghiệp vụ chính và đo tốc độ.
Báo cáo danh sách lỗi và rủi ro xếp theo mức nghiêm trọng, kèm đề xuất phần nào sửa trước.
Sau rà soát, doanh nghiệp có thể tự sửa, giao lại cho đơn vị cũ, hoặc giao ALODEV sửa theo một dự án trọn gói có phạm vi lấy từ chính danh sách rà soát.
Là chạy phần mềm trong điều kiện có kiểm soát để tìm chỗ sai trước khi người dùng gặp: tính sai, hiển thị sai, chậm, lộ dữ liệu. Kiểm thử gồm nhiều cấp, từ một hàm tính toán tới cả luồng nghiệp vụ trên dữ liệu thật.
Kiểm thử có tính phí riêng không?
Trong dự án ALODEV làm, kiểm thử nằm trong phạm vi dự án, không tách thành khoản riêng. Rà soát và kiểm thử hệ thống do đơn vị khác làm là dịch vụ riêng, báo giá sau khi xem mã nguồn.
Đối chứng dương trong kiểm thử là gì?
Là cho máy đo chạy trên một mẫu biết chắc là lỗi và đòi nó phải bắt được. Máy đo không bắt được mẫu lỗi thì kết quả sạch của nó không có giá trị. ALODEV dùng cách này cho mọi máy đo tự viết.
Kiểm thử tự động có thay được người kiểm không?
Không hoàn toàn. Máy kiểm tốt những gì lặp lại và đo được: quy tắc tính, phân quyền, tràn bố cục, liên kết hỏng. Người kiểm vẫn cần cho câu hỏi nghiệp vụ, ví dụ màn hình này có đúng cách kế toán đang làm không.
Doanh nghiệp tham gia kiểm thử thế nào?
Doanh nghiệp xem bản chạy thử cuối mỗi đợt, ghi lỗi vào danh sách dùng chung và nghiệm thu cuối mỗi chặng trên dữ liệu thật. Người dùng trực tiếp nên tham gia buổi nghiệm thu vì họ biết các trường hợp ngoại lệ.
Có kiểm thử xâm nhập không?
Mỗi dự án được rà theo danh sách kiểm bảo mật. Với dự án y tế, tài chính, doanh nghiệp có thể thuê thêm một đơn vị kiểm thử xâm nhập độc lập; ALODEV phối hợp cung cấp môi trường và sửa lỗi họ tìm ra.
Nhận kiểm thử hệ thống do đơn vị khác làm không?
Có, dưới dạng rà soát mã nguồn và kiểm thử. Kết quả là danh sách lỗi và rủi ro xếp theo mức nghiêm trọng, cùng đề xuất phần nào nên sửa trước.
Lỗi lọt ra sau khi bàn giao thì sao?
Lỗi phát sinh từ mã ALODEV bàn giao thuộc bảo hành trọn đời. Sự cố nghiêm trọng như hệ thống dừng hoặc mất dữ liệu được phản hồi dưới 1 giờ, kể cả ngoài giờ hành chính.