Các chức năng cần tìm hiểu khi lựa chọn công cụ tự động cho kiểm thử di động

Hiện nay, với sự phát triển chóng mặt của công nghệ di động, kéo theo sự phát triển mạnh mẽ của ngành kiểm thử di động. Từ đó, trên thị trường xuất hiện ngày càng nhiều công cụ hỗ trợ cho kỹ sư kiểm thử trong lĩnh vực kiểm thử tự động. Lựa chọn chính xác công cụ hỗ trợ tốt nhất cho kiểm thử ứng dụng sẽ giúp chúng ta tiết kiệm được nhiều thời gian, công sức và cả tiền bạc. Dưới đây là vài chức năng mà mình, theo kinh nghiệm cá nhân, nghĩ là cần được xem xét khi lựa chọn công cụ tự động cho kiểm thử di động.


Hệ điều hành: Hiện tại, có khá nhiều hệ điều hành trong nền công nghiệp di động, từ iOS đến Android, rồi Windows Phone hay BlackBerry/Firefox… Vậy nên, nếu ứng dụng cần kiểm thử của chúng ta được chạy trên nhiều hệ điều hành, hay trong tương lai sẽ hỗ trợ nhiều hệ điều hành khác nhau thì việc lựa chọn một công cụ kiểm thử tự động có khả năng hoạt động trên nhiều nền tảng sẽ giúp tiết kiệm nhiều công sức và tiền bạc.

Loại chương trình: Về lý thuyết, ứng dụng di động được chia làm ba loại – Native, Web và Hybrid. Đôi khi, công cụ kiểm thử không hỗ trợ thực thi kiểm thử trên ứng dụng Native. Do đó, chúng ta cần xác định rõ ứng dụng của chúng ta là dạng nào để có thể lựa chọn công cụ kiểm thử một cách chính xác.

Ngôn ngữ lập trình: Nếu nhóm chúng ta chuyên về Java thì không thể lựa chọn một công cụ chỉ hỗ trợ C#, phải không 🙂

Yêu cầu mã nguồn của chương trình: Một số công cụ kiểm thử yêu cầu được quyền truy cập mã nguồn của ứng dụng để xác định được các đối tượng UI. Một số khác thì không cần. Khi làm outsource, khả năng tiếp cận mã nguồn của đội ngũ kiểm thử sẽ bị hạn chế, vậy nên đây cũng là một chức năng mà chúng ta cần phải quan tâm khi lựa chọn.

Khả năng Record/Playback: Mặc dù sử dụng Record/Playback sẽ cho chúng ta một đoạn mã không tốt như tự viết code. Nhưng, trong trường hợp mới làm quen với công cụ hoặc chúng ta cần nhiều đoạn mã kiểm thử một cách nhanh chóng thì Record/Playback là một chức năng rất mạnh mà công cụ kiềm thử tự động mang đến.

Thiết bị thật hay giả lập: Nếu công cụ chỉ cho phép thực thi kiểm thử trên thiết bị thật thì sẽ làm tăng chi phí kiểm thử lên rất nhiều. Nhưng nếu công cụ chỉ cho phép chạy trên môi trường giả lập, chúng ta không thể mô phỏng một số trường hợp đặc biệt mà chỉ có thể làm với thiết bị thật.

Thiết bị thật trên Cloud: Hiện nay, vì chi phí để có thiết bị thật khá cao, nên thị trường xuất hiện một dạng cho thuê thiết bị thật và chúng ta có thể truy cập thông qua hệ thống mạng Internet. Sử dụng phương pháp này, chúng ta có thể giảm bớt chi phí để có thể kiểm thử ứng dụng di động trên thiết bị thật.

Đa chạm và dấu hiệu: Khác với các ứng dụng Windows, trên di động, hệ thống đa chạm và dấu hiệu (gesture) là một chức năng không thể thiếu. Do đó, yêu cầu công cụ kiểm thử có khả năng giả lập được hành động này của người dùng là một yêu cầu không có gì quá đáng.

Xác nhận đối tượng: Trong kiểm thử tự động, khả năng xác nhận các đối tượng UI là một thành phần quan trọng bậc nhất. Nếu có thể xác định các đối tượng UI một cách chính xác thông qua các thuộc tính duy nhất và ổn định thì chúng ta sẽ giảm bớt thời gian chỉnh sửa các đoạn mã giữa những lần thay đổi/nâng cấp ứng dụng.

Tương tác với bên thứ ba: Trong quá trình kiểm thử, tự động không phải là tất cả. Chúng ta còn cần phải quan tâm đến việc lưu trữ mã nguồn, kết quả thực thi, hệ thống kịch bản kiểm thử và cả hệ thống quản lý bug nữa. Và hầu hết các vấn đề này đều được cung cấp từ một hệ thống thứ ba. Sẽ thật tuyệt nếu công cụ kiểm thử mà chúng ta lựa chọn có thể tương tác với các hệ thống như vậy.

Báo cáo và nhật ký: Thông thường, chúng ta quá chú ý vào việc viết mã nguồn cho các kịch bản kiểm thử, thực thi các đoạn mã nhưng lại không quan tâm đầy đủ đến một bước cực kỳ quan trọng trong kiểm thử tự động, phân tích kết quả thực thi. Một công cụ mà bản báo cáo/nhật ký thực thi quá phức tạp hoặc thiếu chi tiết để có thể phân tích kết quả thực thi thì không phải là một công cụ kiểm thử tự động tốt.

Mã nguồn mở hay bản thương mại: Cuối cùng, quan trọng nhất – Tiền bạc 🙂 Vấn đề này mình xin phép không bàn sâu nha!

Kiểm thử di động, Kiểm thử tự động