Automation engineer là gì

Automating đang là xu hướng phát triển trong lĩnh vực kiểm thử phần mềm. Do đó, các tester cần phải tự học Automation Test để đáp ứng được yêu cầu của nhà tuyển dụng. Nếu bạn đang muốn tự học Automation Test nhưng chưa biết bắt đầu từ đâu? Hãy tham khảo bài viết này của Got It để tìm câu trả lời nhé!

1. Tại sao nên học Automation Test?

1.1. Tốc độ kiểm thử nhanh hơn

So với Manual Test [kiểm thử thủ công], Automation Test có lợi thế hơn về tốc độ. Khi thực hiện Manual Testing, bạn sẽ phải lặp đi lặp lại các test case một cách nhàm chán. Trong khi đó, Automation Test cho phép bạn kiểm thử nhiều phần mềm trong mỗi sprint.

1.2. Xu hướng Automating

Hiện nay, các công ty có xu hướng áp dụng phương pháp Automating để cải thiện hiệu quả kiểm thử. Theo khảo sát của SmartBear State of Testing, trung bình khoảng 44% cácbài kiểm thử phần mềm được thực hiện tự động. Các tester cũng tin rằng Test Automation sẽ ngày càng phổ biến vì có nhiều tổ chức chuyển sang Agile.

1.3. Nhu cầu của thị trường ngày càng cao

Khi xu hướng Automating phát triển, các kỹ năng Test Automation ngày càng trở nên có giá trị. Việc chuyển đổi từ Manual Testing sang Automation Testing là một điều tất yếu trong thế giới kiểm thử phần mềm. Nếu bạn có kỹ năng Automation Test, bạn có thể ứng tuyển vào nhiều vị trí như: Automation Tester, Test Automation Engineer, QA Automation Engineer hay Automation Developer.

Automation Test là xu hướng trong lĩnh vực kiểm thử phần mềm

2. Lộ trình tự học Automation Test hiệu quả

2.1. Học ngôn ngữ lập trình

Kỹ năng lập trình chính là nền móng để thực hiện Automation Testing. Bạn sẽ không thể triển khai các bài Test Automation nếu không có kiến thức về mã hóa. Chính vì vậy, nội dung đầu tiên trong lộ trình tự học Automation Test là học ngôn ngữ lập trình.

Trong lĩnh vực Automation Test, ngôn ngữ lập trình được dùng phổ biến nhất là Java, Python, C#, JavaScript hay Ruby. Nếu bạn là một newbie, bạn nên bắt đầu với ngôn ngữ Python vì nó đơn giản và dễ học. Sau khi sử dụng thành thạo Python, bạn có thể dễ dàng học các ngôn ngữ khác.

Khi học ngôn ngữ lập trình, bạn cần phải nắm vững một số nội dung cơ bản sau:

  • Khái niệm Class, Object, Override… [Lập trình hướng đối tượng]
  • Mô hình các modules, Standard Libraries [tùy thuộc vào ngôn ngữ bạn chọn]
  • Cú pháp cơ bản [Toán tử số/logic, biến số, hàm, list, dictionary, tuple…]
  • Kiểu dữ liệu [Characters, Integers, Strings, Boolean, NoneType…]
  • Cách xử lý vòng lặp [Control Flow]
  • Đọc và ghi dữ liệu vào file [file excel, file XML…]

Hãy nhớ rằng, lập trình là nền tảng cơ bản của kiểm thử tự động. Việc có kiến thức vững chắc về ngôn ngữ lập trình sẽ giúp bạn học Automation Test dễ dàng hơn.

Bắt đầu học Automation Test với ngôn ngữ lập trình

2.2. Làm chủ các công cụ Automation

Sau khi đã hiểu rõ ngôn ngữ lập trình, bước tiếp theo là bạn phải học cách sử dụng các công cụ Automation. Chúng tôi khuyên bạn nên bắt đầu với Selenium WebDriver. Bởi vì Selenium là một mã nguồn mở, hỗ trợ nhiều trình duyệt khác nhau. Bạn cũng có thể sử dụng bất kỳ ngôn ngữ lập trình nào bạn học được trên nền tảng này.

Dưới đây là một số công cụ Automation cơ bản mà bạn có thể học để trở thành một Automation Tester:

  • HP – UFT: Đây là một công cụ quen thuộc trong kiểm thử tự động chức năng của một ứng dụng. Nếu bạn muốn thực hiện Regression Testing, bạn phải có kiến ​​thức và kinh nghiệm sử dụng UFT.
  • SoapUI: Công cụ hoàn hảo để kiểm thử tự động các dịch vụ web và API. SoapUI hỗ trợ cả dịch vụ SOAP và REST. Nếu dự án của bạn yêu cầu Automation Testing với API, bạn phải biết rõ về công cụ này.
  • Appium: Đây là công cụ tuyệt vời giúp bạn thực hiện các bài Test Automation trên bất kỳ ứng dụng di động nào. Nó tương thích trên tất cả các hệ điều hành như Windows, Android và iOS.

Ngoài ra, bạn cũng có thể làm quen với các testing framework như Nightwatch.JS, Protractor và Cucumber để phát huy tối đa tính năng của Automation Testing. Nếu bạn chưa biết viết script, bạn có thể học cách dùng Record & Replay để kiểm thử tự động không code.

Học cách sử dụng các công cụ Automation

2.3. Thực hành Automation Test

Giai đoạn cuối cùng trong lộ trình tự học Automation Test là bạn phải bắt tay vào thực hành. Đây là một bước quan trọng quyết định sự thành công của bạn. Bởi vì chỉ khi bắt tay vào làm, bạn mới thực sự có cái nhìn toàn diện về nó.

Thời gian đầu, bạn có thể thực hành với những đoạn chương trình ngắn, có cấu trúc đơn giản. Sau khi đã nắm vững các cú pháp, bạn có thể bắt đầu với các bài tập khó hơn và tiến dần tới các test script automated đơn giản. Cách làm này sẽ giúp bạn cải thiện kỹ năng lập trình để đến gần hơn với vai trò Automation Tester trong tương lai.

Thực hành Automation Test thường xuyên để cải thiện kỹ năng

Bên cạnh đó, bạn cũng nên tích cực trao đổi trên các diễn đàn, mạng xã hội để học hỏi kinh nghiệm. Cộng đồng Testing rất lớn và có rất nhiều “chuyên gia” sẵn sàng hướng dẫn bạn. Đây là một môi trường rất tốt để bạn phát triển các kỹ năng Automation Test đã học.

Automation Test có vẻ đáng sợ khi bạn mới bắt đầu làm quen với nó. Nhưng chỉ cần kiên nhẫn, chăm chỉ và chịu khó học hỏi, bạn hoàn toàn có thể làm chủ các kỹ năng Automation Test. Vì vậy, nếu bạn muốn trở thành một Automation Tester, hãy bắt đầu lộ trình tự học Automation Test ngay từ bây giờ nhé!

>> Đọc thêm: Got It Test Automation đã nâng cao hiệu suất kiểm thử như thế nào?

Tuỳ vào mỗi level và kinh nghiệm sẽ có số test case được auto  Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:"Con số phụ thuộc vào độ phức tạp của các test case. Khi độ phức tạp bị hạn chế, tôi có thể tự động hóa 5 đến 6 test case mỗi ngày. Đôi khi, tôi chỉ có thể tự động hóa một test case cho các tình huống phức tạp.Tôi cũng đã chia các test case của mình thành các thành phần khác nhau như: lấy đầu vào, thực hiện tính toán, xác minh đầu ra.. trong trường hợp các kịch bản rất phức tạp và đã mất từ ​​2 ngày trở lên." Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:"The number depends on the complexity of the test case. When complexity is limited, I can automate 5 to 6 test cases per day. Sometimes, I can only automate a test case for complex situations.

 I have also divided my test cases into different components such as taking input, performing calculations, verifying the output .. in case of very complicated scenarios and it took 2 days or more up."

Appium is an open source automation tool for running scripts and testing native applications, mobile-web applications and hybrid applications on Android or iOS using a webdriver.

Nói một cách đơn giản, chúng ta sẽ cần đến Appium khi perform automation testing trên các mobile platforms như Android hay iOS.

Cucumber is a software tool that supports behavior-driven development. Central to the Cucumber BDD approach is its ordinary language parser called Gherkin. It allows expected software behaviors to be specified in a logical language that customers can understand.

Cucumber là một công cụ phần mềm hỗ trợ BDD. Ngôn ngữ được sử dụng trong Cucumber là Gherkin.

Simply put, Git is a version control system that lets you manage and keep track of your source code history. GitHub is a cloud-based hosting service that lets you manage Git repositories.

Yeah, một câu hỏi tưởng chừng đơn giản nhưng cũng có thể khiến nhiều người sa lưới. Nois một cách đơn giản, Git là một hệ thống quản lý version cho phép bạn quản lý và theo dõi lịch sử của source code. Trong khi đó, GitHub là một dịch vụ cloud hosting cho phép bạn quản lý các Git repo khác nhau.

//www.toolsqa.com/selenium-webdriver/page-object-model/


Page Object Model or POM  is a design pattern or a framework that we use in Selenium using which one can create an object repository of the different web elements across the application. To simplify, in the Page Object Model framework, we create a class file for each web page. This class file consists of different web elements present on the web page. Moreover, the test scripts then use these elements to perform different actions.

Page Object Model là một design pattern hoặc một framework mà chúng ta sử dụng trong Selenium. Nói một cách đơn giản, với mỗi trang ứng dụng cần test [ví dụ như trang Login] thì chúng ta sẽ tạo một class file tương ứng. Class này sẽ chứa các element locators tương ứng cho trang cần test [nút Login, Username field, Password field,...] và cả các keyword/action tương ứng [clickLoginButton, inputUsername,...].

From our experience with frameworks we know that maintaining and passing around a WebDriver object across different tests is a delicate process. Also, the complexity increases when we have to maintain only one instance of a WebDriver through out the test run. To overcome the problem on instantiation of WebDriver and maintaining the instance of browser we can use create a small class called Browser Factory or WebDriver Factory.

Có thể hiểu Browser Factory như một design pattern giúp khởi tạo và duy trì browser instance một cách đơn giản và dễ dàng hơn trong suốt quá trình chạy test.

Về mặt định nghĩa, các bạn có thể tự tìm hiểu. Nhưng về mặt technical, một biểu hiện của Data Driven đó là với cùng một test method, bạn có thể run nó nhiều lần, với mỗi lần là 1 bộ data khác nhau, tương ứng với các scenario khác nhau. Data Driven hầu như đều được hỗ trợ bởi các testing framework cơ bản như TestNG, JUnit, NUnit, Xunit, v.v...

//www.toolsqa.com/testng/testng-dataproviders/


Trong phần cuối cùng của buổi tuyển dụng Automation Tester, bạn có thể gặp các câu hỏi về tính cách và định hướng tương lai. Bạn hãy cho nhà tuyển dụng thấy mình là người cầu tiến, có khả năng làm việc trong môi trường cộng tác cũng như có ý định làm việc lâu dài với công ty.

Automation Tester là nghề nghiệp triển vọng cho các bạn sinh viên IT tại Việt Nam. Các bạn hãy chuẩn bị thật kỹ những tình huống có thể xảy ra để vượt qua các vòng tuyển dụng Automation Testermột cách tốt nhất.


Tìm hiểu thêm: CÂU HỎI PHỎNG VẤN AUTOMATION TESTER [Tiếng Anh]
Tìm hiểu thêm: 100 câu hỏi và câu trả lời phỏng vấn về Selenium


Nguồn tài liệu:

  • vietnamworks.com
  • giaphi.com
  • got-it.ai
  • ...

Video liên quan

Chủ Đề