Một ít lý thuyết giới thiệu về Test Automation

Bài viết chia sẻ tóm tắt ngắn gọn lý thuyết về Test Automation (kiểm thử tự động) trong kiểm thử phần mềm, được tham khảo từ tài liệu Advanced Level Syllabus – Test Automation Engineer.

Bạn đọc thoải mái trao đổi và để lại bình luận phía dưới bài viết nhé!

✔ Trong kiểm thử phần mềm thì kiểm thử tự động là việc thực hiện một hoặc các hoạt động sau:

– Sử dụng công cụ phần mềm để điều khiển và thiết lập các tiền điều kiện cho kiểm thử.

– Thực thi các bài kiểm thử.

– So sánh đầu ra thực tế và đầu ra dự kiến/mong muốn.

✅ Mục đích:

– Tăng cường hiệu quả kiểm thử

– Bao phủ rộng các chức năng

– Giảm tổng chi phí dành cho kiểm thử

– Thực hiện các bài kiểm thử mà kiểm thử thủ công không thể thực hiện được

– Giảm thời gian của giai đoạn thực thi kiểm thử

– Tăng tần suất kiểm thử, giảm thời gian yêu cầu cho mỗi vòng kiểm thử.

✅ Ưu điểm:

– Thực hiện được nhiều hơn các bài kiểm thử cho mỗi bản build

– Khả năng tạo ra các bài test không thể thực hiện thủ công (VD: real-time, remote, parallel tests…)

– Các bài kiểm thử có thể phức tạp hơn

– Chạy test nhanh hơn

– Giảm thiểu các lỗi gây ra bởi con người khi thực thi test

– Tăng hiệu suất và hiệu quả sử dụng nguồn lực kiểm thử

– Cung cấp các phản hồi một cách nhanh chóng về chất lượng của phần mềm

– Cải thiện độ tin cậy của hệ thống

– Cải thiện tính nhất quán của các bài test.

✅ Nhược điểm:

– Phát sinh thêm các chi phí

– Đầu tư ban đầu để thiết lập giải pháp kiểm thử tự động

– Yêu cầu thêm các công nghệ khác

– Team yêu cầu cần có các kỹ năng lập trình và kiểm thử tự động

– Yêu cầu về việc bảo trì các giải pháp kiểm thử tự động đang sử dụng

– Có thể gây xao nhãng việc tập trung và các mục tiêu kiểm thử như quá tập trung vào việc tự động hóa các test case trong khi thực thi test

– Việc kiểm thử có thể trở nên phức tạp

– Có thể xuất hiện các lỗi gây ra bởi Automation.

✅ Hạn chế:

– Không thể thực hiện tự động hóa toàn bộ các trường hợp kiểm thử

– Không thể thay thế cho exploratory testing

– Automation chỉ có thể kiểm tra các kết quả thực tế được xác minh bởi một automatated test oracle (về test oracle: https://glossary.istqb.org/en_US/term/test-oracle-4-2)

– Automation chỉ có thể kiểm tra các kết quả mà máy có thể hiểu được

Bình luận về bài viết này