12/08/2018, 14:56

Automation testing - Những điều cần biết

Ngày nay, kiểm thử tự động là một kỹ thuật gần như bắt buộc khi chúng ta phát triển một sản phẩm phần mềm, mà ở đó tính linh hoạt, nhanh chóng đáp ứng nhu cầu của thị trường là một yêu cầu cấp bách và cần thiết. Và cũng như bất kỳ một kỹ thuật nào, trước khi ứng dụng nó vào thực tế sản phẩm hay dự ...

Ngày nay, kiểm thử tự động là một kỹ thuật gần như bắt buộc khi chúng ta phát triển một sản phẩm phần mềm, mà ở đó tính linh hoạt, nhanh chóng đáp ứng nhu cầu của thị trường là một yêu cầu cấp bách và cần thiết. Và cũng như bất kỳ một kỹ thuật nào, trước khi ứng dụng nó vào thực tế sản phẩm hay dự án, chúng ta cần biết rõ lúc nào nên dùng, lúc nào không nên dùng cũng như lợi ích hay rủi ro mà nó màng lại để có thể sử dụng kỹ thuật một cách tối ưu nhất.

Kiểm thử hồi qui (Regression Testing): Ngày nay, càng lúc càng nhiều công ty IT ứng dụng Agile vào việc phát triển phần mềm. Trong mô hình agile này, phần mềm sẽ được đưa ra thị trường liên tục và phần mềm sẽ liên tục nâng cao. Mô hình này cũng cho phép nhanh chóng lấy và trả lời các phản hồi của người dùng. Điều này sẽ làm giảm thời gian dành cho việc kiểm thử hồi qui (trong mô hình thác nước), và ngụ ý rằng kiểm thử tự động là một cách để có thể tiến hành kiểm thử hồi qui. Thực tế cho thấy, việc kiểm thử thủ công là không khả thi cho mô hình Agile. Nếu tiến hành kiểm thử hồi qui theo hướng thủ công, việc đưa sản phẩm ra thị trường và thu nhận các phản hồi của khách hàng có thể bị chậm lại. Và, kết quả là, nhóm phát triển sẽ nhận báo cáo lỗi chậm hơn, và sữa lỗi cũng sẽ chậm hơn.

Kiểm thử độ chịu tải của hệ thống (Load Testing): Trường hợp này thì chúng ta thấy hiển nhiên là sử dụng kiểm thử tự động sẽ tốt hơn thủ công. Việc thiết lập một lúc với một số lượng lớn người dùng truy cập vào hệ thống bằng thủ công là việc làm vô ích và tốn kém.

***Kịch bản chạy nhiều lần với nhiều bộ dữ liệu, điều kiện và môi trường khác nhau.***Thật là khó nếu chúng ta yêu cầu một kỹ sư kiểm thử thực thi một kịch bản vài chục đến vài trăm lần, chỉ khác nhau mỗi dữ liệu, điều kiện hay môi trường, phải không?

Kịch bản kiểm thử tốn quá nhiều thời gian và dễ bị lỗi của tester. Kỹ sư kiểm thử cũng là con người, vì vậy việc có sai lầm là không thể tránh khỏi. Việc thực thi một kịch bản trong một thời gian dài có thể gây ra mỏi mệt, và dễ xảy ra lỗi. Kiểm thử tự động sẽ hạn chế được điều này.

Việc kiểm thử chỉ xảy ra một lần. Để tự động hóa một kịch bản kiểm thử, chúng ta thường mất từ 4 đến 8 lần thời gian của việc kiểm thử thủ công. Nếu lợi nhuận của việc tự động hóa không được từ 4 lần trở lên, chúng ta nên xem xét việc có nên tự động hóa việc kiểm thử hay không.

Kiểm thử tiện dụng (Usability testing). Nói về tính tiện dụng là nói về cảm giác của người dùng. Máy móc hiện nay về cơ bản là không thể giả lập được cảm giác của người dùng đối với ứng dụng phần mềm.

Kiểm thử mở rộng (Exploratory Testing). Nếu chúng ta chưa biết được kết quả mong muốn khi làm việc với hệ thống, làm sao máy móc có thể biết được.

Giảm thiểu thời gian và chi phí

Làm cho việc kiểm thử mở rộng và đầy đủ. Các kịch bản dài, tẻ nhạt đối với kỹ sư kiểm thử có thể được làm một cách liên tục và chính xác. Và, với việc báo cáo từ các công cụ kiểm thử tự động, chúng ta có thể hoàn toàn chắc chắn là không có một kết quả kiểm thử nào bị bỏ sót, cũng như không có kịch bản nào không được thực thi.

Tăng cường độ chính xác của việc kiểm thử. Việc để cho máy thực thi việc kiểm thử sẽ giúp chúng ta bỏ qua các lỗi mà kỹ sư kiểm thử mắc phải khi làm việc với áp lực thời gian, cũng như với các vấn đề của cuộc sống.

Tăng độ bao phủ của việc kiểm thử.

Trước khi tiến hành mua và làm việc với công cụ kiểm thử tự động, chúng ta cần phải đảm bảo rằng nhân sự chúng ta đủ khả năng sử dụng công cụ, và sử dụng công cụ hiệu quả.

Bên cạnh các chi phí thiết lập công cụ, chúng ta cũng cần tính toán đến các chi phí hỗ trợ, cơ sở hạ tầng và đào tạo. Do đó, trước khi quyết định sử dụng một công cụ nào, cần phải đảm bảo rằng nó sẽ mang lại lợi ích nhiều hơn các chi phí bỏ ra.

0