[Chuyện nghề] Automation Tester: Tự động hóa mà vẫn chạy bằng… cơm, liệu có đúng?

Với sự phát triển nhanh chóng của công nghệ nói chung và các công ty CNTT nói riêng, vị trí Automation Tester đang được săn đón và hưởng mức phúc lợi tốt trên thị trường lao động. Vậy Automation Tester là gì, sẽ thực hiện công việc như thế nào và cần học những gì? Cùng đọc bài viết dưới đây nhé.

automation teste

Automation Test là gì? 

Automation test là việc thực hiện test bằng máy, hay một quá trình xử lý tự động các bước thực hiện một test case bằng Automation Testing Tool.  Tuy nhiên, không phải máy sẽ làm hết cho bạn, mà Tester sẽ thực hiện khởi động hệ thống nhập dữ liệu đầu vào, kiểm tra so sánh với dữ liệu đầu ra và ghi kết quả. Như vậy, Automation test không phải chạy bằng … cơm như lời đồn, chỉ là việc thực hiện nó vẫn cần có những nhân sự tester được trang bị đầy đủ kiến thức và kỹ năng chuyên môn. 

Giảm thiểu lỗi, nâng cao năng suất kiểm thử, và giảm sự nhàm chán khi kiểm thử bằng tay lặp đi lặp lại trong một thời gian dài chính là một trong những vai trò vô cùng quan trọng của Automation test.

Những điều Automation Tester cần biết? 

Automation Tester là người xác định tính năng của Automation Testing framework, hỗ trợ phát triển framework để làm Automation Test. 

Kiến thức chuyên môn của Automation Tester

Về mặt chuyên môn, vị trí này cần cần học hỏi và nắm bắt được những kiến thức như sau:  

Kiến thức testing

Bạn cần nắm bắt và vận dụng được những kiến thức về testing một cách hiệu quả nếu muốn theo đuổi ngành Tester. Cụ thể là các kiến thức sau: 

  • Cần hiểu rõ các loại Types Testing: Unit, System, Sanity, Integration, Regression test,… 
  • Testing Techniques: Có kiến thức phân tích giá trị biên, phân vùng tương đương, biểu đồ kết quả, đoán lỗi,… 

Biết về HTML và Xpath 

HTML là ngôn ngữ đánh dấu siêu văn bản được sử dụng để tạo ra các trang web. Automation Tester cần nắm rõ HTML để có thể hiểu cấu trúc và phân tích các yếu tố trên trang web, chẳng hạn như các thẻ, định dạng văn bản, liên kết, hình ảnh, đa phương tiện và các phần tử trang web khác. 

Ngoài ra, vị trí này cũng cần nắm rõ XPath để có thể chọn các phần tử trên trang web để thực hiện các thao tác tự động, như click, nhập dữ liệu, hoặc kiểm tra giá trị của các phần tử. 

Thành thạo ít nhất một ngôn ngữ lập trình thông dụng 

Kiến thức này đóng vai trò vô cùng quan trọng trong việc hỗ trợ cho Scripting trên Test Tools. Theo đó người làm ở vị trí này cần thành thạo ít nhất một trong các ngôn ngữ sau: Java, C#, Python, Ruby, Javascript,… Để làm tốt và phát triển công việc trong nghề Automation Tester thì việc thành thạo ngôn ngữ lập trình là điều bắt buộc. 

Thành thạo thư viện của Selenium WebDriver API 

Trong thời điểm hiện tại, phần này có vai trò quan trọng. Selenium được sử dụng tại hầu hết các công ty có làm Automation bởi có open source, dễ sử dụng cùng cộng đồng lớn. Do đó Automation Tester cần đáp ứng được yêu cầu về khả năng này để hoàn thành tốt công việc của mình. 

Biết sử dụng 1 framework testing 

Việc sử dụng thành thạo ít nhất một framework testing như: Junit, TestNG, NUnit,… sẽ giúp bạn rất nhiều trong việc build framework. Bên cạnh đó kiến thức này còn hỗ trợ trong việc phân nhóm, quản lý testscript, report, prepare data, environment, browsers. 

Biết về Software design pattern 

Software design pattern giúp bạn có kinh nghiệm và kỹ năng để build framework/common library. Do đó, để trở thành Automation Tester thì bạn không thể bỏ qua nội dung này. 

Software design pattern giúp bạn có kinh nghiệm và kỹ năng để build framework 

Biết sử dụng/build framework hiệu quả từ Page Object Model pattern 

Hầu như các framework nổi tiếng hiện nay đều kế thừa ý tưởng từ pattern này nên việc sử dụng thành thạo POM sẽ giúp bạn dễ dàng khi tiếp cận một công nghệ/ framework mới. Sau khi framework được build thành công, bạn có thể apply vào một dự án thực tế bất kì để kiểm nghiệm. 

Kỹ năng về Coding/IDE 

Một trong những kiến thức chuyên môn quan trọng mà Tester cần có chính là khả năng Debug, Coding Convention, Source version control (GIT, SVN,…). Bên cạnh đó, họ cũng phải biết cách sử dụng IDE: Visual Studio, Eclipse, IntelliJ,… Những kỹ năng về Coding/IDE này có vai trò quan trọng giúp vị trí này trở nên “đa năng” hoàn thành công việc một cách hiệu quả. 

Làm việc với Database 

Hầu hết khi bạn thực hiện dự án phần mềm nào cũng có thao tác với DB, nắm vững kiến thức về truy vấn, verify data, ràng buộc dữ liệu,… sẽ giúp Tester rất nhiều trong công việc hàng ngày của AT. 

Nắm bắt các công nghệ mới trong lĩnh vực Automation testing 

Automation testing thường xuyên cập nhật những công nghệ và kiến thức mới. Điều này đòi hỏi Tester trong mảng Automation testing cần nắm bắt và ứng dụng kiến thức, bao gồm: 

  • Build tools: Maven, ANT,… 
  • CI/CD: CircleCI, Jenkins, TeamCity, TFS, Docker,… 
  • Cloud: Browserstack, AWS, Saucelab, Testingbot,… 
  • BDD: Cucumber, Serenity, Specflow,… 
  • BigData: Kafka, Spark, Hadoop, HBase, Hive,… 
  • Mobile: Appium, Perfecto,… 

Hiểu biết về các công cụ Automation Testing phổ biến hiện nay 

Những công cụ Automation Testing đóng vai trò quan trọng để Tester thực hiện công việc hiệu quả, chính xác và nhanh chóng. Do đó, để đảm bảo tốc độ công việc và chất lượng kiểm thử, Tester cần hiểu biết và có thể sử dụng các công cụ sau: 

  • Selenium: Công cụ phổ biến để kiểm thử ứng dụng web. Nó hỗ trợ các ngôn ngữ lập trình như Java, Python và C#. 
  • Appium: Công cụ kiểm thử ứng dụng di động. Nó hỗ trợ các nền tảng như iOS, Android và Windows. 
  • TestComplete: Công cụ kiểm thử tự động đa nền tảng và hỗ trợ nhiều ngôn ngữ lập trình. 
  • JMeter: Công cụ kiểm thử khả năng chịu tải của ứng dụng web. Nó cho phép bạn thử nghiệm hiệu năng và độ tin cậy của ứng dụng. 
  • Katalon Studio: Công cụ kiểm thử tự động đơn giản và mạnh mẽ cho kiểm thử ứng dụng web và di động. 

Tổng hợp: Như vậy, một Automation Tester cần nắm vững:

  • Types testing: Unit/Integration/Sanity/System.
  • Các kỹ thuật testing như Phân tích giá trị biên, Biểu đồ kết quả, Đoán lỗi, Phân vùng tương đương.
  • Nguyên lý nhận dạng test objects: HTML và XPath để nhận dạng đúng khi cần thao tác. 
  • Thành thạo sử dụng thư viện của của Selenium WebDriver API. 
  • Sử dụng thành thạo ít nhất một ngôn ngữ lập trình như Java, C#, Python, v.v hỗ trợ cho việc scripting trên phần mềm kiểm thử.
  • Thành thạo ít nhất một framework testing: Junit, TestNG.
  • Có hiểu biết về software design pattern để build framework, common library. 
  • Build framework thành thạo từ Page Object Model Pattern.  
  • Có khả năng coding như Debug, source version control.
  • Biết cách sử dụng IDE: visual studio, IntelliJ.
  • Khả năng làm việc với database. 
  • Thường xuyên học hỏi, cập nhật thông tin trong mảng Automation Testing: build tools; CI/CD; Cloud.

Kỹ năng mềm mà Automation Tester cần phát triển? 

Bên cạnh các kiến thức chuyên môn, kỹ năng mềm cũng đóng vai trò quan trọng trong thành công của Automation Tester. Các kỹ năng mềm mà vị trí này cần có bao gồm: 

  • Tư duy logic: Kỹ năng tư duy logic giúp Tester hiểu và phân tích các quy trình làm việc và đảm bảo các test case được phát triển đầy đủ. 
  • Kỹ năng giải quyết vấn đề: Kỹ năng này giúp Tester tìm ra và giải quyết các vấn đề xảy ra trong khi thực hiện quy trình kiểm thử phần mềm. 
  • Kỹ năng giao tiếp: Kỹ năng giao tiếp đóng vai trò quan trọng để vị trí này có thể tương tác và làm việc tốt với các thành viên khác trong nhóm phát triển và các bộ phận khác. 
  • Tinh thần cầu tiến: Tinh thần cầu tiến giúp Tester luôn tìm cách cải tiến quá trình kiểm thử và nâng cao chất lượng sản phẩm. 
  • Kỹ năng làm việc nhóm: Kỹ năng này giúp Tester có thể phối hợp với các thành viên khác trong nhóm một cách hiệu quả để đạt được mục tiêu chung. 
  • Kỹ năng quản lý thời gian: Kỹ năng quản lý thời gian giúp phân chia công việc và quản lý thời gian để đảm bảo các test case được hoàn thành đúng hạn. 
  • Kỹ năng tự học và tự nghiên cứu: Kỹ năng tự học và tự nghiên cứu giúp nắm bắt và sử dụng các công nghệ mới nhất để tối ưu quá trình kiểm thử, hoàn thành tốt công việc. 

Nguồn tham khảo: Automation Tester là gì?

Triển vọng của nghề nghiệp Automation Tester 

Chúng ta đang sống trong kỷ nguyên cách mạng 4.0, chứng kiến sự phát triển mạnh mẽ của nhiều lĩnh vực trong đó có lĩnh vực công nghệ thông tin.  

Trong những năm trở lại đây, Automation Tester là một vị trí tương đối hot trong các công ty từ những vị trí chuyên sâu về phát triển tool/library/framework tới những bạn có khả năng viết script dựa trên công cụ kiểm thử tự động. Có thể nói, đây là vị trí xu hướng của ngành Tester. 

CMC Global đang tuyển dụng vị trí Automation Tester, tham khảo ngay JD tại đây.

Hoặc khám phá thêm các vị trí công việc tại CMC Global như:

Golang – Ngôn ngữ trẻ hấp dẫn các backend developer

Outsystem Developer: Khi “low code” dần xâm chiếm thế giới

Salesforce Developer cho dự án Nhật: Lửa thử vàng, gian nan thử “code”

Copy link
Powered by Social Snap