+2

Sử dụng Monkop trong test các ứng dụng Android

I: Giới thiệu về Monkop

Như chúng ta đã biết, việc phát triển các ứng dụng Android khá là khó khăn do có quá là nhiều các thiết bị, với các cấu hình khác nhau, kích thước màn hình khác nhau..vv. Việc phát triển khó bao nhiêu thì tương tự việc test ứng dụng cũng khó bấy nhiêu. Chúng ta cần phải đảm bảo rằng nó chạy đúng và không xảy ra lỗi với các máy có cấu hình phần cứng khác nhau, các loại màn hình khác nhau, đảm bảo được hiệu năng ...vv và rất nhiều vấn đề khác.

  • Monkop được phát triển để giải quyết vấn đề này, nó cho phép chúng ta test được ứng dụng android của bạn trên nhiều thiết bị đơn giản hơn bao giờ hết.
  • Monkop cung cấp cho chúng ta những tính năng chính sau:
    • Perfomance
    • Power Usage
    • Resource Usage
    • Errors

II: Test ứng dụng sử dụng Monkop

Đầu tiên mọi người truy cập vào trang http://www.monkop.com/, sau đó tạo một account free để sử dụng. Với mỗi account free thì Monkop cho phép chúng ta upload 3 file apk. Sau khi đăng ký xong tài khoản là chúng ta có thể upload file apk và bắt đầu test. Ở đây mình sẽ upload một ứng dụng nho nhỏ mà mình viết, sau khi upload thì sẽ hiển thị danh sách các project mà bạn đã upload lên.

download.png

Sau giai đoạn này thì monkop sẽ bắt đầu chạy ứng dụng của bạn và thực hiện test nó, việc này mất khá là nhiều thời gian phụ thuộc vào độ lớn ứng dụng của bạn. Sau khi quá trình hoàn tất thì chúng ta sẽ nhận được trạng thái complete như sau :

complte.png

Sau đó là chúng ta có thể xem được kết quả test. Ở màn hình Dashboard chúng ta có thể xem nhanh được các kết quả test mà Monkop đã thực hiện.

bash.png

Như trên ta thấy ở ứng dụng của mình đang gặp 2 bug về hiệu năng và 1 bug bị crash ở thiết bị nào đó, và một số bug nhỏ về hiệu năng hoặc sử dụng tài nguyên. Để hiểu rõ hơn đang bị bug gì chúng ta hãy xem chi tiết từng mục.

  • Sau khi đăng ký xong tài khoản là chúng ta có thể upload file apk và bắt đầu test. Ở đây mình sẽ upload một ứng dụng nho nhỏ mà mình viết, sau khi upload thì sẽ hiển thị danh sách các project mà bạn đã upload lên.

    • Correctness : Ở mục này sẽ thông báo cho chúng ta những thông tin về ứng dụng như số activity, layout ..vv. Các bạn hãy theo dõi hình dưới đây :

    correctness.png

Như bạn đã thấy, ở hình trên mình đang gặp phải 2 vấn đề. Đó là một lỗi ở thiết kế layout và một lỗi ở thư viện nào đó mà mình đã dependencies. Chúng ta sẽ xem xét phần layout bị lỗi:

layout.png

Ở trên chúng ta đã thấy, do số lượng các Layout mình đã lồng vào nhau quá nhiều gây ra sự chậm trễ cho ứng dụng. Bên dưới là một số danh sách các Device mà Monkop đã test ứng dụng của mình trên đó , bên cạnh đó còn có các video clip ngắn ghi lại quá trình thao tác với ứng dụng của mình.

devide.png

Như trên ta thấy, ở đây màn hình MainActivity của đang gặp vấn đề , thao tác chậm chạp. Tiếp theo,chúng ta sẽ xem thư viện nào mà mình dependencies gây ra bug.

firebase.png

Ở đây ta thấy thư viện Firebase của Google chính là thủ phạm gây ra, do khi cài cái này có thể gây ra xung đột với phiên bản Android.

  • Perfomance Tiếp theo chúng ta đến mục Perfomance,đây chúng ta có 2 bug nghiêm trọng.

per.png time.png

Chúng ta có thể thấy trực tiếp ngay ở đây,có một bug "nho nhỏ" đó là thời gian khởi động ứng dụng lâu. Ở dưới chúng ta có thể thấy thời gian chạy trên các device khác nhau, thường lên tới vài giây.

draw.png

Trên đây mới thực sự là vấn đề nghiêm trọng mình đang gặp phải, ở phía trên bạn có thể thấy đó là số frame ảnh phải draw ra màn hình bị lag là quá cao và thời gian để vẽ nó mất lâu. Ở đây do mình đang để quá nhiều các tác vụ ở mainThread nên đang gây ra hiện tượng này ở đa số các Activity 😃

  • Resource Usage : Tiếp theo chúng ta phải xem xét đến tài nguyên mà ứng dụng này sử dụng khi chạy ứng dụng. re.png

screenshot-results.monkop.com-2016-10-26-13-51-17.png

Ở đây dường như mình đang gặp chút vấn đề về CPU và Memory, cũng dể hiểu tại vì theo như trên kia thì mình đang làm quá nhiều tác vụ ở MainThread và việc overDraw cũng gây ra hiện tượng CPU bị sử dụng quá nhiều.

  • Error : Cuối cùng chúng ta sẽ đi xem xét bug nghiêm trọng nhất, đó là tại sao ứng dụng của mình bị crash và ở trên thiết bị nào, và Activity nào đã gây ra .

screenshot-results.monkop.com-2016-10-26-13-55-44.png

screenshot-results.monkop.com-2016-10-26-13-56-38.png

Như các bạn đã thấy, ứng dụng của mình đang bị một Exception cực kì nghiêm trọng gây ra crash ứng dụng. Đó là do bị một NullPointException ở ListUnitips Activity , và lỗi này chỉ gặp khi chạy trên thiết bị Lenomo A369 (4.2.2) . Bạn cũng có thể xem video để biết khi ứng dụng bị crash khi thao tác như thế nào.

III. Tổng kết

Với việc Monkop cung cấp những tính năng vô cùng mạnh mẽ giúp cho việc Test ứng dụng Android dễ dàng hơn bao giờ hết. Qua bài viết mình mong muốn giúp các bạn có thêm một công cụ mạnh mẽ giúp cho việc kiểm thử đơn giản hơn, giúp nâng cao chất lượng của sản phẩm.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí