Hướng dẫn test ứng dụng trên điện thoại

Bài viết này được tham khảo từ nguồn: https://www.guru99.com/testing-mobile-apps.html

Để kiểm tra một ứng dụng Mobile của bạn, một số hoặc là tất cả các loại Test Type sau đây có thể được sử dụng, sử dụng một số Type hoặc là tất cả các Type là phụ thuộc vào yêu cầu của dự án. Type đó bao gồm 4 loại sau:

Functional Testing: Tạm dịch là Test chức năng Performance Testing: Tạm dịch là Test hiệu năng Security testing: Tạm dịch là test bảo mật Usability Testing: Tạm dịch là test khả năng sử dụng Compatibility Testing: Tạm dịch là test tương thích Recoverability Testing: Tạm dịch là test khả năng phục hồi.

Functional testing

Việc kiểm tra chức năng của Test Mobile thông thường bao gồm các vùng tương tác giữa người dùng cũng như kiểm tra các giao dịch. Các yếu tố khác nhau liên quan đến Functional Testing là:

  1. Type của ứng dụng dựa trên cách sử dụng chức năng nghiệp vụ (ngân hàng, game, mạng xã hội hoặc nghiệp vụ)
  2. Mục tiêu đối tượng hướng tới là gì? Ví dụ như: Người tiêu dùng, doanh nghiệp hay giao dục…
  3. Kênh phân phối dùng để truyền bá ứng dụng là gì? Ví dụ như: Apple App Store, Google play hay là phân phối trực tiếp.

Các kịch bản kiểm thử cơ bản trong functional testing có thể bao gồm các kịch bản như sau:

  1. Để xác định xem liệu có phải tất cả các trường bắt buộc đang làm việc theo như yêu cầu hay chưa?
  2. Để xác định rằng các trường bắt buộc có được hiển thị trong màn hình theo một cách khác biệt so với các trường không phải là bắt buộc hay không?
  3. Để xác nhận liệu ứng dụng có hoạt động theo yêu cầu dù khi ứng dụng bắt đầu hoặc dừng lại hay không?
  4. Để xác định xem ứng dụng có được vào chế độ thu nhỏ hay không, bất cứ khi nào nó có cuộc gọi đến. Để xác nhận hợp lệ chúng ta cần sử dụng thêm một chiếc điện thoại nữa để gọi thiết bị.
  5. Để kiểm tra xem điện thoại có sử dụng lần thứ 2 hay không chúng ta cần sử dụng chiếc điện thoại thứ 2 để gửi tin nhắn đến thiết bị đang được thử nghiệm và ứng dụng được kiểm tra hiện tại là đang chạy.
  6. Để xác nhận rằng thiết bị có đang thực hiện nhiều tác vụ bất cứ khi nào cần thiết hay không?
  7. Để xác nhận rằng ứng dụng là cần thiết với các lựa chọn mạng xã hội như chia sẻ, đăng bài và điều hướng...
  8. Để xác nhận rằng ứng dụng có hỗ trợ cho một số cổng dịch vụ thanh toán như Visa, Mastercard, Paypal .v.v như yêu cầu bắt buộc.
  9. Để xác nhận rằng các kịch bản di chuyển trang đang được kích hoạt trong ứng dụng nếu cần.
  10. Để xác nhận rằng điều hướng giữa các mô-đun liên quan trong ứng dụng như là một phần của yêu cầu.
  11. Để xác nhận rằng các lỗi về truncation là được xử lý triệt để với một giới hạn hợp lý.
  12. Để xác nhận rằng user nhận được thông báo lỗi giống như là: “Network error. Please try after some time” ở bất cứ đâu mà có lỗi mạng.
  13. Để xác nhận rằng ứng dụng được cài đặt cho phép các ứng dụng khác thực hiện tốt và không ăn vào bộ nhớ của các ứng dụng khác.
  14. Để xác nhận rằng tính hợp lệ của ứng dụng trong hoạt động cuối cùng trong trường hợp khởi động lại máy tính hay là sự cố của hệ thống.
  15. Để xác định xem liệu rằng việc cài đặt ứng dụng có thể được thực hiện suôn sẻ với điều kiện người dùng có các tài nguyên cần thiết và không dẫn đến bất kỳ sai sót đáng kể nào.
  16. Để xác định rằng ứng dụng thực hiện để bắt đầu một cách dễ dàng theo yêu cầu.
  17. Để xác định xem liệu rằng ứng dụng có thực hiện theo yêu cầu của tất cả các phiên bản Mobile như là: 2g, 3g và 4g.
  18. Thực hiện Regression Testing để phát hiện ra lỗi mới trong phần mềm có tồn tại trong vùng của hệ thống sau khi có sự thay đổi đối với chúng. Cũng chạy lại các chức năng đã thực hiện trước đó để xác định rằng hành vi của chương trình không thay đổi do sự thay đổi đó.
  19. Để xác nhận xem liệu ứng dụng có cung cấp hướng dẫn sử dụng có sẵn cho những người mà không quen thuộc với ứng dụng.

Performance testing

Mục đích cơ bản của type test này là để đảm bảo rằng ứng dụng thực hiện Acception Test theo các yêu cầu về hiệu suất nhất định như truy cập bởi một số lượng lớn người dùng hoặc loại bỏ một phần cơ sở hạ tầng chính như máy chủ cơ sở dữ liệu.

Kịch bản test chung cho Performance testing trong ứng dụng Mobile là:

  1. Để xác định xem ứng dụng có thực hiện như 1 phần yêu cầu dưới những điều kiện load khác nhau.
  2. Để xác định xem liệu vùng phủ sóng hiện tại có thể hỗ trợ ứng dụng ở mức người dùng cao điểm, trung bình và mức tối thiểu.
  3. Để xác định xem liệu có tồn tại việc thiết lập cấu hình máy client-server hiện tại có cung cấp mức hiệu năng tối ưu theo yêu cầu hay không?
  4. Để xác định các ứng dụng khác nhau và tắc nghẽn cơ sở hạ tầng ngăn chặn các ứng dụng để thực hiện ở mức chấp nhận yêu cầu.
  5. Để xác định xem liệu có tồn tại thời gian trả về của ứng dụng như là 1 phần của yêu cầu.
  6. Để đánh giá xem sản phẩn và/ hoặc phần cứng để chỉ ra nếu nó có chiếm giữ load volumes trong dự án.
  7. Để đánh giá xem liệu năng lượng sống có hỗ trợ ứng dụng để thực hiện ở bên dưới load volumes
  8. Để xác định xem ứng dụng có thực hiện khi mà hệ thống mạng thay đổi từ mạng WIFI sang 2G/3G.
  9. Để xác định xem mỗi yêu cầu có bắt buộc vòng CPU là tối ưu hóa hay không?
  10. Để xác nhận rằng mức tiêu thụ pin, rò rỉ bộ nhớ, tài nguyên như GPS, Hiệu suất của máy ảnh nằm trong yêu cầu hướng dẫn.
  11. Để xác nhận tuổi thọ của ứng dụng bất cứ khi nào tải người dùng là nghiêm ngặt
  12. Để xác thực hiệu suất mạng trong khi di chuyển với thiết bị.
  13. Để xác nhận tính hiệu quả của ứng dụng khi chỉ yêu cầu kết nối liên tục.

Security testing

Mục tiêu cơ bản của kiểm tra an ninh là đảm bảo rằng dữ liệu của ứng dụng và yêu cầu bảo mật mạng được đáp ứng theo hướng dẫn.

Sau đây là những lĩnh vực quan trọng nhất để kiểm tra tính bảo mật của các ứng dụng di động:

  1. Để xác nhận rằng ứng dụng có thể chịu được bất kỳ cuộc tấn công bạo lực nào là một quá trình tự động dùng thử và sai sót được sử dụng để đoán tên người dùng, mật khẩu hoặc số thẻ tín dụng của một người.
  2. Để xác nhận xem liệu một ứng dụng không cho phép kẻ tấn công truy cập nội dung nhạy cảm hoặc chức năng mà không có chứng thực hợp lệ.
  3. Để xác nhận rằng ứng dụng có hệ thống bảo vệ mật khẩu mạnh và không cho phép kẻ tấn công nhận, thay đổi hoặc khô i phục mật khẩu của người dùng khác.
  4. Để xác nhận tính hợp lệ rằng ứng dụng không bị hết thời gian hết hạn của phiên làm việc.
  5. Để xác định các phụ thuộc động và có các biện pháp để ngăn chặn bất kỳ kẻ tấn công nào để truy cập các lỗ hổng này.
  6. Để tránh các cuộc tấn công liên quan tới SQL injection.
  7. Để xác định và phục hồi từ bất kỳ kịch bản mã không được quản lý.
  8. Để đảm bảo liệu chứng chỉ có được xác nhận, ứng dụng có thực hiện Certificate Pinning hay không.
  9. Để bảo vệ ứng dụng và mạng khỏi tấn công từ chối dịch vụ.
  10. Phân tích các yêu cầu về lưu trữ dữ liệu và xác nhận dữ liệu.
  11. Để cho phép quản lý phiên làm việc để ngăn chặn người dùng trái phép truy cập vào thông tin không được yêu cầu.
  12. Để kiểm tra nếu mã mật mã bị hỏng và đảm bảo rằng nó được sửa chữa.
  13. Để xác nhận xem việc thực hiện logic thương mại có được bảo đảm và không dễ bị tổn thương bởi bất kỳ cuộc tấn công nào từ bên ngoài.
  14. Để phân tích các tương tác hệ thống tập tin, xác định bất kỳ lỗ hổng và sửa các vấn đề này.
  15. Để xác thực các trình xử lý giao thức ví dụ như cố gắng cấu hình lại trang đích mặc định cho ứng dụng bằng cách sử dụng khung nội tuyến độc hại.
  16. Để bảo vệ chống lại việc tiêm chích từ phía khách hàng độc hại.
  17. Để bảo vệ chống lại các tiêm thuốc độc nguy hiểm.
  18. Để điều tra việc lưu trữ tập tin và ngăn chặn bất kỳ khả năng độc hại từ cùng.
  19. Để tránh việc lưu trữ dữ liệu không an toàn trong bộ nhớ cache của bàn phím ứng dụng.
  20. Để điều tra cookie và ngăn chặn bất kỳ hành vi độc hại nào từ cookie.
  21. Cung cấp kiểm toán định kỳ để phân tích bảo vệ dữ liệu.
  22. Điều tra tùy chỉnh các tập tin được tạo ra và ngăn ngừa bất kỳ hành vi độc hại từ các tập tin tạo tùy chỉnh.
  23. Để ngăn ngừa tràn bộ đệm và các trường hợp tham nhũng bộ nhớ.
  24. Phân tích các luồng dữ liệu khác nhau và ngăn ngừa bất kỳ lỗ hổng nào từ các luồng dữ liệu này.

Usability testing

Quá trình thử nghiệm khả năng sử dụng của ứng dụng Di động được thực hiện để có một ứng dụng bước nhanh chóng và dễ dàng với ít chức năng hơn so với ứng dụng chậm và khó khăn với nhiều tính năng. Mục tiêu chính là để đảm bảo rằng chúng ta sẽ có một dễ sử dụng, trực quan và tương tự như các giao diện được ngành công nghiệp chấp nhận được sử dụng rộng rãi.

  1. Để đảm bảo rằng các nút nên có kích thước yêu cầu và phù hợp với ngón tay lớn.
  2. Để đảm bảo rằng các nút được đặt trong cùng một phần của màn hình để tránh nhầm lẫn với người dùng cuối.
  3. Để đảm bảo rằng các biểu tượng là tự nhiên và phù hợp với ứng dụng.
  4. Để đảm bảo rằng các nút, có cùng chức năng cũng nên có cùng màu.
  5. Để đảm bảo rằng việc xác nhận tính năng mở rộng phóng to và thu nhỏ phải được kích hoạt.
  6. Để đảm bảo rằng đầu vào bàn phím có thể được giảm thiểu một cách thích hợp.
  7. Để đảm bảo rằng ứng dụng cung cấp phương thức quay lại hoặc hoàn tác một hành động, khi chạm vào mục không đúng, trong một khoảng thời gian chấp nhận được.
  8. Để đảm bảo rằng các menu ngữ cảnh không bị quá tải bởi vì nó phải được sử dụng nhanh chóng.
  9. Để đảm bảo rằng văn bản được lưu giữ đơn giản và rõ ràng để hiển thị cho người dùng.
  10. Để đảm bảo rằng các câu và đoạn văn ngắn gọn có thể đọc được cho người dùng cuối.
  11. Để đảm bảo rằng cỡ chữ đủ lớn để có thể đọc được và không quá lớn hoặc quá nhỏ.
  12. Để xác nhận hợp lệ ứng dụng sẽ nhắc người dùng bất cứ khi nào người dùng bắt đầu tải xuống một lượng lớn dữ liệu có thể không có lợi cho hiệu suất ứng dụng.
  13. Để xác nhận rằng đóng của ứng dụng được thực hiện từ các trạng thái khác nhau và xác minh nếu nó mở lại trong cùng một trạng thái.
  14. Để đảm bảo rằng tất cả các chuỗi được chuyển thành các ngôn ngữ thích hợp bất cứ khi nào có một cơ sở dịch ngôn ngữ.
  15. Để đảm bảo rằng các ứng dụng luôn được đồng bộ hóa theo hành động của người dùng.
  16. Để đảm bảo rằng người sử dụng cuối cùng được cung cấp một hướng dẫn sử dụng giúp người dùng cuối hiểu và vận hành ứng dụng có thể không quen với thủ tục của đơn
  17. Kiểm tra khả năng sử dụng thường được thực hiện bởi người dùng thủ công vì chỉ có con người mới có thể hiểu được tính nhạy cảm và khả năng thoải mái của những người dùng khác.

Compatibility testing

Kiểm tra tính tương thích trên các thiết bị di động được thực hiện để đảm bảo rằng các thiết bị di động có kích thước, độ phân giải, màn hình, phiên bản và phần cứng khác nhau nên ứng dụng phải được kiểm tra trên tất cả các thiết bị để đảm bảo ứng dụng hoạt động như mong muốn.

Sau đây là các lĩnh vực nổi bật nhất để kiểm tra khả năng tương thích.

  1. Để xác nhận rằng giao diện người dùng của ứng dụng như kích thước màn hình của thiết bị, không có văn bản / kiểm soát là một phần vô hình hoặc không thể truy cập.
  2. Để đảm bảo rằng văn bản có thể đọc được cho tất cả người dùng cho ứng dụng.
  3. Để đảm bảo chức năng gọi / báo thức được kích hoạt bất cứ khi nào ứng dụng đang chạy. Ứng dụng được giảm thiểu hoặc bị treo trên sự kiện của một cuộc gọi và sau đó bất cứ khi nào cuộc gọi ngừng ứng dụng được tiếp tục.

Recoverability Testing

  1. Phục hồi sự cố và gián đoạn giao dịch
  2. Xác nhận tình huống khôi phục ứng dụng có hiệu quả sau các tình huống gián đoạn / tai nạn bất ngờ.
  3. Xác minh cách ứng dụng xử lý giao dịch trong thời gian mất điện (nghĩa là Pin chết hoặc tắt máy thủ công đột ngột của thiết bị)
  4. Việc xác nhận hợp lệ quá trình kết nối bị đình chỉ, hệ thống cần thiết lập lại để phục hồi dữ liệu bị ảnh hưởng trực tiếp bởi kết nối bị đình chỉ.

Other Important Checks:

  1. Kiểm tra cài đặt (cho dù ứng dụng có thể được cài đặt trong một khoảng thời gian hợp lý và với tiêu chí bắt buộc)
  2. Kiểm tra gỡ cài đặt (cho dù ứng dụng có thể được gỡ cài đặt trong một khoảng thời gian hợp lý và với tiêu chí bắt buộc)
  3. Các trường hợp kiểm tra mạng (xác nhận xem mạng có thực hiện theo tải yêu cầu hay không, cho dù mạng có thể hỗ trợ tất cả các ứng dụng cần thiết trong quá trình thử nghiệm)
  4. Kiểm tra phím chưa được chạm
  5. Kiểm tra màn hình ứng dụng
  6. Liên tục nhấn phím trong suốt thời gian bị ngắt và vấn đê khác khác như vấn đề về mạng
  7. Các phương pháp xử lý để thoát khỏi ứng dụng
  8. Hiệu ứng của bộ sạc trong khi ứng dụng đang chạy ẩn
  9. Pin yếu và nhu cầu hiệu suất cao
  10. Tháo pin trong khi ứng dụng đang được thực hiện
  11. Tiêu thụ pin theo ứng dụng
  12. Kiểm tra những ảnh hướng khác liên quan đến ứng dụng.