11/08/2018, 23:49

KIỂM THỬ THỦ CÔNG (Manual Testing) VÀ KIỂM THỬ TỰ ĐỘNG (Automated Testing)

1. Khái niệm Kiểm thử thủ công: là tester làm mọi công việc hoàn toàn bằng tay, từ viết test case đến thực hiện test, mọi thao tác như nhập điều kiện đầu vào, thực hiện một số sự kiện khác như click nút và quan sát kết quả thực tế, sau đó so sánh kết quả thực tế với kết quả mong muốn trong ...

1. Khái niệm

  • Kiểm thử thủ công: là tester làm mọi công việc hoàn toàn bằng tay, từ viết test case đến thực hiện test, mọi thao tác như nhập điều kiện đầu vào, thực hiện một số sự kiện khác như click nút và quan sát kết quả thực tế, sau đó so sánh kết quả thực tế với kết quả mong muốn trong test case, điền kết quả test. Hiện nay, phần lớn các tổ chức, các công ty phần mềm, hoặc các nhóm làm phần mềm đều thực hiện kiểm thử thủ công là chủ yếu.

manual-testing.jpg

  • Kiểm thử tự động: Kiểm thử phần mềm tự động là thực hiện kiểm thử phần mềm bằng một chương trình đặc biệt với rất ít hoặc không có sự tương tác của con người, giúp cho người thực hiện việc kiểm thử phần mềm (tester) không phải lặp đi lặp lại các bước nhàm chán. Công cụ kiểm thử tự động có thể lấy dữ liệu từ file bên ngoài (excel, csv…) nhập vào ứng dụng, so sánh kết quả mong đợi (từ file excel, csv…) với kết quả thực tế và xuất ra báo cáo kết quả kiểm thử.

automated_testing.jpg

2. Điểm mạnh và điểm yếu của 2 loại kiểm thử

Kiểm thử Điểm mạnh Điểm yếu
Thủ công - Cho phép tester thực hiện việc kiểm thử khám phá
- Thích hợp kiểm tra sản phẩm lần đầu tiên
- Thích hợp kiểm thử trong trường hợp các test case chỉ phải thực hiện một số ít lần
- Giảm được chi phí ngắn hạn
- Tốn thời gian. Đối với mỗi lần release, người kiểm thử vẫn phải thực hiện lại một tập hợp các test case đã chạy dẫn đến sự mệt mỏi và lãng phí effort
Tự động - Thích hợp với trường hợp phải test nhiều lần cho một case, có tính ổng định và tin cậy cao hơn so với kiểm thử thủ công
- Có thể thực hiện các thao tác lặp đi lặp lại (nhập dữ liệu, click, check kết quả...) giúp tester không phải làm những việc gây nhàm chán và dễ nhầm lẫn như vậy
- Giảm chi phí đầu tư dài hạn
- Tốn kém hơn kiểm thử tự động, chi phí đầu tư ban đầu lớn
- Kiểm thử thủ công là không thể thay thế vì người ta không thể tự động hóa mọi thứ

3. Lựa chọn loại hình kiểm thử nào?

Khi phát triển phần mềm, việc thực hiện kiểm thử là bắt buộc, cho dù người thực hiện kiểm thử có thể là developer, hoặc là tester. Vì thế, có kiến thức về kiểm thử, lựa chọn loại hình kiểm thử phù hợp với sản phẩm là điều cần thiết cho bất cứ người nào tham gia vào quá trình làm sản phẩm. Mỗi loại hình kiểm thử đều có điểm mạnh và điểm yếu riêng, vậy nên lựa chọn loại hình kiểm thử nào, trong hoàn cảnh nào? Hiện tại hầu như tất cả các tổ chức, công ty phát triển phần mềm đều lựa chọn kiểm thử thủ công cho mọi sản phẩm. Tuy nhiên các công cụ kiểm thử tự động cũng có những điểm mạnh nhất định mà kiểm thử thủ công không có, nên cần xem xét hoàn cảnh để có thể áp dụng kiểm thử tự động cho quá trình kiểm thử phần mềm. Ví dụ, việc sử dụng công cụ kiểm thử tự động có thể áp dụng:

  • Khi phải thực thi một số lượng test case quá lớn trong một thời gian ngắn
  • Khi số lượng đầu vào cho một test case quá nhiều
  • Khi muốn thực thi performance test hoặc load test, kiểm thử tự động gần như là lựa chọn duy nhất

Ngoài ra, tùy trường hợp cụ thế khác, tùy vào nội dung dự án, kiến thức cũng như kỹ năng của người thực hiện kiểm thử mà áp dụng loại hình kiểm thử cho phù hợp. Nếu có thể áp dụng công cụ kiểm thử tự động thì nên áp dụng.Tuy nhiên theo ý của người viết thì kiểm thử thủ công vẫn là phương pháp kiểm thử không thể thay thế. Cho dù có áp dụng kiểm thử tự động vào giai đoạn nào của dự án thì vẫn cần có người thực hiện kiểm thử thủ công nhằm đảm bảo giảm tối đa những lỗi không thể lường trước trong bất kỳ kịch bản nào.

0