Automation test làm những công việc gì?

tandt53
OneID Engineering
Published in
4 min readJan 9, 2020

Automation test là gì?

Automation test là 1 loạt các process, steps để PHÁT TRIỂN một hệ thống hoặc một sản phẩm phần mềm để thực hiện việc testing một cách tự động hóa.

Đối tượng của automation test thông thường là các sản phẩm software, ngoài ra còn có các sản phẩm cho các thiết bị nhúng (Embedded devices). Việc thực hiện automation test có thể thông qua PUBLIC INTERFACE, class hoặc là các thư viện (API testing) hoặc là thông qua USER INTERFACE (GUI test).

Nhiệm vụ của automation test về cơ bản bao gồm:

- Đảm bảo chất lượng của sản phẩm: hiển nhiên các thao tác tự động trong các kịch bản test vẫn luôn hướng tới việc đảm bảo chất lượng giống như manual test.

- Giảm chi phí cho việc thực hiện testing: trong những trường hợp công việc lặp lại nhiều lần, hoặc các kịch bản test tốn nhiều thời gian và nhân lực cho việc test thủ công, hoặc manual test không thể thực hiện được…..

Automation test làm những công việc gì?

Thông thường các công việc của automation test sẽ bao gồm:

- Automate TC (ATC): thực hiện các bước trong MỘT kịch bản test, mô phỏng các thao tác của người dùng một cách tự động hóa

- Automate automated TC (AATC): thực hiện chạy TOÀN BỘ các kịch bản test (test suite) một cách tự động hóa và report.

Chi tiết:

ATC bao gồm các bước

- Chuẩn bị test data (nếu cần): ví dụ lựa chọn test data hợp lệ bao gồm 1 email và 1 password ngẫu nhiên để đăng ký tài khoản mới, bạn phải tự động tạo 1 email hợp lệ sau mỗi test case.

- Thực hiện mô phỏng các thao tác của người dùng trong kịch bản test bằng việc viết các script sử dụng các ngôn ngữ hỗ trợ khác nhau.

- Thực hiện việc so sánh kết quả thực tế và kết quả mong đợi trong mỗi kịch bản test

- Cập nhật kết quả test của kịch bản test

AATC bao gồm các bước:

- Chuẩn bị môi trường để test: bước này có thể sẽ phải triển khai môi trường cho automation test, hoặc chuẩn bị các file cài đặt, các test data….

- Khởi chạy test suite: theo cấu hình hoặc yêu cầu từ trước, ví dụ như: chạy các test case UAT, hoặc các nhóm test case liên quan tới 1 function nào đó….

- Báo cáo: việc báo cáo có thể được thực hiện update dần thông qua từng kịch bản test (như extend report, allure report), hoặc có thể tạo DB report riêng và dashboard riêng để hiển thị kết quả. Ngoài ra, tùy theo yêu cầu của project mà report được thông báo với các bên liên quan thông qua các công cụ hỗ trợ, như slack, skype, email, jira…..

Cần những skill gì để làm automation test?

Về hard skills, những kỹ năng cần có để làm tốt được automation:

  • Testing: hiển nhiên mục tiêu cuối cùng vẫn là đảm bảo chất lượng nên bạn cần phải nắm được các kỹ thuật test cơ bản của blackbox, có thể có whitebox càng tốt, nên có kinh nghiệm trải qua 1 hoặc vài dự án làm manual test.
  • Coding: công việc hàng ngày của bạn là coding, nên rõ ràng đó là điều cần thiết. Hơn nữa, để viết ATC được rõ ràng, khả năng tái sử dụng cao, dễ hiểu, dễ maintain thì bạn cần có kỹ năng tương đối cứng về coding. Cao hơn nữa là viết framework automation từ đầu, việc này đòi hỏi kỹ năng code không khác gì một developer lâu năm.
  • Scripting: kỹ năng này thường được dùng cho phần AATC, việc setup môi trường, DB, tích hợp CICD, bạn cần phải có kỹ năng sử dụng các ngôn ngữ scripting nhưng bash, batch, powershell, hay python…

Về soft skills, công việc automation test đòi hỏi tính tỉ mỉ, cẩn thận và chăm chỉ. Và thêm nữa bạn cần có sự ham học hỏi, quyết tâm cao thì mới có thể đi lâu và xa hơn trong lĩnh vực này. Bởi vì, automation test là một trong những lĩnh vực thuộc ngành IT, mà ngành này thì sự thay đổi là thường xuyên và cập nhật rất nhanh. Do vậy, bạn nên trau dồi kiến thức cho bản thân, không chỉ trong lĩnh vực mình làm, mà cả những kỹ thuật technical mà sản phẩm đang sử dụng.

Kết luận

Bài viết đã cung cấp cái nhìn cơ bản nhất về các công việc của một automation tester phải đảm nhiệm. Đó là không chỉ dừng lại ở việc sử dụng các framework automation (như Selenium hay Appium) để mô phỏng các thao tác của người dùng trên sản phẩm trong một kịch bản test; mà còn phải tích hợp project automation test với hệ thống hạ tầng và các service có sẵn, tự động hoá việc khởi chạy cả test suite và reporting.

--

--