Checklist cho việc phát triển và kiểm tra chất lượng ứng dụng trên mobile - 17 điểm cần nhớ trước khi phát triển 1 ứng dụng.

Khi bắt đầu việc phát triển cũng như đảm bảo chất lượng của một ứng dụng, chúng ta luôn cần quan tâm đến danh sách những điểm ứng dụng đó cần phải đáp ứng được (hay còn gọi là danh sách kiểm tra - Checklist).

Checklist sẽ là cái khung để bạn căn cứ vào đó tạo ra được một sản phẩm đảm bảo chất lượng như mong muốn và giảm thiểu chi phí phát sinh về sau này.

Dưới đây là 17 điểm cần phải nhớ khi bạn chuẩn bị phát triển hoặc test một ứng dụng cho mobile.

1. Ứng dụng được phát triển cho nền tảng điện thoại di động nào? IOS hay Android?

iOS và Android là 2 nền tảng được ưa thích cho việc phát triển các ứng dụng di động. Tuy nhiên, Blackberry vẫn được sử dụng bởi các doanh nghiệp và một phần dân số đáng kể của các nước đang phát triển hiện vẫn đang sử dụng điện thoại Symbian. Thật tốt khi biết trước nền tảng nào sẽ sẽ được hỗ trợ. Điều này sẽ giúp bạn đưa ra quyết định quan trọng liên quan đến thiết kế cũng như kiến trúc của ứng dụng. Cũng như cung cấp những đầu vào dựa trên việc bạn muốn phát triển một ứng dụng hoàn toàn mới hay sử dụng các framework như PhoneGap. Dưới đây là các nền tảng di động phổ biến và được ưa thích hiện nay:

  • Android
  • iOS
  • windows Mobile
  • Blackberry
  • Symbian

Figure-1-market-shares1.jpg

Mobile-application-testing-deviceUnitsForecast2016.jpg

Một báo cáo của tạp chí Forbes đã cung cấp những thông tin chi tiết về thị phần và dự báo hiện tại, dựa trên các hệ điều hành di động thông dụng.

2. Ứng dụng phát triển cho phiên bản iOS/Android nào?

Liệu ứng dụng sắp được phát triển có cần sử dụng bất kỳ tính năng đặc trưng nào của một phiên bản cụ thể nào của hệ điều hành không?

Nếu có, bạn sẽ muốn đề cập đến điều này trong các tài liệu liên quan đến sản phẩm cũng như là sẽ phải kiểm tra nó trên hệ điều hành cần phát triển. Điều này sẽ ngăn chặn các ứng dụng được cài đặt trên các phiên bản hệ điều hành không được hỗ trợ, tránh được việc bị người dùng đánh giá thấp và có những phản hồi tiêu cực sau khi họ cài đặt được ứng dụng trên một hệ điều hành không được hỗ trợ. Tất nhiên, bạn sẽ phải kiểm tra và đảm bảo rằng ứng dụng của bạn hoạt động như yêu cầu trên các phiên bản hệ điều hành đã được hỗ trợ.

Mobile-application-development-Android-Version-chart.png

mobile-application-development-iOS-Version-chart.png

Những hình ảnh trên cho thấy các thống kê về việc sử dụng các phiên bản khác nhau của Android và iOS. Google cung cấp các số liệu cập nhật cho các phiên bản của Android đang được sử dụng trên tất cả các thiết bị Android và thông tin về việc làm thế nào bạn có thể hỗ trợ nhiều phiên bản. Apple cũng cung cấp số liệu cho việc sử dụng các phiên bản của iOS cùng với một danh sách Checklist của riêng mình (Đây là những số liệu thống kê từ tháng 9 năm 2013 trước khi iOS 7 ra mắt).

3. Các yêu cầu về thiết bị phần cứng

Liệu ứng dụng cần phát triển có bất kỳ yêu cầu cụ thể nào về phần cứng như bộ nhớ, máy ảnh, CPU... hay không? Dưới đây là các hướng dẫn để kiểm tra xem thiết bị của bạn có đủ bộ nhớ / RAM trong AndroidiOS hay không. Cũng như là kiểm tra có máy ảnh trên iOSAndroid hay không.

4. Độ phân giải màn hình mà ứng dụng cần hỗ trợ là bao nhiêu?

Hãy chắc chắn rằng ứng dụng sẽ hiển thị tốt trên những độ phân giải màn hình được chỉ định của điện thoại cần hỗ trợ. Điện thoại thông minh và máy tính bảng hiện nay có rất nhiều các hình dạng và kích thước khác nhau. Bạn có thể tìm kiếm thông tin về độ phân giải tương ứng của các màn hình điện thoại từ Google rất đơn giản. Một số độ phân giải phổ biến hiện nay như sau:

  • 320 x 480
  • 640 x 960px
  • 480 x 800px
  • 720 x 1280px
  • 768 x 1280px
  • 800 x 1280px
  • 1200 x 1920px
  • 2048 × 1536px

Google cũng cung cấp số liệu thống kê về số lượng các thiết bị có kích thước màn hình vật lý cụ thể và mật độ điểm ảnh. Thông tin về số điểm ảnh với kích thước màn hình khác nhau và làm thế nào có thể hỗ trợ nhiều kích cỡ màn hình cũng đã sẵn có.

5. Có cần phát triển một ứng dụng khác cho máy tính bảng?

Sẽ là 1 lựa chọn tốt khi sử dụng đồ họa chất lượng cao cho các thiết bị có kích thước lớn như máy tính bảng. Đặc biệt là nếu ứng dụng hoặc trò chơi được mong đợi là sẽ được sử dụng trên các thiết bị này.

Một số nhà phát triển còn phát hành riêng một phiên bản HD cho ứng dụng hay trò chơi thay vì chỉ sử dụng một phiên bản duy nhất. Không phân biệt quá trình thực hiện, hãy thử nghiệm trên cả hai loại thiết bị nếu bạn đang mong đợi có một lượng người dùng lớn đáng kể. Google cũng đã phát hành một danh sách kiểm tra chất lượng ứng dụng để giúp các nhà phát triển cung cấp các ứng dụng chất lượng cho các thiết bị máy tính bảng.

6. Xử lý khi xoay màn hình?

Một số trò chơi chỉ làm việc trong chế độ ngang màn hình, trong khi một số ứng dụng được thiết kế để chỉ hoạt động ở chế độ dọc màn hình. Một số khác thì hỗ trợ trên cả 2 chế độ màn hình ngang và dọc. Hãy chắc chắn rằng ứng dụng của bạn không xảy ra bất kỳ vấn đề gì khi bạn xoay màn hình của thiết bị, đặc biệt là các vấn đề ứng dụng bị "cashing" hay các lỗi UI.

7. Kiểm tra chức năng GPS, gia tốc kế, hoạt động của các phím phần cứng

Nếu ứng dụng của bạn yêu cầu sử dụng các tính năng phần cứng sau đây, khi thử nghiệm bạn cũng cần phải kiểm tra đối với các tình huống khi chúng không có sẵn:

  • Các phím phần cứng

Ví dụ như ứng dụng chụp ảnh sẽ sử dụng một phím chụp ảnh chuyên dụng trên thiết bị. Các ứng dụng về Task / Event Manager sẽ sử dụng các nút phần cứng để thực hiện việc hủy một lời nhắc nhở. Các ứng dụng nghe nhạc xem phim sẽ sử dụng các phím điều chỉnh âm lượng... Một số ứng dụng cũng sử dụng nút nguồn của thiết bị để cung cấp thêm các chức năng, thêm phím tắt cho các xử lý của ứng dụng.

  • Gia tốc kế

Các ứng dụng sử dụng gia tốc kế thì yêu cầu phải kiểm tra để đảm bảo rằng các bài đọc đều được ghi lại một cách chính xác và sử dụng một cách chính xác trong các ứng dụng. Trường hợp này có thể có liên quan đến các ứng dụng như Bản đồ, Máy đo bước, Jump trackers, Các trò chơi, ứng dụng 3D trực quan v.v..

  • GPS

Ứng dụng Navigation sẽ được xử lý như thế nào nếu GPS bị tắt hoặc tắt đột ngột trong khi đang hoạt động?

  • Các cảm biến khác

Nếu ứng dụng phụ thuộc vào cảm biến với nhiệt độ, độ sáng hoặc bất kỳ phụ kiện nào mà cung cấp các chức năng bổ sung, thì bạn cần phải chắc chắn rằng bạn đã thử nghiệm với điều kiện khi các yếu tố liên quan không có sẵn hoặc hoạt động không chính xác.

8. Các vấn đề kết nối mạng - GPRS, 2G, 3G, WiFi, kết nối liên tục, Không có kết nối

Hầu hết các ứng dụng được phát triển dựa trên kết nối WiFi. Tuy nhiên, điều quan trọng là cần thử nghiệm các ứng dụng trong môi trường thực, nơi người dùng có thể không có quyền truy cập WiFi. Thông thường khi người dùng đang di chuyển, kết nối mạng cũng sẽ không liên tục, có thể bị ngắt kết nối, tốc độ đường truyền của mạng cũng thay đổi dựa trên vị trí vật lý của người dùng và loại mạng mà họ sử dụng. Các ứng dụng phải được test để đảm bảo được khả năng xử lý các tình huống này một cách mềm dẻo và linh hoạt.

9. Kiểm tra mobile và cập nhật ứng dụng web

Liệu ứng dụng điện thoại di động của bạn có sử dụng một thành phần phía máy chủ hoặc một dịch vụ web nào không? Liệu các ứng dụng di động có cần một bản cập nhật khi các thành phần phía máy chủ được cập nhật hay không? Nếu có, hãy chắc chắn rằng sẽ có một thử nghiệm để theo dõi việc này, tránh bất kỳ lỗi nào do con người gây ra.

10. Kiểm tra ứng dụng khi bị gián đoạn

Có những sự kiện khác nhau của những ứng dụng khác trên điện thoại mà có thể làm gián đoạn luồng xử lý của ứng dụng cần phát triển. Vì vậy cần đảm bảo rằng các cạnh tranh từ các sự kiện khác tác động đến ứng dụng đều phải được xử lý. Ví dụ một số cạnh tranh thường xảy ra khi ứng dụng đang chạy:

  • Có cuộc gọi đến
  • Có tin nhắn văn bản
  • Có thông báo của ứng dụng khác
  • Có báo thức
  • Bộ nhớ còn ít
  • Pin yếu
  • Pin chết
  • Hết bộ nhớ
  • Máy đang ở chế độ trên máy bay
  • Kết nối không liên tục
  • Hiện thị chuyển các màn hình
  • Máy đang ở chế độ ngủ
  • Cắm/rút sạc
  • Cắm/rút tai nghe
  • Kích hoạt các ứng dụng khác mà có khả năng cạnh tranh
  • Ấn các phím phần cứng khi...

11. Kiểm tra tính bảo mật của ứng dụng di động

Trong thời buổi hiện nay thì an ninh và bảo mật sự riêng tư của dữ liệu là vô cùng quan trọng. Người dùng sẽ cảm thấy bất an về việc dữ liệu và thông tin của họ sẽ bị rò rỉ hay phá hoại khi sử dụng các ứng dụng nhạy cảm, dễ bị xâm nhập. Vậy:

  • Ứng dụng của bạn có lưu trữ thông tin thanh toán hoặc các chi tiết của thẻ tín dụng hay không?
  • Liệu ứng dụng của bạn đã sử dụng giao thức mạng an toàn?
  • Dữ liệu đăng ký trong ứng dụng có thể bị chuyển cho những người không an toàn không?
  • Liệu các ứng dụng có yêu cầu quyền truy cập nhiều hơn mức cần thiết?
  • Liệu ứng dụng của bạn có sử dụng giấy chứng nhận để truy cập hay không?
  • Liệu ứng dụng của bạn có sử dụng một thiết bị nhận dạng nào khác như một định danh để truy cập hay không?
  • Liệu ứng dụng của bạn có yêu cầu người dùng được xác thực trước khi họ được phép truy cập vào dữ liệu của ứng dụng hay không?
  • Có quy định số lần truy cập lỗi tối đa trước khi ứng dụng bị khóa hay không?

Khi xác thực người sử dụng qua mạng, ứng dụng nên mã hóa tên người dùng và mật khẩu của họ. Một cách để kiểm tra các tình huống liên quan đến an ninh là để lộ dữ liệu của điện thoại di động của bạn thông qua một máy chủ proxy như OWASP Zed Attack Proxy và tìm kiếm các lỗ hổng của ứng dụng.

** 12. Kiểm tra ứng dụng thanh toán, quảng cáo và tích hợp cổng thanh toán**

Nếu ứng dụng của bạn có việc thực hiện thanh toán, quảng cáo hoặc sử dụng các cổng thanh toán cho các giao dịch thương mại điện tử, bạn sẽ cần phải thực hiện kiểm thử "End to End" để đảm bảo rằng không có vấn đề trong các giao dịch. Thử nghiệm cho tích hợp cổng thanh toán và quảng cáo sẽ cần tài khoản được tạo ra từ hệ thống cổng thanh toán và máy chủ Quảng cáo trước khi thử nghiệm có thể bắt đầu.

13. Kiểm tra hiệu năng

Bạn đã kiểm tra xem hiệu suất của các ứng dụng di động bị ảnh hưởng như thế nào khi tăng kích thước của hộp thư, album, bài viết, tin nhắn, âm nhạc hoặc bất kỳ nội dung nào khác liên quan đến các ứng dụng chưa?

Ngày nay, các thiết bị đều hỗ trợ sẵn dung lượng lưu trữ lớn và rẻ tiền, người dùng có thể lưu trữ một lượng dữ liệu rất lớn trên di động của họ. Người dùng thậm chí có thể lưu trữ một lượng tin nhắn lớn qua rất nhiều năm. Nếu ứng dụng của bạn có sử dụng các nội dung mà người dùng tạo ra hoặc có dữ liệu liên kết với nó, ví dụ: các bức ảnh hay tin nhắn SMS.v.v.. mà có thể phát triển đến tỷ lệ rất lớn vượt qua cả vòng đời của ứng dụng, khi đó bạn nên có các kịch bản để xem ứng dụng của mình sẽ xử lý như thế nào. Trong trường hợp ứng dụng có một thành phần phía máy chủ, bạn cũng nên kiểm tra các ứng dụng với sự gia tăng số lượng người dùng.

Kiểm thử hiệu năng có thể được thực hiện bằng tay hoặc cũng có thể sử dụng các công cụ hỗ trợ như Little EyeNeo Load. Hai công cụ này có thể giúp bạn với kiểm tra được hiệu năng của các ứng dụng trên điện thoại di động.

14. Các vấn đề khi kiểm tra các vị trí và múi giờ

Nếu ứng dụng của bạn hỗ trợ nhiều ngôn ngữ, thì nó cần phải được kiểm tra bằng các ngôn ngữ khác nhau để đảm bảo rằng không có vấn đề xảy ra về việc mã hóa ký tự, vấn đề dữ liệu bị cắt ngắn hoặc bất kỳ vấn đề giao diện người dùng nào do sự thay đổi loại ký tự và độ dài.

Bạn cũng cần phải kiểm tra các ứng dụng để đảm bảo rằng đã được xử lý các thay đổi về múi giờ. Ví dụ: Điều gì xảy ra nếu một người sử dụng di chuyển sang một múi giờ khác và lại trở về múi giờ cũ của mình?

15. Kiểm tra tích hợp ứng dụng với các mạng xã hội

Ngày nay hầu hết các ứng dụng đều được tích hợp khả năng chia sẻ một bài đăng từ các ứng dụng đó lên tài khoản mạng xã hội của người dùng. Tuy nhiên hầu hết người dùng muốn được nhắc nhở trước khi bài được đăng lên. Liệu ứng dụng của bạn đã có xử lý này chưa? Đã có phép chia sẻ với các mạng xã hội thông dụng tại quốc gia sẽ sử dụng ứng dụng hay chưa?

16. Kiểm tra kết nối với phần cứng - Bluetooth, WiFi, NFC, USB - nhận thiết bị

Điện thoại thông minh thường đi kèm với rất nhiều lựa chọn kết nối. Nếu ứng dụng của bạn sử dụng các tùy chọn kết nối sau đây:

  • Bluetooth
  • WiFi
  • USB
  • NFC thì bạn nên kiểm tra chúng để đảm bảo chúng hoạt động đúng như mong đợi.

Bạn cũng nên kiểm tra để xem cách xử lý lỗi trong các trường hợp bị ngắt kết nối trong quá trình đang chuyển / giao dịch dữ liệu có ổn hay không. Ví dụ: Ứng dụng quản lý tập tin hoặc chỉnh sửa ảnh cho phép người dùng chia sẻ file dữ liệu. AirDroid là một ứng dụng cho phép chuyển các tập tin giữa máy tính và điện thoại di động qua mạng wifi mà không cần kết nối cable USB trực tiếp.

17. Tích hợp Google Play / Apple App Store và danh sách các thiết bị được hỗ trợ / hạn chế

Cuối cùng, cần phải kiểm tra xem các ứng dụng có được triển khai thành công trên App store / Play store hay không? Và đảm bảo rằng ứng dụng này chỉ có sẵn trên các thiết bị có tên trong danh sách thiết bị được hỗ trợ. Trên các thiết bị không được hỗ trợ, người dùng sẽ không thể nhìn thấy ứng dụng này.

Trên đây là 17 điểm cần chú ý khi thực hiện phát triển hoặc test một ứng dụng trên điện thoại di động. Khi ứng dụng trên điện thoại của bạn vượt qua được các danh sách checklist này, kết hợp với việc đáp ứng đúng các yêu cầu về nghiệp vụ khác của khách hàng, thì bạn đã có một sản phẩm có chất lượng thực sự được đảm bảo.

Bài viết được tham khảo từ link: http://istqbexamcertification.com/mobile-application-development-and-testing-checklist/