Kỹ năng quan trọng cần có của một automation tester

automation-framework

Từ hồi mới bắt đầu đi làm, vị trí của mình là manual tester, ngày đấy cũng chỉ biết chút chút khái niệm về manual test với automation test. Nhưng cũng chẳng hiểu rõ nó như thế nào, chỉ ngộ nhận là automation test thì nó dùng tool thế thôi.

Hai trong những automation tools mà mình biết lúc đó là HP Quick test pro, và Selenium. Mà với cả hai tool ấy thì cũng chỉ biết đến mỗi nhóm tính năng record – play back thôi xong rồi cứ nghĩ là nó có đến vậy.

Thế rồi, sau gần hai năm làm manual, trăn trở nhiều về công việc hiện tại, và nghĩ rằng nếu 10 năm sau mà cũng làm như thế này thì sẽ ra sao? Nếu không thì sẽ dẫn đến đâu, mình sẽ làm gì? Đúng lúc ấy thì tình cờ nhờ có một anh chàng đẹp trai (klq nhưng mà anh đẹp trai này nay đã trở thành gấu của mình kaka) –  anh ấy đã gửi cho mình một link có thông tin về một lớp học Selenium basic. Từ ngày đấy đến giờ ấy thế mà cũng đã hơn một năm rồi.

Từ một manual tester chính thống, mình nghĩ đến việc sẽ làm quen thử với automation test, và đã bắt đầu với lớp học basic ấy.

do-it-automate-it

Ban đầu sau khi học một vài buổi làm quen ban đầu, mình đã nghĩ rằng, các kỹ năng của một automation tester cần phải có bao gồm:

  • Phải cao siêu về các Web element như XPATH và CSS
  • Phải biết và làm đươc JUNIT cho các script giống code unit test mà đội dev thường làm đó
  • Về các hệ quản trị cơ sở dữ liệu các câu lệnh truy vấn
  • Biết lập trình, các kỹ năng về lập trình
  • Sử dụng được một vài ngôn ngữ lập trình nào đó
  • Nắm được một vài automation framework
  • Hiểu biết về Page – object – model

testautomation

Nhưng trong cả tá những thứ đó, thì kỹ năng nào là quan trọng nhất?!

Bây giờ cũng không hẳn là đã có nhiều kinh nghiêm làm về automation nhưng mình vẫn nghĩ là bản thân vẫn cần phải có các kiến thức, kỹ năng trên, không cần quá cao siêu nhưng ít nhất phải nắm được những thứ cơ bản của từng cái, hiểu được bản chất của nó. Và theo mình, cái quan trong hơn cả chính là kỹ năng lập trình. Còn những cái khác sẽ là những điều kiện đủ để bổ trợ cho mình trong quá trình làm việc mà thôi.

Tại sao kỹ năng lập trình lại là điều quan trọng nhất?

  • Automation test là viết các script để run các scenario tương tác với ứng dụng. Ngoài việc để cho nó có thể chạy được, bạn còn phải làm để có thể bảo trì nâng cấp một cách dễ dàng nhất, thích ứng với sự thay đổi của những lần release, sao cho code của bạn phải sửa ít nhất.
  • Có kỹ năng lập trình tốt bạn có thể giải quyết vấn đề liên quan đến technical một cách tối ưu hơn, hiệu năng code tối ưu hơn.
  • Project automation của bạn cũng cần phải có tổ chức một cách khoa học, áp dụng các kỹ thuật giống như việc đội dev đã xây dựng lên sản phẩm đó. Ngoại trừ mục đích của hai người khác nhau: một bên xây dựng sản phẩm, một bên là kiểm tra sản phẩm hoạt động đúng yêu cầu hay chưa mà thôi.
  • Có kỹ năng lập trình tốt giúp bạn tiếp cận và ứng dụng các automation framework tốt hơn, hiệu quả hơn.
  • Với kỹ năng lập trình tốt bạn có thể tiếp thu các công nghệ mới một cách nhanh chóng, có thể xác định và đưa vào áp dụng một cách dễ dàng cho project mà không phải gặp quá nhiều khó khăn.
  • Có kỹ năng lập trình và tư duy lập trình tốt bạn sẽ không bị ảnh hưởng và quá phụ thuộc vào một ngôn ngữ lập trình nào đó. Tuy nhiên, thì mình cũng nên lựa chọn một ngôn ngữ lập trình và đầu tư thời gian để phát triển sâu hơn, chứ đừng tham mà học nhiều nhưng lại chẳng chuyên sâu về cái gì cả. Ngôn ngữ lập trình có thể thay đổi, nhưng tư duy nền tảng của nó thì cũng gần như tương đương nhau, nên cũng không cần quá lo lắng.

Kỹ năng lập trình chính là yếu tố cốt lõi để bạn có thể xây dựng và giải quyết các bài toán trong atuomation project một cách hiệu quả.

Java và Selenium là cặp đôi được sử dụng rất phổ biến hiện nay, rất nhiều các tài liệu, diễn đàn hay các cuốn sách hướng dẫn đang sử dụng.

Để luyện tập và phát triển kỹ năng lập trình, hãy bắt đầu từ những script đơn giản trong và nâng cao dần độ khó, lặp lại nhiều nhiều và nhiều lần. Hoặc thực hành với một project nho nhỏ, bạn sẽ gặp được nhiều vấn đề hơn, đòi hỏi bạn phải giải quyết chúng, làm nhiều rồi đến khi bạn sẽ tích lũy được nhiều kinh nghiệm giải quyết các vấn đề.

automated-test-1

Sẽ có những lúc bạn sẽ gặp phải những vấn đề rất rối rem, bạn chẳng biết làm thế nào, lúc đó phải thật kiên trì và bình tĩnh, đào bới google và tìm đến sự giúp đỡ của một anh code nào đó, kiểu gì cũng phải xong. Đến lúc làm được rồi, mặc dù chỉ nhỏ thôi nhưng chắc chắn bạn sẽ biết được một cảm giác vô cùng phiêu!!!

Vì bản thân mình, cũng đã từng trải qua cảm giác như vậy cũng khá nhiều lần rồi. Cho đến lúc xong, nhiều lần mình còn tự trách dễ như thế mà làm ko ra được, hay tại sao lúc đấy mình lại làm như vậy được nhỉ?

Từ những lần ấy, bản thân bạn sẽ cảm thấy như được tiếp thêm động lực để cố gắng hơn nữa, làm nhiều hơn nữa. Không chỉ để test mà còn để tạo ra những thứ giúp bạn giảm các công việc tay chân của mình đi nữa cơ.

Hi vọng rằng đây cũng sẽ là động lực để bản thân mình khi gặp khó khăn có thể mạnh mẽ vượt quaaa. Hay có bạn nào mà muốn từ manual nhảy qua có thể xác định được tư tưởng để rồi phấn đấu.

automate

Bài viết dựa theo quan điểm cá nhân và ngẫu hứng, nếu có gì góp ý các bạn có thể để lại comment cho mình ở phía dưới nhé!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s