Câu hỏi nên hỏi khi lựa chọn công cụ kiểm thử tự động

Theo Mohammad Saad

Lựa chọn công cụ cho kiểm thử phần mềm là một bước quan trọng trước khi bắt đầu kiểm thử tự động trong bất kỳ dự án/công ty nào. Nó quan trong vì một công cụ sẽ ảnh hưởng rất lớn đến công sức tự động hóa kiểm thử. Nếu một công cụ tốt và cho chúng ta tất cả những chức năng mà chúng ta cần, việc tự động hóa sẽ trở nên dễ dàng và hiệu quả.

Có nhiều thứ cần xem xét khi lựa chọn công cụ kiểm thử tự động. Vài yếu tố đã được nói đến trong bài trước. Ở đây, mình chỉ liệt kê những nhân tố quan trọng nhất để xem xét khi lựa chọn công cụ kiểm thử tự động.

Hãy hỏi những câu hỏi sau bất kỳ khi nào cần lựa chọn công cụ kiểm thử tự động cho dự án của bạn.

10 câu hỏi nên hỏi khi lựa chọn công cụ kiểm thử tự động phù hợp nhất

Câu hỏi 1: Chi phí dự định cho công cụ kiểm thử động là như thế nào?

Đây là thứ quan trọng nhất khi xem xét lựa chọn công cụ kiểm thử tự động.

Tại sao phải tìm hiểu và nghiên cứu QTP/UFT khi chúng ta không đủ tiền để mua giấy phép (license)? Chi phí cho QPT là khoảng 8000 USD. Nếu công ty có thể mua được giấy phép, và chúng có được sự xác nhận từ công ty, vậy thì chúng ta có thể tải về phiên bản thử nghiệm và tạo một dự án giả để kiểm tra các chức năng của nó. Mặt khác, chúng ta không nên bỏ thời gian để nghiên cứu nó. Ở đây là nói về khía cạnh chúng ta sử dụng QTP cho dự án thực tế của công ty. Nếu chỉ để học tập, việc tải phiên bản thử nghiệm là bình thường.

Câu hỏi 2: Giá thực tế của công cụ?

Vấn đề tiếp theo là giá thực tế của công cụ kiểm thử tự động. Đó không chỉ là giá của giấy phép, mà còn là chi phí cho những chức năng kèm theo, phí hỗ trợ, phí đào tạo và phí nâng cấp.

Chúng ta nói về phí giấy phép trước.

Loại giấy phép:

Những loại giấy phép phổ biến:
  • Giấy phép sử dụng khóa nút: sẽ hỗ trợ công cụ kiểm thử tự động để dùng trên một máy tính vật lý xác định trong mạng máy tính công ty. Chúng ta chỉ có thể thực thi chương trình trên máy tính có giấy phép tại một thời điểm. Giấy phép này thường gắn chung với tên của máy tính.
  • Giấy phép người dùng song song: có thể chia sẽ giữa nhiều máy khác nhau, nhưng chỉ có thể thực thi trên một máy tại một thời điểm. Nó không bị gắn chặt với tên của máy tính hay một cái gì khác, thay vào đó, nó sử dụng một hệ thống quản lý giấy phép (cài đặt ở một máy chủ) để quản lý giấy phép giữa các máy tính khác nhau.

Cơ bản, với giấy phép sử dụng khóa nút, chúng ta không tự do cài đặt công cụ trên một máy, tháo nó ra và cài đặt lại ở một máy khác. Nhưng với giấy phép người dùng song song, chúng ta có thể làm điều đó.

  • Giấy phép thực thi. Hai loại giấy phép trên thường được mua để “phát triển” mã kiểm thử. Vậy nên nó là giấy phép “phát triển”. Để thực thi mã kiểm thử trên những máy khác, chúng ta cần có giấy phép thực thi trên mỗi máy.

Ví dụ: nếu một kỹ sư kiểm thử cần phát triển và thực thi kịch bản kiểm thử trên cùng một máy, một giấy phép phát triển là đủ. Nhưng nếu anh ta cần viết mã kiểm thử trên một máy và thực thi chúng trên ba máy (thực hoặc ảo) khác, anh ta sẽ cần mua một giấy phép phát triển và ba giấy phép thực thi.

Vài nhà cung cấp đưa ra các giấy phép thực thi miễn phí (như Coded UI) và những nhà cung cấp khác đề nghị với một cái giá (như Test Complete, Ranorex). Vậy nên nó sẽ phụ thuộc vào nhà cung cấp công cụ.

  • Giấy phép mã nguồn mở. Công ty toàn quyền quyết định để mua và sử dụng một công cụ thương mại hoặc dùng một công cụ mã nguồn mở. Công cụ thương mại thì mắc, nhưng họ có những hỗ trợ tuyệt vời và dễ dàng sử dụng công cụ với nhiều khóa đào tạo. Công cụ thương mại thường là “tất cả trong một”. Công cụ mã nguồn mở thì miễn phí, nhưng thường khó học để sử dụng. Có rất ít sự hỗ trợ chính thức từ nhà cung cấp, nhưng chúng ta có thể tìm sự trợ giúp/giải pháp từ các diễn dàn cộng đồng. Giải pháp mã nguồn mở thường hỗ trợ cho các mục tiêu cụ thể.

Phí hỗ trợ, nâng cấp và đào tạo

Về chi phí hỗ trợ, đào tạo và nâng cấp, chúng ta cần phải liên lạc với đại diện nhà cung cấp. Vài công ty đưa ra giảm giá đặc biệt cho đơn hàng số lượng lớn, và đôi khi những thông tin đó không được đề cập đến trên trang chủ. Chúng ta chỉ có thể có thông tin khi liên lạc trực tiếp, bằng điện thoại hay thư điện tử.

Câu hỏi 3: Công cụ có hỗ trợ hệ điều hành/trình duyệt hay thiết bị mà ứng dụng của chúng ta thực thi?

Câu hỏi này phụ thuộc vào loại ứng dụng mà chúng ta đang kiểm thử.

  1. Nếu là ứng dụng Desktop: Nếu chúng ta làm việc với ứng dụng Desktop, chúng ta nên ghi rõ bao nhiêu hệ điều hành được kiểm thử. Ví dụ như, tôi muốn kiểm thử ứng dụng với Windows 7 và Windows 8,1, vậy nên tôi chọn Coded UI, vì nó hỗ trợ cả hai.
  2. Nếu là ứng dụng Web: Nếu chúng ta làm việc với ứng dụng Web, chúng ta nên liệt kê những trình duyệt nào được hỗ trợ. Ví dụ như, tôi muốn ứng dụng của tôi thực thi trên Firefox, Chrome va IE, vậy nên tôi chọn Selenium làm công cụ kiểm thử vì nó hỗ trợ cho những trình duyện này. Hãy đảm bảo rằng công cụ chúng ta lựa chọn hỗ trợ những phiên bản cũ và mới nhất của từng trình duyệt.
  3. Nếu là ứng dụng di động: Nếu chúng ta làm việc với ứng dụng di động, chúng ta nên biết các hệ điều hành di động chúng ta cần làm kiểm thử trên đó. Nếu ứng dụng có thể thực thi trên cả Androidvà iOS, công cụ được lựa chọn cần phải hỗ trợ điều đó. Selenium có những hỗ trợ để thực thi mã kiểm thử trên Android, iOS, Windows Phone và  Hoặc chúng ta có thể dùng những công cụ khác nhau cho những hệ điều hành khác nhau. Trên thị trường, có Robotium cho Android, Appium cho iOS và Android hay CodedUI cho Windows Phone.

Như chúng ta thấy có những công cụ mã nguồn mở riêng biệt để kiểm thử ứng dụng web, di động hay Desktop. Nhưng nếu lựa chọn của chúng ta là công cụ thương mại, như TestComplete, Ranorex hay Test Studio, chúng ta có thể kiểm thử cả ba loại ứng dụng với một công cụ. Vậy nên, với công cụ thương mại, chúng ta chỉ cần học một công cụ duy nhất.

Câu hỏi 4: Công cụ có hỗ trợ công nghệ hay các đối tượng UI của bên thứ ba trong ứng dụng cần kiểm thử?

Đây là một nhân tố quan trọng khi lựa chọn công cụ kiểm thử tự động. Chúng ta nên biết về những công nghệ dùng trong ứng dụng cần kiểm thử, tư vấn cho kỹ sư phát triển và ghi chú lại. Nếu kỹ sư phát triển dùng HTML5 hay SilverLight trong ứng dụng, hãy cẩn thận, hiện không nhiếu công cụ có thể hỗ trợ công nghệ này. Nếu công cụ kiểm thử được cho là hỗ trợ những công nghệ này, hãy tải về phiên bản dùng thử và thử nó với những phần/chức năng dùng những công nghệ mới này. Nếu công cụ không thể làm việc với những công nghệ đó, vậy thì việc xác nhân của công cụ là không chính xác. Hành động kiểm tra này sẽ giúp chúng ta tiết kiệm những vất vả sau này.

So sánh công cụ

Dưới đây là một bảnh đánh gia sơ bộ những công cụ khác nhau với giá giấy phép và những công nghệ mà nó hỗ trợ. (Ghi chú, những thông tin này có giá trị tham khảo, không đảm bảo 100% vì có thể có những phiên bản hiện tại/sau này thêm/bớt một số chức năng)

Phần 2