Automation Tool và các định nghĩa về nó – Phần 1

0
104
AUTOMATION TOOL VÀ CÁC ĐỊNH NGHĨA VỀ NÓ – PHẦN 1
AUTOMATION TOOL VÀ CÁC ĐỊNH NGHĨA VỀ NÓ – PHẦN 1

Trong thế giới Automation này, có rất nhiều khái niệm tồn tại xung quanh công việc hàng ngày của chúng ta, nhưng liệu rằng chúng ta đã hết tất cả khái niệm đó không. Ngày hôm nay, hãy để DTHShare chia sẻ cho các bạn tất tần tật về Automation Tool, Automation Framework và những khái niệm khác nhé.

 

AUTOMATION TOOL VÀ CÁC ĐỊNH NGHĨA VỀ NÓ – PHẦN 1
AUTOMATION TOOL VÀ CÁC ĐỊNH NGHĨA VỀ NÓ – PHẦN 1

 

I. Software Development Approach là gì?

Software Development Approach là những cách thức được đưa vào quá trình phát triển phần mềm và được sử dụng xuyên suốt bởi các thành viên trong team, với mục đích giúp cho việc giao tiếp công việc trong team trở nên dễ dàng hơn.

Test-Driven Development (TDD)

TDD là một quy trình phát triển phần mềm được dựa trên việc sử dụng các yêu cầu phần mềm (software requirement) được defined từ trước và từ đó tạo nên những test case trước khi mà Phần mềm  được đưa lên môi trường UAT hoặc Staging.

Behavior-Driven Development (BDD)

BDD là cách ứng dụng quá trí phát triển phần mềm mà cho phép các Test Engineer/BA/PM có thể tạo ra được các test case (kể cả automation và manual test case) với ngôn ngữ tự nhiên chứ không dùng đến ngôn ngữ lập trình hoặc scripting.

 

II. Automation Tool là gì?

Có rất nhiều định nghĩa về phần Automation Tool, nhưng hôm nay, team mình sẽ đưa đến các bạn đinh nghĩa tốt nhất có thể:

Automation Tool là một phần mềm được dùng để giúp đỡ mọi người (cụ thể là: QA/QC/Tester) trong công việc tự động hóa công việc kiểm thử của họ, điều mà sau này sẽ giúp họ chạy các công việc mà không cần đến sự tác động của nhân lực (tối đa nhất có thể)

Rất nhiều Automation Tool trên thế giới đã được tạo ra nhầm mục đích giúp đỡ các anh em Tester chúng ta, như là: Selenium, Katalon và nhiều hơn nữa

 

Selenium

Selenium từ trước giờ đã được xem như một huyền thoại trong ngành công nghiệp Automation Testing này, nó là một (open-source) automated testing framework miễn phí dùng để kiểm định các web applications suốt các browsers và platforms khác nhau. Chúng ta có thể sử dụng nhiểu loại ngôn ngữ lập trình khác nhau để sử dụng Selenium như JAVA, C#, Python,.. để tạo nên Selenium Test Scripts

Và tất nhiên rằng, Selenium cũng cung cấp cho chúng ta một IDE để có thể làm việc với nó.

Link: https://www.selenium.dev

Katalon Studio

AUTOMATION TOOL, AUTOMATION FRAMEWORK AND MORE – PART 1

Katalon Studio là một robust automation solution dành cho kiểm thử ở WEB, API, Mobile và cả desktop. Nó được kết nối với hầu hết các công cụ cần thiết hiện tại bởi những builit-in keywords và project template bên trong một automation framework hoàn chỉnh.

Katalon Studio rất dễ sử dụng cho người mới tiếp cận với lập trình và kể cả là với automation, tuy vậy nó có rất nhiều những component mà dân chuyên có thể khai thác và phát triển.

Link: https://www.katalon.com

Cucumber

Cucumber là một công cụ dựa trên Behavior Driven Development (BDD) framework với mục tiêu được sử dụng để viết các Acceptance Test dành cho web application. Nó cho phép mình automate những function dùng để tương tác với browser (action and assertion) một cách dễ đọc và dễ hiểu nhất có thể, bởi chúng dùng ngôn ngữ tự nhiên.

Link: https://cucumber.io

 

III. Automation Framework

Framework là một khái niệm với độ phức tạp cao hơn cả Automation Tool, do đó, DTH Share chúng mình sẽ mang cho bạn một khái niệm đơn giản nhất, nhưng cũng gần đúng nhất về Automation Framework:

Automation Framework chính là những gì bạn làm với Automation để tạo nên Test Case và Report theo một tiêu chuẩn nhất định

Có rất nhiều dạng Automation Framework được các bạn QA/QC/Tester sử dụng:

Linear Scripting

Linear Scripting còn được biết với cái tên “Record & Playback”. Theo những gì chúng mình biết, Record & Playback sẽ là công cụ đầu tiên mà các bạn mới tiếp cận Automation Testing sẽ gặp.

Các Tester/User sẽ record lại từng hành động của mình trên website và lưu lại với các step (action), và cũng có thể mark các checkponit (assertion) để verify pass/failed ở đấy, nhờ 2 khái niệm đó, mà Linear Scripting sẽ tạo ra Automation Test Case.

The Test Library Architecture Framework

Framework này được xem như dạng nâng cấp của Linear Scripting, sau khi record thành công, vì tồn tại riêng lẻ với nhau, nên các step sẽ được collect lại thành các function, và được sử dụng sau này thành. The Test Library Architecture Framework còn được xem là “Structured Scripting”.

The Data-Driven Testing Framework

Trong framework này, người sử dụng chúng sẽ dùng các loại dữ liệu bên ngoài cho cả action và assertion. Dữ liệu sẽ được giữ ở file CSV/Excel/… và được đọc vào bằng một số function nhất định để gán vào các biến trong Test Script.

Phần Test Script có thể sử dụng bằng Linear Scripting hoặc The Test Library Architecture Framework tùy ý.

The Keyword-Driven or Table-Driven Testing Framework

Keyword-Driven Framework là cách mà từng dùng những keyword (những function được define để thực hiện các action hoặc assertion trên website) được định nghĩa bởi các người dùng framework nhưng không thông qua Record.

Những keyword này sẽ được gọi trực tiếp trong Test Script (Test Case).

The Hybrid Test Automation Framework

Framework dường như được xem là Framework tốt nhất để sử dụng, vì nó được kết hợp giữa 2 framework lớn là Data-Driven Testing Framework (được dùng để quản lý testing data) và Keyword-Driven Framework (được dùng để quản lý các action và assertion function).

 

IV. Testing Framework (Unit Test Framework)

Khi ta đã có trong tay, một Automation Tool và Automation Framework thì bạn vẫn còn cần một công cụ nữa (đôi khi công cụ này đã được built-in trong Automation Tool, nhưng mình vẫn mong muốn các bạn biết về nó).

Testing Framwork, hay Assertion Framework hoặc là Unit Test Framework được dùng để xác định Test Case đó sẽ là pass hay fail cụ thể ở step nào. Có rất nhiều Testing Framework, như: JUnit (Java), CUnit (C#), Mocha/Jasmine (Javascript)

 

Có rất nhiều định nghĩa nữa còn tồn tại trong thế giới Automation này. và cũng như còn rất nhiều Automation Tool chưa được giới thiệu trong bài post này. Hãy cùng đồng hành với DTH Share với các bài kế tiếp để đi sâu hơn vào thế giới Automation. Xin cảm ơn các bạn đã theo dõi bài viết này.

LEAVE A REPLY

Please enter your comment!
Please enter your name here