Viblo Learning
0

Vì sao cần kiểm thử tự động ?

Hiện nay, kiểm thử phần mềm đang là một ngành đang rất phát triển và với tốc độ ngày càng cao. Mặc dù kiểm thử thủ công giúp tìm thấy lỗi, tuy nhiên nó có thể tốn nhiều thời gian và công sức. Vì vậy, một kiến thức tốt về các công cụ kiểm thử tự động sẽ giúp bạn kiểm thử các ứng dụng nhanh hơn và đáng tin cậy hơn. Trong bài viết này mình sẽ đề cập tới vấn đề: " Vì sao cần kiểm thử tự động ? "

1. Kiểm thử tự động là gì ?

  • Kiểm thử tự động có nghĩa là sử dụng một công cụ tự động hóa để thực thi các test case thay cho con người.
  • Công cụ kiểm thử tự động có thể lấy dữ liệu từ file bên ngoài (excel, csv, …) nhập vào ứng dụng, so sánh kết quả mong đợi (từ excel, csv) với kết quả thực tế và xuất ra báo cáo kết quả kiểm thử.

2. Tại sao phải kiểm thử tự động ?

  • Giúp tiết kiệm tiền bạc và thời gian: nhất là trong giai đoạn bảo trì của các dự án lớn. Mỗi tuần chúng ta phải thực hiện regression test từ 1 đến 2 lần với số lượng test case rất lớn trong 1 đến 2 ngày. ĐIều này gần như không thể thực hiện bằng cách thủ công, trong khi với kiểm thử tự động chúng ta hoàn toàn có thể với nguồn nhân lực vô cùng khiêm tốn.
  • Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động có thể thực thi các test case với độ chính xác cao hơn.
  • Độ bao phủ cao: Như đã nói ở trên, khi sử dụng kiểm thử tự động, chúng ta có thể thực thi số lượng lớn test case trong một thời gian ngắn. Nên độ bao phủ của nó rất cao. Điều này giúp chúng ta tăng độ bao phủ trong giai đoạn regression test .
  • Hoàn thành các công việc mà con người không thể làm được: Nếu chúng ta muốn thực thi load test, performance test, thì kiểm thử tự động là cách duy nhất.

3. Ưu / Nhược điểm của kiểm thử tự động

3.1 Ưu điểm

  • Độ tin cậy cao (Reliability)
  • Khả năng lặp (Repeatability): nếu bạn thực thi bằng kiểm thử tự động, chỉ cần nhập dữ liệu vào file excel ( or csv, …) cho script chạy và đợi cho tới khi nhận được báo cáo. Với độ ổn định cao, bạn hoàn toàn có thể tin tưởng vào kết quả thực thi của công cụ kiểm thử tự động.
  • Khả năng tái sử dụng (Reusability): Với một bộ kiểm thử tự động, chúng ta có thể sử dụng cho nhiều phiển bản ứng dụng khác nhau.
  • Nhanh (Fast): nếu cần 5 phút để thực thi một test case cách thủ công, có thể bạn cần chưa đầy 30s để thực thi cách tự động.
  • Chi phí thấp (Cost Reduction): Nếu áp dụng kiểm thử tự động đúng cách, chúng ta có thể tiết kiệm được rất nhiều chi phí, thời gian và nhân lực.

3.2 Nhược điểm

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

  • Vấn đề công cụ và nhân lực (Technology vs. people issues): Cho đến nay công cụ hỗ trợ kiểm thử tự động đã có những bước phát triển mạnh mẽ, chúng ta có các công cụ rất tốt như QTP, Selenium, Test Complete, LoadTest, Jmeter, Visual Studio, … Nhưng nhìn chung vẫn còn rất nhiều mặt hạn chế. Ngoài ra nguồn nhân lực đạt yêu cầu cũng không nhiều.

4. Sử dụng kiểm thử tự động khi nào ?

  • Lý do thường xuyên nhất dẫn đến quyết định sử dụng kiểm thử tự động là thường xuyên phải thực thi regression test. Từ khi Dev đưa ra bản build mới cho tới khi phiên bản mới tới tay khách hàng chỉ từ 1 đến 2 ngày. Trong thời gian ngắn ngủi này, regression test sẽ được thực thi, nghĩa là một số lượng test case lớn phải được thực thi trong một khoảng thời gian ngắn. Đây là lúc lý tưởng để sử dụng kiểm thử tự động.

  • Xây dựng một bộ kiểm thử tự động cho những function chính, để thực thi smoke test mỗi khi có build mới cũng là một ý tưởng hay. Đây là công việc rất thường xuyên trước khi thực hiện regression test.
  • Khi chúng ta muốn thực thi performance test hay load test, kiểm thử tự động gần như là lựa chọn duy nhất.
  • Khi số lượng đầu vào của 1 test case quá nhiều (như ví dụ 50 bộ dữ liệu test), chúng ta cũng nên xem xét khả năng thực hiện kiểm thử tự động. Các loại công cụ kiểm thử bao gồm: các công cụ sửa lỗi, các công cụ để báo cáo, công cụ để đo hiệu năng phần mềm. Các thành phần của kiểm thử tự động: Kế hoạch kiểm thử, kịch bản kiểm thử, Script kiểm thử.

Tài liệu tham khảo:

https://www.guru99.com/automation-testing.html https://viblo.asia/p/automation-testing-nhung-dieu-can-biet-oOVlYEvrl8W


All Rights Reserved