Automation Test: Process, Planning & Tools
Mỗi nhóm phát triển phần mềm đều có qúa trình kiểm tra các sản phẩm của mình trước khi deliver. Để đảm bảo có thể cover và gỉai quyết những lỗi chức năng tiềm ẩn hay lỗi phát sinh trước khi sản phẩm được release. Tuy nhiên, thậm chí với các quy trình kiểm tra thủ công tốt nhất, đôi khi những lỗi ...
Mỗi nhóm phát triển phần mềm đều có qúa trình kiểm tra các sản phẩm của mình trước khi deliver. Để đảm bảo có thể cover và gỉai quyết những lỗi chức năng tiềm ẩn hay lỗi phát sinh trước khi sản phẩm được release. Tuy nhiên, thậm chí với các quy trình kiểm tra thủ công tốt nhất, đôi khi những lỗi này có thể xuất hiện trở lại. Do đó, phần mềm kiểm thử tự động là cách tốt nhất để tăng tính hiệu quả và độ bao phủ của kiểm thử phần mềm.
Kiểm thử tự động là gì?
Khác với Manual software testing - kiểm thử thủ công (bằng tay) là việc những tester - người ngồi trước máy tính(web) hay sử dụng thiết bị di động(ứng dụng trên mobile), là người trực tiếp thao tác với các chức năng của hệ thống phần mềm thông qua một danh sách những testcase - hay còn gọi là checklists, bằng những thao tác thủ công bằng tay thông qua các màn hình chức năng của hệ thống, theo dõi và so sánh với những expect và ghi lại những quan sát của họ.
Automation test
means using an automation tool to execute your test case suite.
và có thể nhập dữ liệu thử nghiệm vào Hệ thống thử nghiệm, so sánh các kết quả mong đợi và thực tế và tạo ra các báo cáo kiểm tra chi tiết. Tức là, Một tool kiểm thử tự động có thể phát lại các hành động được ghi lại trước và được xác định trước, so sánh các kết quả với hành vi dự kiến và báo cáo sự thành công hay thất bại của các kiểm tra thủ công này cho một kỹ sư kiểm tra. Khi các kiểm thử tự động được tạo ra, chúng có thể dễ dàng lặp lại và chúng có thể được mở rộng để thực hiện các tác vụ không thể thực hiện được bằng thử nghiệm thủ công. Do đó, các nhà quản lý hiểu biết đã nhận thấy rằng kiểm thử phần mềm tự động là một thành phần thiết yếu của các dự án phát triển thành công.
Tại sao nên dùng Automation Testing?
- Tiết kiệm thời gian và tiền bạc trong khi kiểm tra thủ công tất cả các dòng công việc, tất cả các lĩnh vực, tất cả các kịch bản mất rất nhiều thời gian và chi phí tiêu thụ.
- Tự động hóa không cần can thiệp của con người nên có thể chạy tự động kiểm tra không giám sát (qua đêm).
- Tăng tốc độ thực hiện kiểm thử và cải thiện độ chính xác.
- Tăng đáng kể phạm vi test.
- Kiểm thử thủ công có thể trở nên nhàm chán và do đó dễ bị lỗi.
- Cải thiện tinh thần, quan hệ giữa QA và Dev.
Which Test Cases to Automate?
Các trường hợp nên dùng kiểm thử tự động:
- High ricks - Các trường hợp kiểm thử quan trọng của doanh nghiệp.
- Các trường hợp kiểm thử được thực hiện lặp đi lặp lại.
- Kiểm thử khó thực hiện bởi kiểm thử bằng tay.
- Những testcase kiểm thử mất nhiều thời gian.
Các trường hợp không thích hợp để kiểm thử tự động:
- Kiểm thử các trường hợp được thiết kế mới và không thực hiện bằng tay ít nhất một lần.
- Các trường hợp kiểm thử mà các yêu cầu đang thay đổi thường xuyên.
- Các trường hợp kiểm tra được thực hiện trên cơ sở ad-hoc(mạng tùy biến không dây).
Tiến trình thực hiện Automated Testing
1. Chọn tool test:
Chọn automation tool dựa trên các quy tắc sau đây:
- Nếu tool test không phải miễn phí thì công ty đã có giấy phép cho tool đó chưa
- Có thể tìm các tool open source nhưng cần lựa chọn
- Các thành viên trong nhóm biết về tool này hoặc đã dùng chưa, nếu không thì có cần đưa thêm người mới vào team không hay cần training cho người cũ
2. Xác định phạm vi autmation:
Phạm vi tự automation là khu vực của application under test sẽ được tự động hóa. Có thể xác định phạm vi của kiểm thử tự động dự trên những yếu tố sau:
- Tính năng quan trọng đối với nghiệp vụ.
- Scenarios có lượng dữ liệu lớn.
- Các chức năng chung giữa các ứng dụng.
- Tính khả thi về mặt kỹ thuật.
- Mức độ tái sử dụng các business component.
- Sự phức tạp của các trường hợp thử nghiệm
- Khả năng sử dụng các trường hợp kiểm thử giống nhau để kiểm thử trình duyệt chéo.
3. Planning, Design and Development:
Trong giai đoạn này, bạn tạo chiến lược & kế hoạch tự kiểm thử tự động, trong đó bao gồm những công việc chi tiết như sau:
- Tool kiểm thử tự động đã chọn.
- Thiết kế framework và các tính năng của nó.
- In-Scope and Out-of-scope items of automation.
- Tự động chuẩn bị lớp thử nghiệm.
- Lập lịch trình, plan và thời gian của scripting và thực hiện.
- Các tài liệu kiểm thử tự động.
4. Test Execution:
-
Các script tự động được thực hiện trong giai đoạn này. Các kịch bản cần dữ liệu kiểm thử đầu vào trước khi có thiết lập để chạy. Sau khi thực hiện họ cung cấp báo cáo kiểm tra chi tiết.
-
Được thực hiện bằng cách sử dụng công cụ kiểm thử tự động hoặc thông qua công cụ Quản lý kiểm thử - đều được gọi là công cụ tự động.
5. Maintaince:
Khi các chức năng mới được thêm vào System Under Test với các chu kỳ liên tiếp, Scripts tự động cần phải được bổ sung, xem xét và duy trì cho mỗi chu kỳ phát hành. Bảo trì là cần thiết để nâng cao hiệu quả của Scripts tự động
Framework in Automation
Một Framework được thiết lập với các nguyên tắc tự động nhằm:
- Duy trì tính nhất quán của kiểm thử.
- Cải tiến cấu trúc kiểm thử
- Số lượng sử dụng tối thiểu của mã
- Ít bảo trì mã
- Cải thiện khả năng tái sử dụng.
- Non Technical testers can be involved in code.
- Giảm thời gian đào tạo sử dụng tool.
- Liên quan đến Dữ liệu ở nơi nào thích hợp.
Có 4 loại framework được dùng trong kiểm thử tự động:
Different types of software testing that can be automated
- Smoke Testing
- Unit Testing
- Integration Testing
- Functional Testing
- Keyword Testing
- Regression Testing
- Data Driven Testing
- Black Box Testing
Thanks for your reading!
Tham khảo tại đây