12/08/2018, 15:03

Complete Guide to Android Testing & Automation (part 1)

Tại sao phải kiểm thử trên Android? Android là hệ điều hành lớn nhất thế giới. Đồng thời có rất nhiều thiết bị và các phiên bản Android mà ứng dụng của bạn phải tương thích. Không quan trọng việc bạn đầu tư bao nhiêu thời gian vào thiết kể và thực hiện, việc sai sót là không thể tránh khỏi và ...

Tại sao phải kiểm thử trên Android?

Android là hệ điều hành lớn nhất thế giới. Đồng thời có rất nhiều thiết bị và các phiên bản Android mà ứng dụng của bạn phải tương thích. Không quan trọng việc bạn đầu tư bao nhiêu thời gian vào thiết kể và thực hiện, việc sai sót là không thể tránh khỏi và lỗi chắc chắn sẽ xuất hiện.

Những câu chuyện huyền thoại về kiểm thử trên Android

Các doanh nghiệp xây dựng chiến lược kiểm thử trên Android dựa trên những quan niệm sai lầm phổ biến.

Câu chuyện số 1: Tất cả các thiết bị Android đều giống nhau và kiểm thử trên Emulators là đủ Bắt đầu với một ví dụ đơn giản. Một ứng dụng chạy trên Emulator rất hoàn hảo nhưng trên một số thiết bị thật nó lại bị crash trong quá trình thực hiện. Emulators thì không đủ cho việc kiểm thử của bạn. Bạn phải thử nghiệm ứng dụng của bạn trên thiết bị thực.

Câu chuyện số 2: Kiểm thử trên một số thiết bị phổ biến là đủ Trên các thiết bị khác nhau, ứng dụng của bạn trông sẽ khác nhau bởi vì chúng có phần cứng, kích cỡ màn hình, bộ nhớ, ... khác nhau. Bạn phải kiểm tra ứng dụng của bạn trên các thiết bị, phiên bản hệ điều hành, địa điểm,... khác nhau.

Câu chuyện số 3: Thử nghiệm thăm dò ngay trước khi ra mắt là đủ Trong tất cả các thử nghiệm, trước hết sẽ thiết kế các trường hợp để kiểm thử và sau đó thực hiệc chúng. Nhưng trong thử nghiệm thăm dò thì việc thiết kế và kiểm thử sẽ được thực hiện cùng nhau. Trong thử nghiệm thăm dò, không có kế hoạch và không có chuẩn bị, sau đó sẽ thực hiện kiểm thử liên tục và một số chức năng sẽ không được kiểm thử toàn bộ.

Câu chuyện số 4: Nếu có một số lỗi trong ứng dụng thì người dùng sẽ hiểu Nếu ứng dụng có lỗi và không hoạt động được thì người dùng sẽ gỡ bỏ ứng dụng của bạn. Vấn đề về chất lượng là lý do đầu tiên để có nhận xét không xấu trên Google Play. Nó sẽ ảnh hướng đến danh tiếng của bạn và khách hàng sẽ mất niềm tin vào bạn.

Do đó, cần thiết phải có một chiến lược kiểm thử trên Android thích hợp

Chiến lược kiểm thử trên Android

Một chiến lược đúng sẽ bao gồm:

  1. Unit Test (Kiểm thử đơn vị)
  2. Integration Test (Kiểm thử tích hợp)
  3. Operational Test (Kiểm thử hoạt động)
  4. System Test (Kiểm thử hệ thống)

Unit Test Unit test bao gồm một hoặc nhiều chương trình được thiết kế để kiểm chứng ở mức đơn vị của source code, chẳng hạn như một method hoặc một class.

Android được tích hợp sẵn JUnit 3.0 framework. Đó là framework mã nguồn mở để tự động hóa việc thực hiện Unit test. Framework kiểm thử Android là công cụ mạnh mẽ để developer viết chương trình unit test hiệu quả.

Thêm nữa. Unit testing phải kiểm tra cả giao diện người dùng (UI). Việc kiểm thử này liên quan đến các thành phần UI của ứng dụng. Kiểm thử giao diện người dùng để đảm bảo rằng ứng dụng của bạn trả về giao diện chính xác với các hành động của người dùng trên thiết bị.

Cách phổ biến để thực hiện kiểm tra giao diện người dùng trên thiết bị là Android Instrumentation . Nhưng điều này có vấn đề hiệu suất. Một trong những công cụ tốt nhất để tiến hành kiểm tra giao diện người dùng trên Android là Robotium .

Integration test Trong integration test, tất cả các mô-đun unit test được kết hợp và xác thực. Trong Android, integration test thường liên quan để kiểm tra tích hợp các thành phần như kiểm tra dịch vụ, kiểm tra hoạt động, v.v ...

Có nhiều framework được sử dụng để tiến hành kiểm thử tích hợp cho Android như Troyd, Roboelectric, Robotium.

Operational test Operational test cũng được gọi là kiểm thử chức năng hoăc kiểm thử chấp nhận. Đây là các kiểm thử cấp độ cao được thiết kế để kiểm tra tính đầy đủ và chính xác của ứng dụng. Trong Android, FitNesse là framework mã nguồn mở giúp thực hiện Operational test dễ dàng.

System Test

Trong system test, hệ thống được kiểm tra toàn bộ sự tương tác giữa các thành phần, phần mềm và phần cứng. Trong Android, system test thường bao gồm:

  • Kiểm thử GUI
  • Kiểm thử tính khả dụng
  • Kiểm thử hiệu suất
  • Stress test Trong danh sách trên, kiểm thử hiệu suất được tập trung hơn. Bạn có thể sử dụng các công cụ như Traceview để tiến hành kiểm thử hiệu suất trên Android. Công cụ này có thể giúp bạn debug ứng dụng của bạn và mô tả hiệu suất của nó.

To be continued...

0