Trang chủ » TEST tự động là gì? Những điều bạn cần biết về nó.

TEST tự động là gì? Những điều bạn cần biết về nó.

Admin 12 Th10, 2021

Hiện nay ngày càng có nhiều ứng dụng cũng như phần mềm ra đời nhiều hơn, phức tạp hơn  khiến cho ngành kiểm thử càng trở nên vô cùng hot.

Để tránh việc bỏ sót các lỗi của phần mềm mà các tester phải thực hiện công việc một cách tỉ mỉ thậm chí là các nghiệp vụ lặp đi lặp lại, để có thể giảm thiểu công làm việc của con người cần có sự trợ giúp của các công cụ khác nhau. đó là sự ra đời của Test tự động. Vậy Test tự động là gì và ưu, nhược điểm của test tự động như thế nào?

Test tự động là gì?

Test tự động (Automation testing) là quá trình sử dụng các công cụ, script và phần mềm để thực hiện các trường hợp kiểm thử, bằng cách lặp lại những hành động được xác định trước để thực hiện các test case. 

TEST tự động là gì

TEST tự động là gì

Test tự động có thể hiểu đơn giản là thay vì test bằng tay, để máy thực hiện việc testing bao gồm các công việc như: (Khởi động hệ thống, nhập dữ liệu đầu vào, kiểm tra so sánh kết quả mong đợi với dữ liệu đầu ra và ghi kết quả, ra các báo cáo). 

Thông thường, người kiểm thử viết test script và test case bằng cách sử dụng công cụ tự động hóa và sau đó nhóm thành các test suite.

Các bước tiến hành Test tự động:

2.1 Lựa chọn công cụ kiểm thử:

Xác định được mục tiêu kiểm thử, loại kiểm thử để lựa chọn công cụ kiểm thử phù hợp. Khi lựa chọn công cụ để test bạn cần chú ý sau:

  • Nó có dễ dàng để phát triển và duy trì các script cho công cụ hay không?
  • Nó có hoạt động trên các nền tảng như web, điện thoại di động, máy tính để bàn, v.v… không?
  • Công cụ có chức năng báo cáo kiểm thử không?
  • Công cụ này có thể hỗ trợ bao nhiêu loại kiểm thử?
  • Công cụ hỗ trợ bao nhiêu ngôn ngữ?

2.2 Xác định phạm vi tự động hóa:

Bạn cần quyết định trường hợp kiểm thử nào sẽ tự động hóa dựa trên những điều sau:

  • Các tình huống có một lượng lớn dữ liệu
  • Những trường hợp thử nghiệm có chức năng chung trên các ứng dụng
  • Tính khả thi về kỹ thuật
  • Mức độ có thể sử dụng lại các thành phần của doanh nghiệp
  • Sự phức tạp của các trường hợp kiểm thử

2.3 Lập kế hoạch, thiết kế và phát triển:

Phát triển các trường hợp kiểm thử: Các bài kiểm tra tự động lớn, phức tạp luôn rất khó chỉnh sửa và gỡ lỗi. Tốt nhất nên chia các bài kiểm tra thành nhiều bài kiểm tra đơn giản, logic và nhỏ hơn.

Phát triển bộ kiểm thử: Bộ thử nghiệm đảm bảo rằng các trường hợp thử nghiệm tự động chạy lần lượt mà không cần bất kỳ sự can thiệp thủ công nào. Bây giờ, điều này có thể dễ dàng được thực hiện bằng cách tạo một bộ kiểm thử có nhiều trường hợp thử nghiệm, một thư viện và công cụ dòng lệnh chạy bộ kiểm thử.

2.4 Thực thi kiểm thử:

Các script tự động hóa được thực thi trong giai đoạn này. Ngoài ra, việc thực thi có thể được thực hiện bằng cách sử dụng công cụ tự động hóa trực tiếp hoặc thông qua công cụ quản lý kiểm thử sẽ gọi công cụ tự động hóa.

2.5 Bảo trì:

Khi các trường hợp kiểm thử được thực thi, bước tiếp theo là tạo báo cáo để ghi lại các hoạt động diễn ra trong quá trình kiểm thử. Khi các chức năng mới được thêm vào phần mềm mà bạn đang thử nghiệm với những chu kỳ liên tiếp, các script tự động hóa cần được thêm, xem xét và duy trì cho mỗi chu kỳ phát hành. Do đó, việc bảo trì trở nên cần thiết để nâng cao hiệu quả của tự động hóa.

Một số công cụ tối ưu nhất khi tiến hành test tự động:

Selenium

TestingWhiz

HPE Unified Functional Testing

TestComplete

Ranorex

Ranorex

Test Architect – (LogiGear)

Tosca Testsuite

Telerik Test Studio

Studio Katalon

Ưu nhược điểm của test tự động là gì?

Ưu nhược điểm của test tự động là gì

Ưu nhược điểm của test tự động là gì

4.1 Ưu điểm của Test tự động là:

 Đáng tin cậy: Công cụ kiểm thử tự động có sự ổn định cao vì hoạt động theo quy trình định sẵn, đặc biệt trong trường hợp nhiều test case tránh được nhiều trường hợp lỗi do con người tạo ra khi kiểm tra thủ công. Ví dụ như nhập sai dữ liệu.

Hạn chế hoạt động lặp: Đối với các trường hợp lặp đi lặp lại nhiều lần (cùng lúc) trên cùng script test mình có thể test cách phần mềm xử lý (tính năng/hiệu năng) khi gặp tình huống chạy lặp đi lặp lại nhiều lần. Đây còn gọi là performance/load testing.

Test mang tính toàn diện cao: Mình có thể tạo ra một bộ test để bao quát hết tất cả tính năng trong ứng dụng.

Tính năng tái sử dụng: Với automation test có thể tái sử dụng test trên nhiều phiên bản khác nhau của ứng dụng, nhiều môi trường khác nhau như: môi trường test, môi trường beta, môi trường production ngay cả khi có sự thay đổi giao diện. 

Tốc độ cao, tiết kiệm thời gian thực hiện test: Automation test giúp chạy test với tốc độ nhanh hơn ít nhất 10 lần so với tốc độ test thủ công. với một test case nếu test trong 3 môi trường test mất 3 tiếng thì chỉ cần viết một script test thì mỗi lần deploy lên môi trường mới, mình chỉ cần thay đổi URL là test tự chạy được mà chưa cần đến 30 phút.

Hiệu quả cao: Chất lượng và hiệu suất phần mềm tốt hơn bởi vì mình có thể chạy nhiều test trong thời gian ngắn hơn với ít resource nhất, ngoài ra thì còn lập trình nhiều test khó hơn để thu về những thông tin ẩn từ ứng dụng mà Manual Test không thể làm được.

Automation Testing Tools giúp chạy test nhanh hơn test bằng tay.

Chi phí thấp: chúng ta sẽ tiết kiệm được nhiều chi phí cho thời gian và nguồn nhân lực nếu áp dụng kiểm thử tự động đúng cách. Bởi vì nó thực hiện test nhanh hơn và cần ít con người tham gia vào quá trình kiểm thử hơn.

4.2 Nhược điểm của Automation Test là:

Khó mở rộng, khó bảo trì: Việc cập nhật hay chỉnh sửa yêu cầu nhiều công việc như debug, thay đổi dữ liệu đầu vào và cập nhật code mới trong cùng một dự án, để mở rộng phạm vi cho kiểm thử tự động khó hơn nhiều so với kiểm thử thủ công.

Khả năng bao phủ thấp: do khó mở rộng và đòi hỏi nhiều kỹ năng lập trình nên độ bao phủ của kiểm thử tự động thấp xét trên góc nhìn toàn dự án.

Nhiều tool có chi phí rất cao, ví dụ như commercial tool: HP Quick Test Pro.

Thời gian chuẩn bị nhiều: Để có thể áp dụng tốt đòi hỏi thời gian chuẩn bị dài hơn để thiết kế, cài đặt kỹ càng trước khi chạy dự án..

Yêu cầu về nhân lực: Automation Tester là công việc phức tạp, đòi hỏi kỹ năng cao và biết sử dụng các tool trong quá trình kiểm thử như phải biết code, phải viết được script, có kinh nghiệm về technical,… đồng nghĩa với mức lương phải trả cho Tester cao. Tuy nhiên nhân lực đảm bảo tốt automation tester còn ít và bị hạn chế.

Nhầm lẫn giữa Automation và Manual Test: Có những dự án không nên chạy Automation Test, nhưng nhiều Tester vẫn hiểu nhầm và chạy Automation Test, dẫn đến mất thời gian, resource, công sức. Ví dụ như khi test một chức năng quá phức tạp của một ứng dụng hoặc một GUI object thì phải chạy.

Mặc dù Test tự động vần còn một số những hạn chế nhưng đó là những hạn chế nhỏ và có thể khắc phục được đặc biệt trong thời đại công nghệ phát triển ngày càng đưa các công cụ, thiết bị để thay thế cho con người thì test tự động ngày càng trở nên phổ biến hơn vì vậy bạn cần học và tìm hiểu về test tự động là gì? các công cụ cũng như là quy trình kiểm thử tự động để phát triển hơn trong ngành tester.

Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone Icon Zalo