1. Giới thiệu
– Hiện nay, mình thấy có rất nhiều bạn manual tester muốn chuyển role sang làm automation với mong muốn học hỏi thêm kiến thức, thăng tiến trong công việc và tìm kiếm được những job đáp ứng được mức lương muốn. Nhưng có khá nhiều bạn hoang mang, đặt câu hỏi trên các diễn đàn, ví dụ như:
- Em muốn học automation, nên bắt đầu từ đâu?
- Học automation có khó không?
- Học automation thì mình có cần biết kiến thức lập trình ko? Nếu có thì mình nên học ngôn ngữ lập trình nào?
- Học automation là mình sẽ học những gì?
- …
– Thật ra, học automation không khó đối với những bạn đã từng học chuyên ngành là IT, vì lúc ở trường những bạn này đã được các thầy cô dạy học lập trình rồi. Ít nhất thì cũng đã từng được học Lập trình C. Nâng cao hơn xíu là lập trình C++, C#, Java. Với những bạn này, thì sẽ học automation nhanh hơn. Có thể là lâu ngày ko sử dụng code, nên sẽ bị quên. Nhưng khi bạn học và làm automation, bạn sẽ từ từ nhớ lại :D. Trừ khi trước đây bạn học ở trường để cho qua lớp, cái này thì mình chịu =))
– Còn các bạn trái ngành chuyển qua làm tester và có định hướng tương lai là sẽ làm automation, thì hơi vất vả tí. Các bạn bắt buộc phải học ít nhất 1 ngôn ngữ lập trình. Hiện nay ngôn ngữ thông dụng nhất là Java. Các bạn cứ tìm hiểu và học nó đi, đừng lăng tăng. Vì logic lập trình là như nhau, nếu bạn học vững rồi thì chuyển qua làm ngôn ngữ nhanh lắm. Java, C#, groovy, …. cơ bản nó chỉ khác nhau về syntax thôi. Còn logic là không đổi.
2. Định hướng học
– Đầu tiên, mình khuyến khích các bạn nên có ít nhất 1 năm kinh nghiệm làm về manual test, nếu đã từng học qua ISTQB thì càng tốt. Lý do mình nói vậy là hầu hết các công ty bây giờ, khi họ tuyển dụng vị trí tester, họ thường sẽ ưu tiên tuyển những bạn biết cả manual lẫn automation. Các bạn mần automation nên có mindset tốt về cách viết test case, report bug này kia. Để khi nào project thiếu người, các bạn có thể làm như 1 manual tester luôn.
– Định hướng học:
- Đầu tiên, nếu bạn chưa có kinh nghiệm làm tester or các bạn trái ngành muốn chuyển qua làm tester thì nên học lớp Fresher Tester, Agile Tester trước để có có view về công việc của 1 tester và mô hình làm việc. Tiếp đến, nếu bạn muốn nâng cao kiến thức thì học ISTQB.
- Nếu bạn muốn chuyển qua automation, thì môn học đầu tiên là Java for Tester (Lập trình Java), đây là nền tảng để trở thành qc automation thực thụ. Nếu bạn học lập trình tốt, thì khi bạn gặp những case phức tạp, bạn sẽ xử lý nó rất dễ dàng. Còn nếu bạn không biết lập trình, thì thường bạn sẽ mất rất nhiều thời gian để reasearch, và có thể ko xử lý được. Đó là lý do ở 1 cty, trong team automation thường có 1 vài anh/chị (thường là senior automation or technical architech) sẽ chịu trách nhiệm build framework. Khi các bạn mới vào, các bạn sẽ được training cách xài framework đó như thế nào? Nếu các bạn gặp case khó, các bạn có thể request những a/c này support. Và lương của các a/c này cũng ko hề thấp. Do đó, các bạn hãy học môn này chăm chỉ vào nhé. Vạn sự khởi đầu nan, mà có gian nan thì đừng có nản nhé =))
- Môn học thứ 2 bạn sẽ học là Java Selenium Webdriver. Đây là môn học nhập môn Automation. Ở đây, các bạn sẽ được học cách xác định xpath của các element và handle code để tương tác với các control trên website. Khi các bạn lướt web, nếu các bạn để ý thì hầu như tất cả các trang web đều xài các control gần như giống nhau, Ví dụ như control button, textbox, combobox, dropdownlist, … Còn các action mà user thường sử dụng như click to button, input text to textbox, select item in dropdown/combobox … Nếu bạn học tốt môn này thì bạn có thể join vào các project auto được rồi ấy. Và mức lương thì cũng nhỉnh hơn 1 chút so với lúc bạn làm thuần manual test =))
- Môn học thứ 3 bạn sẽ học là API Testing. Nếu học automation mà chỉ làm với WebUI thì nó chưa đủ đâu, bạn phải biết cách automation với API nữa. Chắc hẳn các bạn đã từng nghe đâu đó 2 chữ “Web Service”. Khi test Web Service thì thường ko có giao diện để cho mình test đâu. Mình sẽ test hoàn test bằng API. Ví dụ khi các bạn mua hàng và trả tiền bằng ví momo, hoặc bằng 1 ví nào khác. Các ví này sẽ liên kết với ngân hàng. Người bán hàng sẽ mua các dịch vụ này (service) để sử dụng. Khi bạn trả tiền, 1 loạt các api bên dưới bắt đầu hoạt động …
- Môn học thứ 4 bạn sẽ học là Mobile Automation. Hiện nay, các ứng dụng trên mobile rất là nhiều. Nếu bạn có kiến thức về việc test trên Mobile nữa thì quá OK rồi. Nhưng môn học này là chỉ là optional thôi nhé, ko phải cty nào cũng làm mobile. Nếu có thời gian rãnh thì học hỏi thêm nhé.
- Tiếp theo là kiến thức về database (sql), khi bạn test api, thì thường sẽ không có giao diện để bạn verify data trả về có đúng hay không? Lúc đó, bạn cần phải thao tác, query dưới database để verify với api response trả về.
- Và cuối cùng là Performance Testing. Môn học này cũng khá quan trọng. Ví dụ như khi các bạn lướt web, bạn thấy trang web đó loading rất là chậm. Bạn action 1 thao tác nào đó thì mất 3, 4 phút sau nó mới load được trang web lên. Lúc đó, bạn sẽ hỏi: Làm gì mà nó chậm thế? =)) Đấy, khi bạn test trong project cũng vậy, khi bạn thấy nó chậm, thì bạn phải hỏi dev team ngay là sao chỗ này/ chỗ kia nó chậm thế, để dev fix bug này càng sớm càng tốt. Ở cty thì chỉ có 1 nhóm bạn dùng và test nó. Nhưng khi project của bạn public ra thị trường, thì cả triệu người vào xem cùng lúc. Nếu product của xử lý chậm quá, thì đâu ai dùng nữa.
– Chốt lại, mình suggest ở trên là 1 trong những môn học cần thiết cho 1 bạn từ manual muốn chuyển qua làm automation. Đương nhiên là sẽ còn 1 vài kiến thức nữa, nhưng nói nhiều quá thì sẽ khiến các bạn dễ nản =)). Vì vậy mình xin chốt lại 4/6 môn cần ưu tiên học trước đó là:
- Java for Tester (Lập trình Java)
- Java Selenium Webdriver dành cho các bạn đã vững code. Ngoài ra, nếu bạn nào chưa vững code, các bạn có thể tìm hiểu thêm về Katalon/akaAt Studion. Đây là 2 tool được phát triển ở Việt Nam. Katalon Studio thì của KMS Technology còn akaAt Studio thì của FPT Software. 2 tool này cung cấp giao diện trực quan hơn, có hỗ sẵn build-in keyword để các các bạn có thể sử dụng mà ko cần code nhiều. Thích hợp cho các bạn manual mới tìm hiểu về Automation.
- API Testing
- Performance Testing
Hy vọng khi đọc bài này xong, các bạn sẽ có 1 lộ trình đầy đủ để chuẩn bị cho kế hoạch sắp tới nhé. Hẹn gặp lại các bạn trong các bài post tiếp theo.