Bài viết được sự cho phép của tác giả Vân Anh
Bạn là một tester, mỗi lần có một bản build mới, ngày qua ngày bạn vẫn cặm cụi test đi test lại những case mà hết round này đến round khác mà bạn đã check mỏi cả tay. Mặc dù bản build lần này chỉ là fix một vài lỗi, nhưng mà bạn cũng không thể tự tin chắc chắn là cái việc fix lỗi này của đám dev nó không làm ảnh hưởng đến mấy chức năng đã chạy ngon lành ở round trước, do đó mà bạn cứ phải tay – mắt check lại những case đó. Rất tốn thời gian.
Hoặc là khi sản phẩm của mình cũng đến tầm giai đoạn mà release đến nơi rồi, bỗng dưng nhận được yêu cầu của khách hàng là thêm một ít chỗ này, hay bỏ một ít chỗ kia. Thế rồi khi xong công đoạn của Dev thì việc của bạn lại là test lại chỗ thêm,chỗ bớt đó có ảnh hưởng đến những cái đã ngon lành trước đó hay không, và rồi bạn lại cặm cụi test như những người nông dân chăm chỉ.
Không làm thế thì làm thế nào được?
Tất nhiên là có cách rồi, nhiều cách là đằng khác. Người ta à thực ra là người tây họ cũng gặp phải vấn đề như bạn thôi, thế rồi họ nghĩ ra cái cách mà đỡ tốn công sức ‘manual’ cho họ, đó là tạo ra một công cụ tự động làm cho họ công việc ấy. Nhưng mà lưu ý rằng, automate không thay thế hoàn toàn 100% manual được, nhưng nó sẽ giúp tiết kiệm được rất rất nhiều chi phí cho việc retest và regression test.
Có rất nhiều tool hỗ trợ automate testing, được phần đông cộng đồng tester biết đến như là Selenium, HP QTP/UFT, TestComplete, IBM Rational Functional Tester, Ranorex, Jmetter, SoapUI, Appium, … rất nhiều, chỉ với từ khóa đơn giản là ‘automation testing tools’ thì google sẽ tìm ra cho bạn cả lô xích xông các link, bạn tha hồ tìm hiểu, vấn đề của bạn chỉ là làm thế nào để dùng được nó thôi.
Tuy nhiên, các tool đều là các tool thương mại cả, và vì là tool thương mại nên chi phí bạn bỏ ra để sử dụng tool đó khá là đắt đỏ, nhưng đổi lại thì bạn sẽ được sử dụng một công cụ rất mạnh mẽ, thêm nữa là bạn sẽ luôn nhận được sự hỗ trợ nhiệt tình từ các supporter của nhà cung cấp.
Ngoài ra, nếu vấn đề ở mặt chi phí, thì yên tâm, hiện nay cũng có nhiều tool free để dùng, tính năng vẫn nhiều, cũng mạnh mẽ, cũng có các cộng đồng hỗ trợ rất đông đảo trên toàn cầu. Tiêu biểu như:
1. Selenium
Công cụ open source + free, ngoài việc bạn có thể lấy về để sử dụng thoải mái, thì bạn còn có thể đóng góp xây dựng để nó mạnh mẽ hơn nữa thông qua Official SeleniumHQ Github page . Selenium – công cụ hỗ trợ functional automation testing cho các ứng dụng web, bạn có thể execute script trên nhiều trình duyệt và các hệ điều hành khác nhau, Selenium tương thích với nhiều ngôn ngữ lập trình và các automation testing framework.
Với selenium, bạn có thể tạo ra các script để thực hiện kiểm thử tự động trên các trình duyệt, và trên các môi trường test khác nhau.
Cùng với đó, bạn cũng có thể tạo ra các sript với selenium, giải pháp hỗ trợ tuyệt vời cho bạn trong việc tái hiện các bug, thực hiện kiểm thử hồi quy (regression testing), và exploratory testing.
2. Jmetter
Jmetter là ứng dụng desktop được sử dụng nhiều trong kiểm thử hiệu năng ứng dụng web, đây cũng là một tool free cùng với sự hỗ trợ đông đảo từ cộng đồng người sử dụng. Về mặt giao diện người dùng, theo ý kiến chủ quan của mình thì nó thực sự có vẻ không được đẹp lắm nhưng lại khá là dễ sử dụng. Jmetter hỗ trợ nhiều loại ứng dụng, server và protocol như Web, SOAP, FTP, TCP, LDAP, SOAP, MOM, Mail Protocols, shell scripts, java objects, và cả database.
3. Appium
Appium là một test automation framework, được sử dụng nhiều trong kiểm thử ứng dụng mobile. Tất nhiên là trong list này thì nó cũng là một tool free.
Appium hỗ trợ automation cho các ứng dụng native, hybrid và mobile web – những ứng dụng được build trên cả iOS và Android. Appium được đánh giá công cụ khá dễ dàng cài đặt cũng như sử dụng, và được cho là một trong những tool tốt nhất cho mobile automation testing.
4. SoapUI
Cuối cùng thì có SoapUI, đây cũng là một tool open source, được sử dụng trong API testing cho cả SOAP và REST APIs. SoapUI cung cấp OAP Web Services functional testing, REST API functional testing, WSDL coverage, message assertion testing và test refactoring.
Chúng ta đều biết rằng tool hỗ trợ thì rất nhiều, tuy nhiên việc quan trọng ở đây là làm sao lựa chọn được cái nào đó phù hợp với project, có thể áp dụng và mang lại giá trị nhất định cho project đó.
Bản thân mình đã có thời gian được – tự học về mấy tool trên này, và mình cũng áp dụng vào project của mình rồi, chỉ có điều chưa official, thế rồi cũng để ngỏ vì mình chuyển qua công ty khác. Tuy vậy thì mình vẫn muốn lại dành thời gian để tìm hiểu sâu hơn về mảng này. Viết được auto cho website book vé online của trang https://www.airasia.com hay là trang mua hàng nào đó, kiểu kiểu như vậy.
Vì thế tiếp theo bài này sẽ là những kiến thức basic để có thể bắt đầu với automation testing với Selenium, Jmetter, SoapUI, và Appium. Đầu tiên thì là để tổng hợp lại kiến thức đã học được, sau là để ôn lại những ngày tháng mình đã bắt đầu làm quen với automation. Hi vọng, những bài học mà mình đã đi qua, có thể là những bài học sau này mình lại có thể cần đến, hoặc có thể giúp ích được cho ai đó đang tự bắt đầu như mình.
Bài viết gốc được đăng tải tại vananhtooo.wordpress.com
Có thể bạn quan tâm:
- CI CD là gì? Lợi ích sử dụng trong quy trình phát triển phần mềm
- Tester là gì? Lợi ích của Tester
- Định hướng nghề nghiệp – Trở thành Tester hay Developer?
Xem thêm Tuyển dụng automatic tester hấp dẫn trên TopDev