17 điểm cần nhớ khi phát triển một ứng dụng di động
Ngày nay, tham gia phát triển ứng dụng di động ngày càng phát triển kéo theo yêu cầu về chất lượng sản phẩm ngày càng được quan tâm. Dưới đây là 17 điểm quan trọng cần nhớ đối với phát triển ứng dụng di động. 1. Nền tảng phát triển ứng dụng là gì? iOS hay Android? iOS và Android là hai nền ...
Ngày nay, tham gia phát triển ứng dụng di động ngày càng phát triển kéo theo yêu cầu về chất lượng sản phẩm ngày càng được quan tâm. Dưới đây là 17 điểm quan trọng cần nhớ đối với phát triển ứng dụng di động.
1. Nền tảng phát triển ứng dụng là gì? iOS hay Android?
-
iOS và Android là hai nền tảng đang được ưa chuộng để phát triển các ứng dụng di động. Tuy nhiên, Blackberry vẫn được sử dụng bởi một số người dùng doanh nghiệp và một số lượng người dùng đáng kể của các nước đang phát triển vẫn sử dụng điện thoại Symbian. Do đó, bạn cần biết trước về nền tảng nào đang được mong đợi sẽ được hỗ trợ. Điều này sẽ giúp bạn đưa ra các quyết định quan trọng đối với kiến trúc, thiết kế của mình và cung cấp đầu vào cho dù bạn muốn phát triển một ứng dụng hoàn toàn bản địa hoặc sử dụng một framework như PhoneGap. Các nền tảng phổ biến được liệt kê dưới đây:
- Android
- iOS
- Windows Mobile
- Blackberry
- Symbian
-
Bài báo của Forbes cung cấp chi tiết về thị trường và xu hướng sử dụng cả các hệ điều hành trên nền tảng di động ( link tham khảo)
2. Phiên bản iOS nào bạn nên nhắm tới? Phiên bản Android nào bạn nên phát triển?
- Ứng dụng của bạn có sử dụng bất kỳ tính năng nào được giới thiệu trong một phiên bản cụ thể của hệ điều hành không? Nếu vậy, bạn sẽ muốn nhắc đến điều này trong tài liệu hướng dẫn của bạn, và cũng thử nghiệm nó trên hệ điều hành đích. Nó cũng là cách tốt nhất để ngăn không cho ứng dụng của bạn cài đặt trên các phiên bản hệ điều hành không được hỗ trợ. Điều này để tránh sự phản hổi tiêu cực và đánh giá xếp hạng thấp từ phía người dùng khi cài đặt ứng dụng trên một hệ điều hành không được hỗ trợ. Tất nhiên, bạn sẽ muốn thử nghiệm và đảm bảo rằng ứng dụng của bạn làm việc tốt trên phiên bản hệ điều hành đích.
- Hình ảnh trên cho thấy số liệu thống kê sử dụng cho các phiên bản Android và iOS khác nhau.
3. Yêu cầu thiết bị phần cứng
- Ứng dụng của bạn có bất kỳ yêu cầu phần cứng cụ thể nào như bộ nhớ, máy ảnh, CPU ... Như đã đề cập ở trên, tốt nhất nên ngăn chặn việc cài đặt trên các thiết bị không được hỗ trợ khi có thể.
4. Độ phân giải màn hình nào bạn nên hướng tới?
-
Đảm bảo rằng ứng dụng của bạn hoạt động tốt trên độ phân giải màn hình đích của bạn. Điện thoại thông minh và máy tính bảng hoạt động tốt trên tất cả các hình dạng và kích thước. Danh sách các thiết bị với độ phân giản màn hình và mật độ hiển thị có sẵn trên Wikipedia. Dưới đây là một vài độ phân giải phổ biến
- 320 x 480px
- 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ề kích cỡ màn hình và mật độ màn hình
-
Trong đó:
- ldpi (low) ~120dpi
- mdpi (medium) ~160dpi
- hdpi (high) ~240dpi
- xhdpi (extra-high) ~320dpi
- xxhdpi (extra-extra-high) ~480dpi
- xxxhdpi (extra-extra-extra-high) ~640dpi
-
Link tham khảo thông tin chi tiết về số pixel cho các kích thước màn hình khác nhau.
5. Nên phát triển một ứng dụng khác cho máy tính bảng không?
- Thật tốt khi sử dụng đồ họa chất lượng cao cho các thiết bị lớn như máy tính bảng, đặc biệt nếu ứng dụng hoặc trò chơi của bạn được mong đợi sử dụng trên các thiết bị này. Một số nhà phát triển phát hành một phiên bản HD riêng biệt của ứng dụng game thay vì sử dụng một package duy nhất. Bất kể quá trình triển khai của bạn như thế nào, cũng cần thử nghiệm trên cả hai thiết bị nếu bạn mong đợi nó làm việc tốt trên cả hai. Google cũng phát hành danh sách kiểm tra chất lượng ứng dụng để giúp các nhà phát triển ứng dụng 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. Định hướng ngang hay dọc?
- Một số game chỉ hoạt động trong chế độ nằm ngang, trong khi một số ứng dụng được thiết kế chỉ hoạt động ở chế độ dọc và một số chức năng khác ở cả hai chế độ. Đảm bảo rằng ứng dụng của bạn không gặp vấn đề về ngắt ứng dụng hoặc giao diện khi đổi hướng màn hình.
7. Kiểm tra tính năng GPS, Accelerometer và hardware key
- 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, các trường hợp thử nghiệm của bạn cũng cần kiểm tra cho các kịch bản khi chúng chưa sẵn sàng.
- Hardware key: ứng dụng máy ảnh sử dụng nút camera chuyên dụng, các dứng dụng Task/Event Manager sử dụng các nút phần cứng để báo lại lời nhắc, các trình phát media sử dụng âm lượng và các phím khác ... Một số ứng dụng cũng sử dụng nút nguồn để cung cấp chức năng thêm vào và phím tắt.
- ***Accelerometer (máy đo gia tốc)***: Các ứng dụng sử dụng gia tốc cần được thử nghiệm để đảm bảo rằng các giá trị đọc được ghi lại chính xác và sử dụng đúng trong ứng dụng. Trường hợp thử nghiệm này có thể liên quan đến các ứng dụng như Star Map, Pedometers, Jump trackers, Games, 3D visualization ...
- GPS: Các ứng dụng điều hướng của bạn sẽ như thế nào nết GPS bị tắt đột ngột hoặc mất kết nối trong quá trình hoạt động.
- Any other sensor: Nếu ứng dụng của bạn phụ thuộc vào cảm biến như nhiệt độ, độ sáng hoặc bất kỳ điều gì, bạn cần đảm bảo rẳng bạn đã kiểm tra các điều kiện khi chúng không có sẵn hoặc không hoạt động chính xác.
8. Các vấn đề kết nối mạng - GPRS, 2G, 3G, wifi, kết nối gián đoạn, không kết nối.
- Hầu hết các ứng dụng được phát triển trong sự hiện diện của wifi. Tuy nhiên điều quan trọng là thử nghiệm các ứng dụng trong điều kiện thực tế có thể người dùng không có quyền truy cập vào wifi. Thông thường, khi mọi người đang di chuyển kết nối mạng là không liên tục, tốc độ mạng cũng khác nhau. Vì vậy ứng dụng của bạn phải có khả năng xử lý các tình huống đó một các nhịp nhàng.
9. Kiểm thử mobile và ứng dụng được cập nhật
- Ứng dụng di động có cần cập nhật khi phía máy chủ cập nhật không? Nếu có hãy đảm bảo có một trường hợp thử nghiệm cho nó.
10. Kiểm tra khi ứng dụng bị gián đoạn
- Có nhiều sự kiện khác nhau có thể làm gián đoạn dòng chảy ứng dụng của bạn. Ứng dụng của bạn nên có khả năng xử lý những điều này. Các sự kiện làm gián đoạn có thể là:
- Incoming Call
- Text message
- Other app notifications
- Storage low
- Battery low
- Battery dead
- No storage
- Airplane mode
- Intermittent connectivity
- Home screen jump
- Sleep mode
11. Kiểm tra sự bảo mật của ứng dụng
-
Bảo mật và đảm bảo dữ liệu là điều rất quan trọng trong ngày nay. Người dùng đang lo lắng về dữ liệu của họ và các thông tin truy cập thông qua các ứng dụng dễ bị tấn công.
- Ứng dụng của bạn có lưu thông tin thanh toán hoặc thông tin thẻ tín dụng không?
- Ứng dụng của bạn có sử dụng các giao thức mạng an toàn không?
- Ứng dụng của bạn liệu có thể bị chuyển sang những nơi không an toàn không?
- Ứng dụng có hỏi nhiều thông tin truy cập hơn nó cần không?
- Ứng dụng của bạn có sử dụng Device ID như một định danh không?
- Ứng dụng của bạn có yêu cầu xác thực người dùng khi truy cập dữ liệu của họ không?
- Có yêu cầu số lần đăng nhập tối đa trước khi bị khóa không?
-
Các ứng dụng nên được mã hóa tên người dùng và mật khẩu khi xác thực người dùng qua mạng. Một cách để kiểm tra bảo mật liên quan đến các kịch bản định tuyến dữ liệu di động của bạn thông qua một máy chủ proxy như OWASP Zed Attack Proxy và tìm lỗ hổng.
12. Kiểm thử thanh toán, quảng cáo và tích hợp cổng thanh toán trong ứng dụng của bạn
- Nếu ứng dụng của bạn sử dụng chức năng thanh toán, quảng cáo hoặc cổng thanh toán cho các giao dịch thương mại điện tử, bạn cẩn kiểm thử giao dịch từ đầu đến cuối để đảm bảo không có vấn đề gì phát sinh trong quá trình giao dịch. Kiểm thử tích hợp cổng thanh toán và quảng cáo sẽ cần có tài khoản được tạo ra từ cổng máy chủ và cổng thanh toán trước khi thử nghiệm.
13. Kiểm thử hiệu suất ứng dụng di động
- Bạn đã kiểm tra xem hiệu suất ứng dụng di động của bạn có bị giảm xuống hay không khi kích cỡ của mailbox, album, messages, music hoặc bất kỳ nội dung nào khác liên quan đến ứng dụng tăng lên. Bạn nên có các trường hợp thử nghiệm cho các vấn đề đó. Little Eye và Neo Load là hai ứng dụng có thể gúp bạn kiểm thử về hiệu suất và khả năng chịu tải của ứng dụng di động của bạn.
14. Vấn đề về localization và timezone
- Nếu ứng dụng của bạn là đa ngôn ngữ, nó cần được kiểm tra bằng các ngôn ngữ khác nhau để đảm bảo rằng không có vấn đề gì về mã hóa ký tự hoặc vấn đề về giao diện người dùng khi độ dài ký tự khác nhau. Bạn cũng cần kiểm tra ứng dụng cho các xử lý khi thay đổi múi giờ. Điều gì sẽ xảy ra nếu người dùng di chuyển qua một múi giờ khác và quay trở lại múi giờ trước của mình.
15. Thử nghiệm tích hợp mạng xã hội
- Nhiều ứng dụng ngày nay có khả năng chia sẻ bài đăng từ ứng dụng trên tài khoản của người dùng. Tuy nhiều hầu hết người dùng muốn được nhắc trước khi bài đăng được chia sẻ trên tài khoản của họ. Ứng dụng của bạn có xử lý điều này không? Họ có được phép chia sẻ thông điệp trạng thái đang được chia sẻ không?
16. Kiểm tra kết nối thiết bị phần cứng: bluetooth, wifi, NFC, USB.
- Điện thoại thông minh đi liền với 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 dưới đây (quản lý tệp tin hoặc trình sửa ảnh cho phép bạn chia sẻ tệp của mình, AirDroid cho phép bạn truyền tệp tin giữa PC và điện thoại di động thông qua wifi), thì bạn cần kiểm tra chúng để đảm bảo chúng hoạt động như mong đợi. Bạn nên kiểm tra xem cách họ xử lý lỗi khi kết nối bị mất trong quá trình chuyển hoặc giao dịch. Cơ chế sử dụng phổ biến để chia sẻ dữ liệu hoặc giao dịch là:
- Bluetooth
- Wifi
- USB
- NFC
17. Tích hợp của hàng Google Play / Apple Store và danh sách thiết bị được hỗ trợ / hạn chế
- Bạn cần kiểm thử các trường hợp đảm bảo ứng dụng dành cho thiết bị di động được triển khai thành công đến của hàng App store / Play store và chỉ có sẵn với các thiết bị được hỗ trợ.
Bài viết dựa trên nguồn link tham khảo