-1

Mobile App Testing

Hướng dẫn test Mobile Apps

Tùy thuộc vào yêu cầu mà một số hoặc tất cả các loại kiểm thử sau có thể được thực hiện.

  • Kiểm thử chức năng
  • Kiểm thử hiệu suất
  • Kiểm thử bảo mật
  • Kiểm thử tính khả dụng
  • Kiểm thử tính tương thích
  • Kiểm thử phục hồi

Kiểm thử chức năng: Kiểm thử chức năng của mobile thường bao gồm các lĩnh vực kiểm thử tương tác của người dùng cũng như là kiểm thử giao tác. Các yếu tố khác liên quan đến việc kiểm thử chức năng là:

  1. Loại ứng dụng dựa trên các chức năng kinh doanh sử dụng (ngân hàng, game, xã hội hay kinh doanh)
  2. Loại khán giả mục tiêu (người tiêu dùng, doanh nghiệp, giáo dục) Kênh phân phối được sử dụng để truyền bá các ứng dụng (Apple App Store, Google Play, phân phối trực tiếp, …) Các kịch bản kiểm thử cơ bản nhất trong các kiểm thử chức năng có thể được xem xét như:
  3. Xem xét rằng tất cả các lĩnh vực bắt buộc phải được thực hiện theo yêu cầu.
  4. Xem xét rằng các trường bắt buộc phải được hiển thị trên màn hình một cách đặc biệt hơn với các trường không bắt buộc.
  5. Xem xét rằng ứng dụng phải được thực hiện theo như yêu cầu bất cứ khi nào khi khởi động/dừng ứng dụng.
  6. Xem xét rằng ứng dụng sẽ chuyển qua chế độ minimize bất cứ lúc nào khi có một cuộc gọi đến.
  7. Xem xét rằng điện thoại có thể lưu trữ, xử lý và nhận tin nhắn SMS bất cứ khi nào các ứng dụng đang chạy.
  8. Xem xét rằng thiết bị có thể thực hiện nhiều yêu cầu (multitask) bất cứ khi nào cần thiết.
  9. Xem xét rằng ứng dụng cho phép chọ mạng xã hội cần thiết như là chia sẻ, gửi bài, chuyển hướng, ...
  10. Xem xét rằng các ứng dụng hỗ trợ bất kỳ giao dịch thanh toán như Visa, Mastercard, Paypal, ... theo yêu cầu của ứng dụng.
  11. Xem xét rằng kịch bản cuộn trang được kích hoạt trong ứng dụng khi cần thiết.
  12. Xem xét rằng việc di chuyển giữa các module có liên quan trong ứng dụng là đúng theo yêu cầu.
  13. Xem xét rằng người dùng nhận được một thông báo lỗi thích hợp như "Lỗi mạng. Vui lòng thử sau một thời gian "bất cứ khi nào có bất kỳ lỗi mạng.
  14. Xem xét rằng các ứng dụng được cài đặt cho phép các ứng dụng khác thực hiện một cách hợp lý và nó không ảnh hưởng đến bộ nhớ của các ứng dụng khác.
  15. Xem xét rằng việc ứng dụng được tiếp tục lại ở thao tác cuối cùng trong trường hợp khởi động lại.
  16. Xem xét rằng việc cài đặt của ứng dụng phải được thực hiện suôn sẻ, cung cấp cho người sử dụng các nguồn lực cần thiết và không dẫn đến bất kỳ lỗi nào đáng kể.
  17. Xem xét rằng ứng dụng thực hiện chức năng tự động bắt đầu theo yêu cầu.
  18. Xem xét rằng ứng dụng thực hiện theo các yêu cầu trong tất cả các phiên bản của mạng di động là 2g, 3g và 4g.
  19. Xem xét các kiểm thử hồi quy để phát hiện ra các lỗi phần mềm mới trong hệ thống đã tồn tại sau khi thay đổi đã được thực hiện. Thực hiện chạy lại các kiểm thử trước đó để xác định rằng thao tác của chương trình vẫn không thay đổi do sự thay đổi.
  20. Xem xét rằng các ứng dụng cung cấp một hướng dẫn sử dụng có sẵn cho nhưng người dùng không quen thuộc với ứng dụng.

Kiểm thử hiệu suất: Đây là loại kiểm thử cơ bản để đảm bảo rằng ứng dụng thực hiện các yêu cầu theo hiệu suất nhất định, chẳng hạn như truy cập bởi một số lượng lớn người sử dụng hoặc loại bỏ một phần cơ sở hạ tầng quan trọng như một máy chủ cơ sở dữ liệu. Các kịch bản kiểm thử chung đối với kiểm thử hiệu suất trong một ứng dụng di động là:

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

Kiểm thử bảo mật: Mục tiêu cơ bản của kiểm thử bảo mật là để đảm bảo rằng dữ liệu của ứng dụng và các yêu cầu an ninh 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 độ bảo mật của các ứng dụng di động.

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

Kiểm thử tính khả dụng: Quá trình kiểm thử tính khả dụng của các ứng dụng di động được thực hiện để có một ứng dụng thao tác nhanh chóng và dễ dàng với ít chức năng so với một ứ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 dễ sử dụng, trực quan và có giao diện được sử dụng rộng rãi.

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

Kiểm thử tính tương thích: Kiểm thử 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 dù các thiết bị di động có khác nhau kích thước, độ phân giải, màn hình, phiên bản và phần cứng đều được thử nghiệm để đảm bảo rằng các ứng dụng hoạt động như mong muốn. Sau đây là những lĩnh vực nổi bật nhất để thử nghiệm tính tương thích.

  1. Xác nhận rằng giao diện người dùng của ứng dụng là theo kích thước màn hình của thiết bị, không có văn bản/quyền kiểm soát nào là không được nhìn thấy hoặc không thể tiếp cận.
  2. Đảm bảo rằng người dùng đều có thể đọc được các văn bản.
  3. Đảm bảo rằng các chức năng cuộc gọi/báo động được kích hoạt bất cứ khi nào các ứng dụng đang chạy. Các ứng dụng được thu nhỏ hoặc ngưng khi có cuộc gọi và cuộc gọi ngừng thì ứng dụng được mở lại.

Kiểm tra phục hồi

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

Kiểm tra quan trọng khác:

  1. Kiểm thử cài đặt (ứng dụng có thể được cài đặt trong một khoảng thời gian hợp lý và đúng với tiêu chí yêu cẩu)
  2. Kiểm thử gỡ bỏ (ứng dụng có thể được gỡ bỏ cài đặt trong một khoảng thời gian hợp lý và đúng với tiêu chí yêu cầu)
  3. Kiểm tra mạng (xác nhận rằng mạng có thể thực hiện theo tải trọng yêu cầu hay khô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 các phím unmapped
  5. Kiểm tra màn hình ứng dụng
  6. Kiểm tra việc nhập bàn phím vẫn tiếp tục trong khi bị ngắt và mạng có vấn đề
  7. Phương pháp đối ứng với việc thoát khỏi ứng dụng
  8. Tác dụng sạc khi một ứng dụng đang chạy ở chế độ nền
  9. Pin thấp và nhu cầu hiệu suất cao
  10. Loại bỏ pin khi một ứng dụng đang được thực hiện
  11. Tiêu thụ pin bằng ứng dụng
  12. Kiểm tra tác dụng phụ của ứng dụng

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í