So sánh Katalon Studio và Selenium

Nhiều bạn hỏi An về Katalon Studio và Selenium thì nên chọn thằng nào để làm automation test. Yeah nay An viết bài blog này so sánh một số điểm chính giữa Katalon Studio và Selenium để các bạn mới học mới tìm hiểu lựa chọn dể hình dung hơn.

So sánh các điểm chính của Katalon Studio và Selenium

 

Những điểm chính

Katalon

Selenium

Bản chất

Công cụ tích hợp thư viện Selenium và Appium

Thư viện để tích hợp (Katalon dùng)

Khả năng tùy biến

Giới hạn theo sản phẩm và chi phí

Tùy ý mở rộng với các ngôn ngữ lập trình và nền tảng của hệ thống công ty.

Nền tảng

Đa nền tảng

Đa nền tảng

Ứng dụng

Windows desktop, Web apps, Mobile apps, API/Web service

Web apps

Ngôn ngữ lập trình

Java/Groovy

Java, C#, Python, JavaScript, Ruby, PHP, Perl, VBA

Kỹ năng lập trình

Không yêu cầu. Đối với các kịch bản nâng cao mới yêu cầu có kỹ năng lập trình

Cần có kỹ năng lập trình ở mức nâng cao để tích hợp các công cụ khác nhau

Thời gian tạo test script

Nhanh

Chậm

Cài đặt và sử dụng

Dễ dàng cài đặt và chạy

Yêu cầu cài đặt và tích hợp các công cụ khác nhau (môi trường, IDE,…)

Test hình ảnh

Hỗ trợ tích hợp

Yêu cầu cài đặt thêm thư viện bổ sung

Tích hợp DevOps / ALM

Không (yêu cầu thư viện bổ sung)

CI (tích hợp hệ thống liên tục)

Các công cụ CI (ví dụ: Jenkins, Teamcity)

Các công cụ CI (ví dụ: Jenkins, Cruise Control)

Phân tích kết quả kiểm tra

Katalon TestOps

Không (phải dùng thư viện report riêng)

Hỗ trợ sản phẩm

Cộng đồng, dịch vụ hỗ trợ doanh nghiệp

Cộng đồng nguồn mở

Kiểu giấy phép

Mất phí

Nguồn mở (Apache 2.0)

Giá cả

Katalon Studio có bản miễn phí và trả phí.

Bản tính phí là Enterprise

Miễn phí

 

Chú ý: Bảng so sánh ở trên chủ yếu tập trung vào các tính năng phổ biến của một công cụ kiểm tra tự động.

 

Ưu nhược điểm của Katalon Studio và Selenium

 

Katalon Studio


  • Điểm mạnh:
    • Không yêu cầu license (Free và Fee) và bảo trì (có sẵn các dịch vụ hỗ trợ chuyên dụng có trả tiền nếu cần).
    • Tích hợp các framework và tính năng cần thiết để tạo và thực hiện các trường hợp thử nghiệm nhanh. (tạo test case và lấy object nhanh)
    • Được xây dựng dựa trên thư viện Selenium và Appium nhưng đã lược bỏ yêu cầu kỹ năng lập trình nâng cao cần thiết cho Selenium. (viết các hàm xử lý sẵn nhiều rồi, kéo thả gọi dùng thôi)
  • Hạn chế:
    • Công cụ mới nổi với một cộng đồng phát triển nhanh chóng cũng còn hạn chế các vấn đề phát sinh.
    • Các tính năng vẫn đang phát triển, chưa đủ đáp ứng hết mọi vấn đề auto và xây dựng khung sườn cho hệ thống cá nhân.
    • Là công cụ xây dựng theo cá nhân tổ chức (KMS Company) nên khi sử dụng muốn phát triển nhiều hơn và tích hợp nhiều nền tảng khác nhau theo ý riêng của công ty chúng ta thì nó lại hơi khó khăn về mặt mở rộng, phát triển lâu dài. Nó mà tính phí hết thì toang. Nhưng khi dùng lâu mới thấy là nó toàn tính phí các dịch vụ tính năng chính khi mà chúng ta cần để build một framework tích hợp nhiều bên khác. (CI, Report,…)
    • Ngôn ngữ kịch bản hạn chế: chỉ hỗ trợ cho Java/Groovy


Selenium


  • Điểm mạnh:
    • Mã nguồn mở, không mất phí license và bảo trì.
    • Cộng đồng người dùng và phát triển lớn và tích cực để theo kịp các công nghệ phần mềm.
    • Tích hợp được vào các công cụ và framework khác nhau để phát triển, tăng cường khả năng của nó. Sẽ có lợi cho công ty tổ chức hay cá nhân muốn xây dựng khung sườn (framework) để phát triển mở rộng dài lâu an toàn ổn định.
    • Kết hợp được với nhiều ngôn ngữ lập trình phổ biến. (Java, C#, Python, Ruby, PHP, Javascript,...)
  • Hạn chế:
    • Người dùng (Tester) cần có kỹ năng và kinh nghiệm lập trình tốt để thiết lập và tích hợp Selenium với các công cụ và framework khác.
    • Cái khâu lấy Locators (object web/app) hơi lâu nên vì thế hãy xây dựng thêm công cụ hỗ trợ lấy locators rồi đẩy nó vào project của mình cho nhanh hơn thì sẽ khắc phục được phần lớn nhược điểm khi xây dựng tay.
    • Mất thời gian thiết lập và tích hợp các framework khác khi build dự án mới.
    • Hỗ trợ chậm từ cộng đồng (nhưng nó cũng kohông phải là vấn đề chính. Vì hiện tại đã có những version ổn định và nhiều công ty lớn dùng để tích hợp vào rồi)

 

Góp ý của An:

- Nếu bạn mới học automation test và lựa chọn để học sau này đi phỏng vấn xin việc thì nên học Selenium Java. Vì sao? Vì Selenium là thư viện nền tảng hỗ trợ cơ bản nhất để automation test trên website. Nó rất dễ học. Bạn kết hợp nó với một ngôn ngữ lập trình như Java thì quá ok cho bạn và phù hợp để apply vào các công ty tại Việt Nam. Các công ty tuyển Automation Test đa phần yêu cầu nắm Selenium. Và nếu bạn muốn phát triển nó lên thành Framework riêng cho công ty thì rất phù hợp. Vì nó được tạo nên do chính tay bạn build từng chút một cơ mà.

Và một cái hay nữa là khi bạn học Selenium Java thì bạn sẽ nắm được cách viết script của Katalon Studio luôn. Vì Katalon Studio đang dùng ngôn ngữ nền tảng là Java và Groove. Rất tiện lợi một công đôi chuyện.

- Nếu bạn đã có chút kinh nghiệm về code Java rồi hay một ngôn ngữ nào đó rồi và dùng automation test với mục đích nhanh chống tiếp ứng các dự án công ty trong thời gian ngắn chẳng hạn Outsource có sự thay đổi nhiều thì nên chọn Katalon Studio. Vì nó đáp ứng nhu cầu nhanh gọn lẹ và không cần hiểu sâu về code. Còn nếu để phát triển nền tảng Framework trong công ty để automation test thì không nên chọn. Như An đã so sánh ở trên. Tốn phí cao và muốn mở rộng cũng bị giới hạn. Nó do người ta build chứ không phải chính tay bạn build.

Katalon hiện đang phát triển khá mạnh với các sản phẩm kết hợp như Katalon Studio Enterprise, Katalon Runtime Engine, Katalon TestOps bộ ba này hắn kết hợp với nhau thì khá hoàn thiện và mạnh mẽ để CICD dự án automation test. Tức nhiên chi phí dự tính một năm An tính sơ là hơn 3000$. Nếu doanh nghiệp có tiền chịu đầu tư với sự làm sẵn chỉ dùng thôi thì chọn Katalon Studio.

Còn nếu dùng bản Free của nó thì phải chịu một điều là làm để chạy đi chạy lại bằng tay chứ không CICD được đâu nhen. An thì thấy nếu dự án nhỏ nhỏ vừa vừa cứ dùng bản free là chơi cũng đủ rồi. Tiền nào của náy cơ mà. Cũng cảm ơn KMS đã tạo ra sản phẩm Katalon Studio tuyệt vời này. An rất thích nó ở điểm tạo test case rất nhanh. Record object web đỉnh luôn. Chỉ cần vào sửa tay lại sơ vài cái cho mướt là xong. Còn về các tính năng hàm xử lý hầu như ok hết.

Bạn học thêm một chút Java và Selenium thì viết các Keyword trong đó để xử lý tùy biến ok luôn.Keyword là các class để viết các hàm xử lý thủ công custom lại á mà. Nó bổ trợ cho các chổ cần xử lý thủ công theo ý chứ hàm sẵn sao verify hết nổi các yêu cầu của các bạn. 9 người mà 10 ý thì chịu rồi. Cái nào mà đáp ứng hết cho nổi ahahaa.

Yeah cuối lời An chúc mọi người chọn được sản phẩm hợp với ý mình để xây dựng dự án automation test cho phù hợp thuận tiện ngon lành nhé !!!

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu