Test Viewpoint cho test ứng dụng trên mobile

Hiện nay việc phát triển các ứng dụng trên mobile đang rất phổ biến, song song với đó là yêu cầu đảm bảo chất lượng cho các ứng dụng đó. Vậy làm sao để có thể thực hiện test các ứng dụng này, nhất là khi bạn là một tester mới, hoặc kể cả bạn là một tester có kinh nghiệm, nhưng chưa tham gia dự án test ứng dụng trên mobile bao giờ? Và điều khó nhất có lẽ là xác định được mình "Cần phải test những gì?" khi bạn được giao một ứng dụng để kiểm thử. Bạn đừng quá lo lắng, từ kinh nghiệm tham gia các dự án test app trên mobile, kết hợp tham khảo từ nhiều nguồn khác nhau, chúng tôi đã tập hợp ra một danh sách các viewpoint để dành riêng cho việc test các ứng dụng trên mobile. Với danh sách viewpoint này, bạn chỉ cần duyệt lần lượt các đối tượng cần test, xem với mỗi đối tượng đó thì sẽ cần check những quan điểm nào. Từ đó pikup ra các test case cần test.

I. Vậy Test viewpoint là gì?

  • Test viewpoint là tập hợp những quan điểm được dùng để xem xét các chức năng hoạt động của ứng dụng hoặc thiết bị phần cứng liên quan đến ứng dụng xem hoạt động của ứng dụng đó có đúng theo như yêu cầu hay không. Ví dụ: Khi test một màn hình, ta cần test theo các quan điểm như: Giao diện màn hình có đúng mô tả hay không: Kích thước, vị trí, màu sắc, hiệu ứng...? Các đối tượng trên màn hình có đúng không? Hoạt động của từng đối tượng riêng biệt có đúng hay không? Hoạt động khi kết hợp các đối tượng ở các trạng thái khác nhau có đúng theo yêu cầu không?...

  • Một file test viewpoint thường có dạng như sau: hoặc

  • Test viewpoint thường được sử dụng kết hợp với function list (danh sách liệt kê các chức năng, đối tượng cần kiểm tra) tạo thành một matrix chứa những test case cần phải test (ở một số nơi, matrix này cũng được coi là một tài liệu test design).

  • Một Test matrix có dạng như sau:

II. Các loại Viewpoint cho test mobile app Dưới đây là các viewpoint chung thường dùng, đối với từng loại app đặc trưng, các bạn có thể chọn lọc ra những quan điểm phù hợp để sử dụng, không nhất thiết phải sử dụng cả danh sách này 😃

1. UI testing (User interface)

  • Là nhóm các quan điểm nhằm kiểm tra giao diện của ứng dụng như màu sắc (màu nền, màu của chữ, màu các button ...), phông chữ, các item, vị trí các item ... tính nhất quán của giao diện người dùng trên các thiết bị khác nhau.
  • Danh sách các quan điểm:

2. Function testing

  • Là nhóm các quan điểm kiểm tra chức năng của ứng dụng đảm bảo đang hoạt động đúng theo yêu cầu.
  • Danh sách các quan điểm:

3. Performance and load testing

  • Dưới đây là nhóm các quan điểm nhằm kiểm tra hiệu năng của ứng dụng trên mobile.

4. Usability testing

  • Là nhóm các quan điểm nhằm xác minh app cần test có khả năng ứng dụng cao và dễ sử dụng: người sử dụng có dễ dàng thao tác và giao tiếp với ứng dụng, có thể hiểu các kết quả của hệ thống hoặc các thành phần một cách dễ dàng. Giao diện thân thiện với người dùng: màu sắc, font chữ, size chữ, ngữ pháp câu chữ…
  • Danh sách các quan điểm:

5. Compatibility testing

  • Là các quan điểm kiểm tra khả năng tương thích của ứng dụng trên nhiều nền tảng phần cứng/ phần mềm / hệ điều hành/ môi trường hệ thống / môi trường mạng khác nhau.
  • Các quan điểm của kiểm thử khả năng tương thích:

6. Interaction testing

  • Nhóm các quan điểm kiểm tra tương tác giữa của các hành động/ứng dụng khác tới app cần test, khi chúng cùng được cài đặt và chạy trên cùng một môi trường.
  • Các quan điểm của kiểm thử sự tương tác

7. Monkey testing

  • Là tập hợp các quan điểm thực hiện test mà không theo đặc tả hay quy luật có sẵn nào, chủ yếu dựa vào cảm tính, kinh nghiệm và tính sáng tạo của tester để tìm ra lỗi.
  • Một số quan điểm của monkey testing

8. Install/Uninstall testing

  • Nhóm các quan điểm Install được dùng để xác minh liệu rằng các phần mềm đã được cài đặt với tất cả các thành phần cần thiết và các ứng dụng đang làm việc như mong đợi. Điều này rấy quan trọng vì việc cài đặt sẽ là sự tương tác giữa người dùng đầu tiên và người dùng cuối cùng.
  • Nhóm các quan điểm Uninstall testing được dùng để xác minh liệu rằng tất cả các thành phần của ứng dụng có bị loại bỏ trong quá trình gỡ cài đặt hay không. Tất cả các tập tin liên quan đến ứng dụng cùng cấu trúc thư mục của nó phải được gỡ bỏ sau khi quá trình gỡ bỏ thành công. Hệ thống sau khi gỡ bỏ cài đặt có trở lại trạng thái ổn định hay không.
  • Một số quan điểm của kiểm thử cài đặt và gỡ bỏ cài đặt

9. Security testing

  • Là nhóm các quan điểm được dùng để xác định xem ứng dụng có được bảo vệ dữ liệu và duy trì các chức năng như bình thường hay không. Nó nhằm mục đích xác minh 6 nguyên tắc cơ bản sau:
    • Confidentiality: Bảo mật thông tin
    • Integrity: Toàn vẹn dữ liệu
    • Authentication: Xác thực
    • Authorization: Cấp quyền
    • Availability: Sẵn sàng
    • Non-repudiation: Không tuân thủ
  • Một số quan điểm của kiểm thử bảo mật

10. Location testing

  • Là các quan điểm kiểm tra sự thay đổi của ứng dụng khi kết nối với mạng và vị trí hiện tại.
  • Một số quan điểm của location testing

11. Outdated software testing

  • Không phải người dùng nào cũng chịu update phiên bản mới nhất của hệ điều hành, hay phiên bản mới nhất của ứng dụng họ đang dùng. Nhóm các quan điểm này nhằm xác minh xem hoạt động của ứng dụng có còn đúng hay không khi chạy trên các nền tảng phần cứng, phần mềm phiên bản cũ.
  • Một số quan điểm của Outdated software testing

12. Storage testing

  • Là các quan điểm nhằm xác minh xem các file của ứng dụng có được lưu trữ đúng địa chỉ hay không? Có hoạt động bình thường trong trường hợp bộ nhớ bị thiếu, gần đầy, đầy hay không? Có bị chấm dứt bất ngờ hay không? Ngoài ra còn xác định việc ứng dụng sử dụng bộ nhớ có nhiều hơn so với ước tính hay không, có khả năng gây đầy bộ nhớ và làm tăng thời gian chết hay không?
  • Một số quan điểm của Storage testing

13. Fault reponse testing

  • Nhóm các quan điểm nhằm xác minh khả năng xử lý của ứng dụng khi có một lỗi nào đó phát sinh.
  • Một số quan điểm của Fault reponse testing

Trên đây là test viewpoint nhóm chúng tôi đã nghiên cứu, rất mong bài viết hữu ích và nhận được sự đóng góp để có một bộ viewpoint đầy đủ hơn nữa.

III. Reference Document

https://en.wikipedia.org/wiki/Mobile_application_testing https://viblo.asia/ThanhHai/posts/n157G57DRAje https://www.tutorialspoint.com/software_testing_dictionary/install_uninstall_testing.htm