Học gì và học như thế nào để có thể làm Automation Test.

Xin được nói rõ, mình không phải là Automation Tester, mình là tester thập cẩm. Nhưng trong quá trình học, tìm hiểu và làm những task về Automation Test, mình đã gặp rất nhiều vấn đề, nên mình viết ra đây để các bạn mới có thể tham khảo. Bên cạnh đó, mình cũng xin chỉ đưa ra 1 vài gợi ý về việc học gì và cách học như thế nào để có thể khắc phục những vấn đề ấy.

I. Những vấn đề có thể sẽ gặp phải

  • Ngộ nhận Automation Test là Automation Test

Đừng confused, hãy đọc tiếp. =))))

Đây là chủ đề được tranh luận và được thấy khắp mọi nơi, đặc biệt là trên linkedin nơi có nhiều “lão làng” về tester trên thế giới hay thảo luận và chia sẻ thông tin. Vậy thì có gì khác biệt mà phải tranh luận giữa 2 cái từ ngữ giống nhau 100% kia?

Đa số mọi người vẫn đồng ý với Michael BotonJames Bach về việc gọi “Automation Test” là “Automation Check” vì theo họ, testing là 1 quá trình có rất nhiều khâu như learning about the system, performing tests, revealing problems, feeding back… Automation Test mà mọi người đang nói và làm hiện tại chỉ là dùng tool để execute tests, không hơn, không kém. Họ cũng chỉ trích việc dùng từ “manual test”, nhưng mà đấy là 1 câu chuyện khác. Chốt lại, chúng ta vẫn nói với nhau “Automation Test” để đỡ phải tranh cãi với người khác như PM, Dev, BA … nhưng chúng ta cần nhớ Automation Test thực chất là Automation Check.

  • Ngộ nhận Automation Test là Selenium?

Rất nhiều bạn mới, kể cả mình khi bắt đầu tìm hiểu về Automation Test, vì không có bài giới thiệu đầy đủ nên ko có cái overview của Automation Test nói chung. Do đó, bị luẩn quẩn vào những bài giới thiệu của những người cũng không đủ kinh nghiệm và thế là Bùm, hiểu sai bét.

Overview của Automation Test gồm nhiều thứ như test type, test trategy, test tools, test design patterns và 1 phần quan trọng là xác định what to test. Cái technique xác định what to test này mình sẽ viết vào 1 bài khác.

Selenium chỉ là 1 test tool được sử dụng cho 1 loại test type. Hết

  • Bị sếp ép phải viết 1 cái POC (proof of concept) để demo cho team khi còn chưa hiểu về lập trình

Đây là thực tế, mình đã gặp không phải 1 mà nhiều trường hợp đã bị như vậy. Khổ thân, lúc mới đầu học selenium, ai cũng muốn được thực tập và làm nhiều để tăng skill, nhưng bị sếp dí cái task to uỵch vào mặt mà không biết phải làm thế nào. Thế là ngồi máy tính cả ngày để google, đọc các bài viết để chắp vá sao cho phục vụ được cái demo. Đoạn nào mà bị lỗi, thì ôm code đi chạy vạy khắp nơi hỏi người này người nọ. Sad but true.

Cái này cũng đúng cho trường hợp các bạn sinh viên thực tập, chọn đồ án tốt nghiệp có liên quan đến các tool test, đặc biệt là Selenium Webdriver.

II. Cách khắc phục

Cái problem thứ 3 là cái chúng ta sẽ mất rất nhiều thời gian để học và thực hành, trước khi có thể giải quyết triệt để. Mình không giống như những tester khác, khuyên bạn học về tool, thành thạo các sử dụng tool mà mình khuyên bạn hãy học lập trình và học kỹ cái ngôn ngữ lập trình mà bạn sử dụng.

Gợi ý 1: Ép bản thân bằng cách set deadline và 1 phần thưởng / hình phạt nào đó.

Ngày trước, mình cố học selenium bằng java theo cách follow các tutorial ở trên mạng, rồi hì hục tự viết lại mà không cần nhìn hướng dẫn, ăn ngay lỗi NullPointerException. Lỗi phổ biến đến mức, mình search google ra cả mấy triệu kết quả, nhưng mà chả tìm được cái issue nào gần giống cái của mình để mà xem cách fix. Loay hoay nửa ngày, cũng chả dám hỏi dev vì sợ bị cười. T__T (khổ tâm vãi, không biết có bạn nào giống mình ko). Thôi đành xem lại tutorial và thấy mình bị miss mất step Khởi tạo Object. Xem đi xem lại, đọc lại nhiều lần, cũng chả hiểu vì sao cần khởi tạo Object, tôi chẳng phải đã viết Class rồi sao, đấy không phải Object ah? mà Object là cái gì thế, sao phải khởi tạo. Mình chấp nhận nó như 1 dạng học thuộc lòng rồi tiếp tục move on sang bài hướng dẫn khác.

Học kiểu này, sau 1 thời gian thì mình biết được cách sử dụng cơ bản của selenium nhưng thực tế thì mình lo lắng lắm vì mình không có khả năng control được code, muốn tùy biến hoặc sử dụng cho trường hợp khác thì không biết. Mình quyết định quay lại học Java basic, mình học ở trung tâm, học ở trên udemy, youtube, đọc cả sách thì vẫn thấy rất khó nuốt nhiều phần, có vẻ như mình không hợp với những cách đấy. Rồi mình quyết định là đăng ký thi chứng chỉ Java OCA và mình chỉ có 4 tháng để ôn luyện. Áp lực tiền bạc (150$) và danh dự (khoe trên linkedin :v) khiến mình học rất chăm chỉ và cẩn thận. Tuy rằng kỳ thi của mình bị Covid-19 thổi bay, nhưng đến hiện tại, mình cảm thấy tự tin hơn về kiến thức của mình.

Note: Để ôn thi, mình chỉ đọc 1 quyển sách duy nhất OCA Java SE 8 Programmer I Certification Guide.

Gợi ý 2: Nếu bạn qua được phần basic, tốc độ học sẽ nhanh hơn rất nhiều

Người xưa nói đúng “vạn sự khởi đầu nan”, việc học các concept mới thật sự là tốn thời gian, các bạn nên kiên trì 1 chút hoặc 2 chút và có thể là nhiều chút. =)))) Trong thời gian 2 năm vừa rồi, đã không biết bao nhiêu lần mình mở sách Effective Java, đọc 1 vài trang rồi đổi sách khác. Mỗi lần như vậy, mình chỉ có thể ngửa mặt lên trời cảm thán “công lực chưa đủ, không luyện nổi”. Nhưng rồi cũng có lúc mình đọc hiểu trọn vẹn 1 ý tưởng trong sách, quả thực là tuyệt vời, dần dần, mình đọc hiểu được nhiều hơn, lưu ý nhiều hơn không có nghĩa là mình hiểu được hết, vẫn rất nhiều thứ mình chẳng hiểu gì cả. T__T

Bây giờ, mình quay lại học về selenium, ôi mọi thứ trở nên đơn giản hơn nhiều thế, mình hiểu được vì sao họ lại viết code như vậy (thi thoảng thôi :v). Chính vì hiểu hơn mà mình càng muốn học và học được nhiều hơn. Vòng luẩn quẩn đó thực sự rất tuyệt.

Gợi ý 3: Học là 1 quá trình lâu dài, bạn cảm thấy muốn bỏ cuộc vì bạn không có đủ động lực thôi

Không ai học phát là hiểu luôn, trong film chắc có, và mình đã không còn có sự thông minh nữa thì tốt nhất là phải có 1 động lực thật lớn để có thể duy trì việc học hành. Về nguyên nhân không duy trì được việc học thì có nhiều lắm, ko có thời gian, không có dự án, chạy cơm từng bữa, học không đúng cách, thầy đểu… Suy cho cùng thì động lực bên trong bạn vẫn là cái quan trọng nhất, động lực ấy là gì thì phải tùy thuộc vào mỗi người.

Bạn nào mà đọc đến đây thì chắc là cũng phải thuộc dạng động lực ghê lắm =)))) vì mình lan man, lải nhải loanh quanh, mãi không thấy giới thiệu tools test giống như cái các bạn hi vọng khi đọc tiêu đề bài viết. “Học gì và học như thế nào để có thể làm Automation Test” – chắc bạn hi vọng 1 list các tools, sách học cũng như là các trang web hướng dẫn lắm. Cái đấy đã được viết ở trên các blog khác nhau rồi. Ví dụ như đây:

Học để có việc làm, học để có kiến thức, học vì yêu thích say mê, học để đi cùng thế giới, v.v. mỗi mục tiêu khác nhau sẽ dẫn đến một cách học khác nhau và từ đó dẫn đến những cuốn sách khác nhau.

Blog vnhackers https://vnhacker.blogspot.com/2017/04/thap-thanh-cong.html

III. Tổng kết

Cuối cùng, lời khuyên của mình dành cho các bạn muốn học và làm Automation Test là “luôn giữ 1 động lực lớn, học căn bản step-by-step, đừng nóng vội, càng muốn học advance càng lâu lên advance“. Vậy thôi, chúc bạn thành công.

Leave a Reply

Your email address will not be published. Required fields are marked *