7 bước để trở thành một Automation Testing Engineer
Hôm rồi mình có tham khảo được một bài viết trên mạng rất hay về nội dung: Làm thế nào để trở thành một Automation Testing Engineer? Hôm nay mình xin được chia sẻ lại cho các bạn bài viết này. Như mọi người đều biết răng, kiểm thử tự động đang dần trở thành một xu hướng HOT để các bạn tìm hiểu, ...
Hôm rồi mình có tham khảo được một bài viết trên mạng rất hay về nội dung: Làm thế nào để trở thành một Automation Testing Engineer? Hôm nay mình xin được chia sẻ lại cho các bạn bài viết này.
Như mọi người đều biết răng, kiểm thử tự động đang dần trở thành một xu hướng HOT để các bạn tìm hiểu, cũng như thị trường việc làm của công việc này ngày càng tăng. Vậy thì các bạn cần tìm hiểu những kiến thức gì, và cần có những kỹ năng gì để bước vào lĩnh vực này. Hôm nay mình xin chia sẻ cho các bạn 7 bước để trở thành một Automation Testing Engineer mà mình đã tham khảo được:
1/ Không bao giờ bỏ qua Menual Testing: Có một câu hỏi mà các bạn thường đặt ra là: "Khi nào thì áp dụng Menual Testing và khi nào áp dụng Automation Testing trong dự án?" Theo mình thì, đối với những dự án có thời gian ngắn để thực hiện thì không bao giờ người ta lại áp dụng Automation Testing vào dự án cả. Bởi vì khi bạn áp dụng Automation Testing vào dự án thì effort bạn bỏ ra cũng rất lớn, việc viết những đoạn mã cho Automation Testing cũng sẽ tốn effort ngang với việc dev code ra sản phẩm. Công sức và thời gian bỏ ra sẽ rất lớn trong khi dự án của bạn lại không đủ thời gian và nguồn lực để cho phép bạn làm điều đó. Vậy thì, theo mình thì Automation Testing chỉ có thể áp dụng cho các dự án dài hơi, trải qua nhiều Phase, khi đó bạn mới có đủ thời gian và nguồn lực để làm Automation Testing cho dự án. Việc áp dụng Automation vào dự án có thể giúp cho bạn giảm thiểu được công sức khi phải chạy lại một số lượng TestCase lớn khi phải chạy Regression Test.
Vậy thì tùy dự án chúng ta sẽ quyết định có áp dụng Automation Testing vào hay không? Còn đối với Menual Testing thì đó là điều bắt buộc với mỗi dự án. Đối với dự án áp dụng Automation, thì việc bạn chạy Menual Testing một lần sẽ giúp cho sản phẩm của bạn được hoàn thiện nhất và giả thiểu bug tới mức tối đa nhất, từ đó việc viết các đoạn mã automation trên một sản phẩm hoàn thiện sẽ dễ dàng hơn rất nhiều so với việc phải làm trên một sản phẩm nhiều bugs và chưa hoàn thiện. Công sức để sửa lại những đoạn mã là rất lớn. Vì vậy, tiêu chí thứ nhất, đừng bao giờ bỏ qua Menual Testing, vì nó là điều tất yếu của tất cả các dự án.
2/ Nắm vững một ngôn ngữ lập trình mà bạn sẽ sử dụng để viết Automation: Để có thể phát triển trong lĩnh vực kiểm thử tự động này thì điều kiện cần là các bạn phải nắm vững một ngôn ngữ lập trình. Theo mình nhận thấy, bạn cần có những kiến thức về những ngôn ngữ lập trình dưới đây để có thể viết được những đoạn mã automation:
- C / C ++
- Java
- SQL
- XML
- HTML
- CSS
Đó là điều kiện cần, điều kiện đủ để trở thành một Automation Testing Engineer và xa hơn nữa là trở thành một expert trong lĩnh vực này, thì bạn cần tìm hiểu thêm về các kiến thức như là Test Design, Performance Testing, Agile, and Continuous Delivery. Sẽ có rất nhiều kiến thức mà một Automation Testing Engineer cần phải nắm. Nhưng chung lại thì điều cần thiết nhất của bạn ngay lúc này đó là hãy làm chủ cho mình một ngôn ngữ lập trình.
3/ Hiểu rõ về ứng dụng mà mình sẽ kiểm thử: Khi bắt đầu kiếm thử tự động một phần mềm nào thì chúng ta cũng cần có đầy đủ thông tin về sản phẩm đó. Thường chúng ta sẽ đặt ra những câu hỏi như sau để có thể nắm bắt được đầy đủ thông tin của sản phẩm chúng ta test:
-
Những ngôn ngữ lập trình đã được sử dụng trong khi phát triển ứng dụng? Đối với những trang web sử dụng ngôn ngữ lập trình Ruby để phát triển, thì chúng ta cũng sẽ sử dụng chính ngôn ngữ lập trình này để thực hiện viết mã automation cho nó. Tương tự đối với dự án bằng Java hoặc C#.
-
Ứng dụng sử dụng cơ sở dữ liệu nào? Cần làm rõ rằng ứng dụng chúng ta đang tương tác với CSDL nào: SQL Server, MySQL, … Từ đó khi viết mã automation thì chúng ta cũng sẽ liên kết đến những CSDL đó.
Ngoài ra còn một số câu hỏi khác như là:
-
Mục tiêu phát triển của ứng dụng này là gì? Ứng dụng sẽ làm gì?
-
Các chức năng chính và tính năng mong đợi từ ứng dụng đang được phát triển là gì?
-
Đã thực hiện menual testing cho ứng dụng này hay chưa?
-
Và thời gian để thực hiện menual testing cho ứng dụng này là bao lâu?
-
Có bất kỳ vấn đề nghiêm trọng hiện có hoặc lỗi nào chưa được giải quyết không?
-
Ngày giao hàng dự kiến của ứng dụng là bao lâu?
Việc trả lời những câu hỏi trên sẽ giúp bạn có thể dễ dàng tiếp cận hơn với dự án, giúp cho bạn có thể lên plan cũng như lựa chọn ra các công nghệ phù hợp nhất đối với dự án.
4/ Am hiểu về một Automation Testing Tools: Cũng như người nông dân khi ra đồng thì luôn có máy kéo, hoặc con trâu để làm công cụ sản xuất. Thì việc các Automation Testing Tools ra đời cũng mang ý nghĩa tương tự, khi đó các Automation Testing Tools sẽ hỗ trợ cho các bạn, giúp các bạn giảm rất nhiều effort trong việc thực hiện viết các đoạn mã.
Ngoài ra việc nắm rõ một Framework cũng giúp các bạn rất nhiều trong việc triển khai một dự án. Khi bạn đã có kiến thức tốt thì điều này sẽ giúp bạn quyết định công cụ nào đáp ứng hầu hết nhu cầu kiểm thử tự động của bạn. Một số Automation Testing Tools hiện nay như là: Selenium, Appium, Cucumber, Silk Test, Rspec… rất nhiều để các bạn có thể lựa chọn và làm chủ:
5/ Nắm được công thức ATLC: (Automation Testing Life Cycle) Để trở thành một Automation Testing Engineer giỏi thì bạn cũng cần hiểu được công thức ATLC này và áp dụng nó vào chính dự án của các bạn: 6 bước cần nắm được:
- Đưa ra quyết định có áp dụng Automation vào dự án của mình hay không?
- Lựa chọn ngôn ngữ phát triển, automation testing tools và các công nghệ sẽ áp dụng cho dự án.
- Hình thành một Automation Testing Process cho dự án của mình.
- Lên plan, design dự án, và thực hiện development.
- Thực hiện viết script và quản lý dự án.
- Review và maintain source code của dự án.
6/ Có đam mê với Automation Testing: Để trở thành một Automation Testing Engineer giỏi và đạt được nhiều thành công trong lĩnh vực này thì bạn sẽ cần phải thực sự làm việc chăm chỉ với niềm đam mê và cả sự cống hiến. Theo mình, Automation testing không phải khó như các bạn đã nghĩ, nhưng nó sẽ dễ đối với những bạn đầu tư thời gian tìm hiểu nó, và học tập nó một cách nghiêm túc.
7/ Thường xuyên học hỏi và cập nhật kiến thức mới: Luôn trong tư thế sẵn sàng để học hỏi những kiến thức mới từ lĩnh vực kiểm thử tự động này. Bởi vì công nghệ luôn phát triển hàng ngày, vì vậy kiến thức của bạn cũng cần phải được update theo. Việc kiến thức của bạn bị mài mòn qua năm tháng cũng chính là thứ khiến các bạn bị đào thải ra khỏi lĩnh vực này.
Trên đây là 7 điều mình muốn chia sẻ với các bạn để giúp các bạn trở thành một Automation Testing Engineer trong tương lai. Đó chỉ là những quan điểm mình đúc kết được qua các bài viết trên mạng mà mình cảm thấy đúng với mình. Hy vọng rằng, qua bài viết này các bạn sẽ định hướng được cho mình con đường phát triển trong lĩnh vực kiểm thử tự động này.
Tham khảo: https://dzone.com/articles/7-quick-steps-to-become-a-great-automation-testing