Danh sách kiểm tra này đưa ra một bộ tiêu chí cốt lõi về chất lượng và các bài kiểm thử liên quan để giúp bạn đánh giá chất lượng của ứng dụng. Một vài tiêu chí trong số này rất dễ bị bỏ sót, nên những bài kiểm thử này giúp bạn nhớ đưa những tiêu chí này vào kế hoạch kiểm thử.
Danh sách kiểm tra nhấn mạnh những tiêu chí chất lượng tối thiểu mà tất cả ứng dụng phải đáp ứng. Nội dung kiểm thử của bạn có thể cao hơn nhiều những gì được mô tả ở đây.
Mỗi mục trong danh sách kiểm tra chất lượng đều có một mã nhận dạng duy nhất mà bạn có thể thấy rất hữu ích khi bạn giao tiếp với nhóm của mình.
Trải nghiệm về hình ảnh
Ứng dụng của bạn phải cung cấp mẫu tương tác và thiết kế hình ảnh tiêu chuẩn trên Android sao cho phù hợp, nhằm mang lại trải nghiệm nhất quán và trực quan cho người dùng.
Khía cạnh | Mã nhận dạng | Kiểm thử | Mô tả |
---|---|---|---|
Điều hướng | VX-N1 | CR-3 | Ứng dụng hỗ trợ tính năng Thao tác bằng nút quay lại tiêu chuẩn và không nhắc "Nút quay lại" tuỳ chỉnh trên màn hình. |
VX-N2 | CR-3 | Ứng dụng hỗ trợ thao tác bằng cử chỉ để quay lại/chuyển đến màn hình chính. | |
VX-N3 | CR-1 CR-3 CR-5 |
Ứng dụng lưu giữ và khôi phục chính xác trạng thái của người dùng hoặc ứng dụng. Ứng dụng giữ nguyên trạng thái của ứng dụng hoặc người dùng khi người dùng rời khỏi chế độ nền trước và ngăn việc vô tình mất dữ liệu do thao tác quay lại và các thay đổi khác về trạng thái. Khi quay lại nền trước, ứng dụng sẽ khôi phục trạng thái được bảo lưu cũng như mọi trao đổi dữ liệu quan trọng đang chờ xử lý. Ví dụ: thay đổi đối với các trường có thể chỉnh sửa, tiến trình chơi, trình đơn, video và các phần khác của ứng dụng hoặc trò chơi.
|
|
Thông báo | VX-S1 | CR-9 | Thông báo tuân theo nguyên tắc của Material Design. Cụ thể:
|
VX-S2 | CR-9 | Đối với các ứng dụng nhắn tin / mạng xã hội và cuộc trò chuyện:
|
|
Giao diện người dùng và đồ hoạ | VX-U1 | CR-5 | Ứng dụng hỗ trợ cả hướng ngang và hướng dọc (nếu có thể).
Phần lớn các tính năng và thao tác sẽ giống nhau ở các hướng và duy trì sự đồng nhất về chức năng. Có thể chấp nhận những thay đổi nhỏ về nội dung hoặc chế độ xem. |
VX-U2 | CR-5 | Ứng dụng sử dụng toàn bộ màn hình ở cả hai hướng và không tạo khung viền hòm thư do có thay đổi về hướng.
Chấp nhận được khung viền hòm thư nhỏ để lấp vào những chỗ còn trống tuỳ theo hình dạng hình học của màn hình. |
|
VX-U3 | CR-5 | Ứng dụng xử lý đúng cách quá trình chuyển đổi nhanh giữa các hướng hiển thị mà không gặp vấn đề khi kết xuất hình ảnh hoặc mất trạng thái. | |
Chất lượng hình ảnh | VX-V1 | CR-all | Ứng dụng hiển thị đồ hoạ, văn bản, hình ảnh và các thành phần khác trên giao diện người dùng mà không bị méo, mờ hay vỡ hình.
|
VX-V2 | CR-all | Ứng dụng hiện các khối văn bản và văn bản theo cách phù hợp với từng ngôn ngữ được hỗ trợ trong ứng dụng.
|
|
VX-V3 | CR-all | Nội dung của ứng dụng và tất cả nội dung web mà ứng dụng tham chiếu đến đều hỗ trợ giao diện tối. |
Chức năng
Ứng dụng của bạn phải triển khai hành vi của chức năng đúng như dự tính.
Khía cạnh | Mã nhận dạng | Kiểm thử | Mô tả |
---|---|---|---|
Âm thanh | FN-A1 | CR-1 CR-8 |
Khi trở về nền trước, ứng dụng sẽ sẽ tiếp tục phát âm thanh, hoặc cho người dùng biết rằng nội dung phát đang ở trạng thái tạm dừng. |
FN-A2 | CR-1 CR-2 CR-8 |
Nếu phát âm thanh là một tính năng cốt lõi, ứng dụng phải hỗ trợ phát ở chế độ nền. | |
FN-A3 | CR-0 | Khi người dùng bắt đầu phát âm thanh, thì trong vòng một giây, ứng dụng phải thực hiện một trong những thao tác sau:
|
|
FN-A4 | CR-0 | Ứng dụng phải yêu cầu cấp quyền phát âm thanh khi bắt đầu phát âm thanh và từ bỏ quyền phát âm thanh khi dừng phát. | |
FN-A5 | CR-0 | Ứng dụng phải xử lý yêu cầu của các ứng dụng khác đối với quyền phát âm thanh. Ví dụ: một ứng dụng có thể giảm âm lượng phát nội dung khi một ứng dụng khác phát giọng nói. | |
Nội dung nghe nhìn | FN-M1 | CR-0 CR-6 CR-8 |
Nếu phát âm thanh ở chế độ nền thì ứng dụng phải tạo một Thông báo được định kiểu bằng MediaStyle. |
FN-M2 | CR-0 | Nếu phát video, ứng dụng của bạn phải hỗ trợ chế độ phát hình trong hình. | |
FN-M3 | CR-0 | Nếu mã hoá video thì ứng dụng phải mã hoá bằng tiêu chuẩn nén video HEVC. | |
Chia sẻ | FN-S1 | CR-0 | Khi chia sẻ nội dung, ứng dụng phải sử dụng Trang chia sẻ nội dung trong Android. Trang này có thể đề xuất cả những mục tiêu không sẵn có cho các giải pháp tuỳ chỉnh. |
Dịch vụ nền | FN-B1 | CR-6 | Ứng dụng tránh chạy các dịch vụ nền khi có thể. Để đảm bảo thiết bị của người dùng hoạt động trơn tru, hệ thống áp dụng nhiều quy định hạn chế đối với các dịch vụ nền. Những trường hợp dưới đây không được xem là trường hợp sử dụng dịch vụ nền đúng cách:
Tìm hiểu cách chọn giải pháp phù hợp cho công việc của bạn. |
FN–B2 | CR-10 | Ứng dụng hỗ trợ đúng cách các tính năng quản lý nguồn pin ra mắt trong Android 6.0 (Chế độ nghỉ và Chế độ chờ ứng dụng). Trong trường hợp chức năng cốt lõi bị gián đoạn do việc quản lý nguồn pin, thì chỉ những ứng dụng đủ điều kiện mới có thể yêu cầu miễn trừ. Xem phần Hỗ trợ các trường hợp sử dụng khác liên quan đến Chế độ nghỉ và Chế độ chờ ứng dụng. |
Hiệu suất và độ ổn định
Ứng dụng của bạn phải mang đến hiệu suất, độ ổn định, khả năng tương thích và khả năng thích ứng mà người dùng mong đợi.
Khía cạnh | Mã nhận dạng | Kiểm thử | Mô tả |
---|---|---|---|
Độ ổn định | PS-S1 | CR-all SD-1 |
Ứng dụng không gặp sự cố hoặc chặn luồng giao diện người dùng gây ra lỗi ANR (Android không phản hồi). Hãy sử dụng báo cáo trước khi ra mắt của Google Play để xác định các vấn đề tiềm ẩn về độ ổn định. Sau khi triển khai, hãy chú ý đến trang Android Vitals trong Google Play Developer Console. |
Hiệu suất | PS-P1 | CR-all SD-1 |
Ứng dụng tải nhanh hoặc đưa ra phản hồi trên màn hình cho người dùng (chỉ báo tiến trình hoặc biểu tượng có chức năng tương tự) nếu quá trình tải ứng dụng mất hơn 2 giây. |
PS-P2 | CR-all SD-1 |
Ứng dụng phải kết xuất khung hình sau mỗi 16 mili giây để đạt được tốc độ 60 khung hình/giây. Nhà phát triển có thể sử dụng tuỳ chọn Lập hồ sơ kết xuất HWUI (Profile HWUI rendering) trong quá trình kiểm thử. Nếu gặp vấn đề, bạn có thể sử dụng các công cụ chẩn đoán kết xuất chậm. | |
PS-P3 | PM-1 | Khi StrictMode đang bật (xem Kiểm thử StrictMode bên dưới), cảnh báo nhấp nháy màu đỏ (cảnh báo hiệu suất của StrictMode) sẽ không xuất hiện trong quá trình kiểm thử ứng dụng. Mọi cảnh báo nhấp nháy màu đỏ đều thể hiện hành vi xấu liên quan đến bộ nhớ, quyền truy cập mạng hoặc sự cố rò rỉ bộ nhớ. | |
SDK | PS-T1 | CR-0 | Ứng dụng chạy trên phiên bản công khai mới nhất của nền tảng Android mà không gặp sự cố hoặc không ảnh hưởng nghiêm trọng đến chức năng cốt lõi. |
PS-T2 | SP-1 | Ứng dụng nhắm đến SDK Android mới nhất bằng cách đặt giá trị targetSdk . |
|
PS-T3 | SP-1 | Ứng dụng được xây dựng bằng SDK mới nhất bằng cách đặt giá trị compileSdk . |
|
PS-T4 | SP-2 SP-3 |
Mọi SDK của bên thứ ba mà bạn sử dụng đều là phiên bản mới nhất. Bạn phải kịp thời cung cấp cho người dùng mọi điểm cải tiến đối với những SDK này, chẳng hạn như tính ổn định, khả năng tương thích hoặc tính bảo mật. Nhà phát triển chịu trách nhiệm về toàn bộ cơ sở mã của ứng dụng, kể cả SDK của bên thứ ba mà nhà phát triển sử dụng. |
|
PS-T5 | CR-0 | Ứng dụng không sử dụng giao diện không phải SDK. | |
Pin | PS-B1 | BA-1 | Ứng dụng hỗ trợ đúng cách các tính năng quản lý nguồn pin ra mắt trong Android 6.0 (Chế độ nghỉ và Chế độ chờ ứng dụng). Trong trường hợp chức năng cốt lõi bị gián đoạn do việc quản lý nguồn pin, thì chỉ những ứng dụng đủ điều kiện mới có thể yêu cầu miễn trừ. Trong quá trình phát triển, nhà phát triển có thể kiểm tra hành vi ở chế độ chờ và chế độ nghỉ của ứng dụng bằng cách sử dụng các lệnh ADB này.
Về mức sử dụng pin, nhà phát triển có thể dùng Trình phân tích năng lượng của Android Studio hoặc công cụ Battery Historian (kết hợp với công việc theo kế hoạch ở chế độ nền) để chẩn đoán mức sử dụng pin ngoài dự kiến. |
Quyền riêng tư và bảo mật
Ứng dụng của bạn phải xử lý dữ liệu người dùng và thông tin cá nhân sao cho an toàn với cấp độ quyền thích hợp.
Ngoài danh sách kiểm tra này, các ứng dụng phát hành trên Cửa hàng Google Play còn phải tuân thủ Chính sách dữ liệu người dùng để bảo vệ quyền riêng tư của người dùng.
Khía cạnh | Mã nhận dạng | Kiểm thử | Mô tả |
---|---|---|---|
Quyền | SC-P1 | SC-4 | Ứng dụng chỉ yêu cầu số lượng quyền tối thiểu tuyệt đối cần thiết để hỗ trợ trường hợp sử dụng. Đối với một số quyền như vị trí, nếu có thể thì hãy sử dụng thông tin vị trí tương đối thay cho vị trí chính xác. |
SC-P2 |
Ứng dụng chỉ nên yêu cầu cấp quyền truy cập vào dữ liệu nhạy cảm (chẳng hạn như SMS, Nhật ký cuộc gọi hoặc Vị trí) hoặc các dịch vụ có tính phí (chẳng hạn như Trình quay số hoặc SMS) nếu dịch vụ đó liên quan trực tiếp đến các trường hợp sử dụng của các ứng dụng. Bạn phải thông báo rõ ràng cho người dùng về hệ quả liên quan đến những quyền này. Tuỳ thuộc vào cách bạn sử dụng quyền, có thể có một cách thay thế để đáp ứng trường hợp sử dụng ứng dụng của ứng dụng mà không cần đến quyền truy cập vào thông tin nhạy cảm. Ví dụ: thay vì yêu cầu các quyền liên quan đến danh bạ của người dùng, bạn nên yêu cầu quyền truy cập bằng cách sử dụng ý định ngầm ẩn. |
||
SC-P3 | CR-0 | Thay vì yêu cầu trước trong quá trình khởi động, ứng dụng sẽ yêu cầu quyền khi bắt đầu chạy theo bối cảnh, chẳng hạn như khi người dùng yêu cầu một chức năng nào đó. | |
SC-P4 | CR-0 | Ứng dụng phải thiết kế trải nghiệm người dùng để truyền tải rõ ràng lý do cần có một số quyền nhất định. Nếu trường hợp đó không thể, nó nên thực hiện theo quy trình được đề xuất để giải thích lý do một tính năng trong ứng dụng của bạn cần được cấp quyền. Ứng dụng nên xuống cấp nhẹ khi người dùng từ chối hoặc thu hồi quyền. Ứng dụng ngăn chặn triệt để người dùng truy cập chính ứng dụng đó. |
|
Dữ liệu và tệp | SC-DF1 | SC-1 | Tất cả dữ liệu nhạy cảm đều được lưu trữ tại bộ nhớ trong của ứng dụng. |
SC-DF2 | SC-10 | Không có dữ liệu cá nhân hoặc nhạy cảm nào của người dùng được ghi vào nhật ký hệ thống hoặc nhật ký dành riêng cho ứng dụng. | |
SC-DF3 | Ứng dụng không được dùng mã phần cứng không đặt lại được (chẳng hạn như mã IMEI) cho mục đích nhận dạng. | ||
Danh tính | SC-ID1 | CR-0 | Đưa ra gợi ý để tự động điền thông tin đăng nhập tài khoản và các thông tin nhạy cảm khác, chẳng hạn như thông tin thẻ tín dụng, địa chỉ thực tế và số điện thoại. |
SC-ID2 | CR-0 | Tích hợp cơ chế Một lần chạm cho Android để có trải nghiệm đăng nhập liền mạch. | |
SC-ID3 | CR-0 | Tích hợp tính năng xác thực bằng sinh trắc học để bảo vệ các giao dịch tài chính hoặc thông tin nhạy cảm, chẳng hạn như tài liệu quan trọng của người dùng. | |
Thành phần ứng dụng | SC-AC1 | SC-5 | Chỉ những thành phần ứng dụng có chia sẻ dữ liệu với ứng dụng khác hoặc các thành phần có thể được các ứng dụng khác gọi, mới được xuất.
Trong đó có hoạt động, dịch vụ, broadcast receiver và đặc biệt là nhà cung cấp nội dung.
Luôn đặt thuộc tính |
SC-AC2 | CR-0 SC-4 |
Mọi ý định và thông báo đều tuân theo các phương pháp hay nhất:
|
|
SC-AC3 | SC-3 | Tất cả các nhà cung cấp nội dung có chia sẻ nội dung giữa các ứng dụng của bạn đều sử dụng android:protectionLevel="signature" cho các quyền tuỳ chỉnh. Trong đó có hoạt động, dịch vụ, broadcast receiver và đặc biệt là nhà cung cấp nội dung.
Hầu hết ứng dụng không nên dựa vào danh sách gói đã cài đặt. Quyền truy cập này đã bị hạn chế kể từ Android 11.
|
|
Mạng | SC-N1 | SC-9 | Tất cả lưu lượng truy cập mạng đều được gửi qua SSL. |
SC-N2 | SC-6 | Ứng dụng khai báo một cấu hình bảo mật mạng. | |
SC-N3 | Nếu ứng dụng sử dụng Dịch vụ Google Play, thì trình cung cấp dịch vụ bảo mật sẽ được khởi động khi khởi động ứng dụng. | ||
Thư viện | SC–U1 | SP-2 | Tất cả thư viện, SDK và phần phụ thuộc đều được cập nhật. |
SC–U2 | Ứng dụng phát hành chính thức không có thư viện gỡ lỗi. Điều này có thể gây ra các vấn đề về hiệu suất cũng bảo mật. | ||
WebView | SC-W1 | SC-6 | Đừng sử dụng setAllowUniversalAccessFromFileURLs() để truy cập nội dung cục bộ trên thiết bị. Thay vào đó, hãy sử dụng WebViewAssetLoader. |
SC-W2 | SC-7 | WebView không được sử dụng addJavaScriptInterface() với nội dung không đáng tin cậy.
Trên Android 6.0 trở lên, hãy chuyển sang sử dụng kênh thông báo HTML. |
|
Thực thi | SC-E1 | Ứng dụng không tải động mã từ bên ngoài tệp APK của ứng dụng. Nhà phát triển phải sử dụng Android App Bundle, bao gồm cả Play Feature Delivery và Play Asset Delivery.
Kể từ tháng 8 năm 2021, tất cả ứng dụng mới trong Cửa hàng Google Play sẽ bắt buộc phải sử dụng Android App Bundle. |
|
Mật mã học | SC-C1 | Ứng dụng sử dụng thuật toán mật mã học mạnh và do nền tảng cung cấp cùng với một trình tạo số ngẫu nhiên. Ngoài ra, ứng dụng không triển khai thuật toán tuỳ chỉnh. |
Google Play
Đảm bảo rằng ứng dụng của bạn có thể được phát hành trên Google Play.
Khía cạnh | Mã nhận dạng | Kiểm thử | Mô tả |
---|---|---|---|
Chính sách | GP-P1 | GP-all | Ứng dụng tuân thủ nghiêm ngặt các điều khoản trong Chính sách nội dung dành cho nhà phát triển trên Google Play và không cung cấp nội dung không phù hợp, không sử dụng tài sản trí tuệ hoặc thương hiệu của người khác, v.v. |
GP-P2 | GP-1 | Mức độ trưởng thành của đối tượng mà ứng dụng nhắm đến được thiết lập thích hợp, dựa trên Nguyên tắc phân loại nội dung. | |
Trang thông tin chi tiết về ứng dụng | GP-D1 | GP-1 GP-2 |
Ảnh đầu trang của ứng dụng tuân theo các nguyên tắc nêu trong bài viết hỗ trợ này. Hãy chắc chắn rằng:
|
GP-D2 | GP-1 | Ảnh chụp màn hình và video của ứng dụng không cho thấy hoặc tham chiếu đến thiết bị không phải Android. | |
GP-D3 | GP-1 | Ảnh chụp màn hình hoặc video của ứng dụng không được thể hiện nội dung và trải nghiệm trong ứng dụng theo cách gây hiểu lầm. | |
Hỗ trợ người dùng | GP-X1 | GP-1 | Các lỗi thường gặp do người dùng báo cáo trong thẻ Bài đánh giá trên trang Google Play sẽ được giải quyết nếu các lỗi này có thể lặp lại và xảy ra trên nhiều thiết bị. Nếu lỗi chỉ xảy ra trên một vài thiết bị, bạn vẫn nên xử lý lỗi đó nếu đó là các thiết bị đặc biệt phổ biến hoặc mới. |
Thiết lập môi trường kiểm thử
Nhằm mục đích thiết lập môi trường kiểm thử cho danh sách kiểm tra này, bạn nên:
- Tập trung vào việc kiểm thử trên trình mô phỏng – Trình mô phỏng Android là một cách tuyệt vời để kiểm thử ứng dụng của bạn theo nhiều phiên bản Android và độ phân giải màn hình. Bạn nên thiết lập thiết bị được mô phỏng (AVD) để thể hiện các kiểu dáng và tổ hợp phần cứng/phần mềm phổ biến nhất đại diện cho cơ sở người dùng mà mình nhắm đến.
- Thiết bị phần cứng – Môi trường kiểm thử của bạn nên bao gồm một số ít thiết bị phần cứng thực tế đại diện cho các kiểu dáng thiết bị chính và các tổ hợp phần cứng/phần mềm mà người dùng hiện có thể sử dụng. Bạn không cần phải thử nghiệm trên mọi thiết bị có mặt trên thị trường. Thay vào đó, bạn nên tập trung vào một số ít thiết bị tiêu biểu, thậm chí sử dụng một hoặc hai thiết bị cho mỗi kiểu dáng.
- Phòng thử nghiệm thiết bị – Bạn cũng có thể sử dụng các dịch vụ của bên thứ ba, chẳng hạn như Phòng thử nghiệm Firebase, để kiểm thử ứng dụng của mình trên thêm nhiều thiết bị.
- Kiểm thử với phiên bản Android mới nhất – Ngoài việc kiểm thử các phiên bản Android đại diện cho cơ sở người dùng mà bạn nhắm đến, điều nên làm là luôn thử nghiệm trên phiên bản Android mới nhất (hiện là Android 11). Việc này giúp đảm bảo rằng những thay đổi mới nhất về hành vi không ảnh hưởng tiêu cực đến trải nghiệm người dùng.
Để xem hướng dẫn đầy đủ hơn về quy trình kiểm thử, bao gồm cả kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử giao diện người dùng, hãy tham khảo Kiến thức cơ bản về kiểm thử trên Android.
Quy trình kiểm thử
Các quy trình kiểm thử này giúp bạn phát hiện nhiều loại vấn đề về chất lượng trong ứng dụng của mình. Bạn có thể kết hợp các bài kiểm thử hoặc tích hợp nhóm bài kiểm thử vào cùng một kế hoạch kiểm thử. Hãy xem các phần ở trên để tham khảo những tiêu chí gắn liền với các quy trình kiểm thử này.
Loại | Kiểm thử | Mô tả |
---|---|---|
Core Suite | CR-0 | Di chuyển đến mọi phần của ứng dụng — tất cả màn hình, hộp thoại, chế độ cài đặt và toàn bộ luồng người dùng.
|
CR-1 | Trên mỗi màn hình ứng dụng, hãy nhấn phím Màn hình chính của thiết bị hoặc vuốt lên khi thao tác bằng cử chỉ, sau đó chạy lại ứng dụng qua màn hình Tất cả ứng dụng. | |
CR-2 | Trên mỗi màn hình ứng dụng, hãy chuyển sang một ứng dụng khác đang chạy, sau đó quay lại ứng dụng đang được kiểm thử bằng trình chuyển đổi ứng dụng Gần đây (Recents). | |
CR-3 | Trên mỗi màn hình ứng dụng (và hộp thoại), hãy nhấn nút Quay lại hoặc sử dụng cử chỉ vuốt ngược. | |
CR-5 | Trên mỗi màn hình ứng dụng, hãy xoay thiết bị giữa hướng ngang và dọc ít nhất 3 lần. | |
CR-6 | Chuyển sang một ứng dụng khác để đưa ứng dụng được kiểm thử đó vào chế độ nền. Chuyển đến phần Cài đặt rồi kiểm tra xem ứng dụng đang được kiểm thử có chạy dịch vụ nào ở chế độ nền hay không. Trên Android 4.0 trở lên, hãy chuyển đến màn hình Ứng dụng rồi tìm ứng dụng đó trong thẻ "Đang chạy" ("Running"). | |
CR-7 | Nhấn nút nguồn để chuyển thiết bị sang chế độ ngủ, sau đó nhấn lại nút nguồn để đánh thức màn hình. | |
CR-8 | Thiết lập khoá màn hình trên thiết bị. Nhấn nút nguồn để chuyển thiết bị sang chế độ ngủ (khoá thiết bị). Sau đó, nhấn lại nút nguồn để đánh thức màn hình và mở khoá thiết bị. | |
CR-9 | Kích hoạt và quan sát trong ngăn thông báo tất cả các loại thông báo mà ứng dụng có thể hiển thị. Nếu có, hãy mở rộng thông báo (Android 4.1 trở lên) rồi nhấn vào tất cả thao tác hiện có. | |
CR-10 | Tham khảo phần Hỗ trợ cho các trường hợp sử dụng khác liên quan đến Chế độ nghỉ và Chế độ chờ ứng dụng. | |
Cài đặt trên thẻ SD | SD-1 | Lặp lại Core Suite với ứng dụng đã cài đặt trên thẻ SD của thiết bị (nếu ứng dụng hỗ trợ phương thức cài đặt này).
Để chuyển ứng dụng sang thẻ SD, bạn có thể vào phần sau: Cài đặt > Thông tin ứng dụng > Di chuyển sang thẻ SD. |
Hiệu suất và độ ổn định | SP-1 | Xem lại tệp kê khai Android và cấu hình bản dựng để đảm bảo ứng dụng được xây dựng dựa trên SDK mới nhất hiện có (targetSdk và compileSdk ).
|
SP-2 | Xem lại tệp build.gradle để tìm mọi phần phụ thuộc đã lỗi thời. |
|
SP-3 | Sử dụng công cụ tìm lỗi mã nguồn của Android Studio để phát hiện việc sử dụng giao diện không phải SDK. Ngoài ra, còn có các phương pháp thay thế khác để kiểm thử. | |
Giám sát hiệu suất | PM-1 | Lặp lại Core Suite với tính năng phân tích tài nguyên StrictMode.
Hãy chú ý kỹ đến việc thu gom rác và tác động của việc này đến trải nghiệm người dùng. |
Pin | BA-1 | Lặp lại Core Suite trên các chu kỳ Nghỉ và Chế độ chờ ứng dụng.
Hãy đặc biệt chú ý đến chuông báo, đồng hồ hẹn giờ, thông báo, chế độ đồng bộ hoá, v.v. Hãy xem bài viết Kiểm thử với Chế độ nghỉ và Chế độ chờ ứng dụng để nắm được các yêu cầu và nguyên tắc. |
Bảo mật | SC-1 | Xem xét tất cả dữ liệu được lưu trữ trong bộ nhớ ngoài. |
SC-2 | Xem xét cách xử lý dữ liệu được tải từ bộ nhớ ngoài. | |
SC-3 | Xem lại tất cả nhà cung cấp nội dung được xác định trong tệp kê khai Android. Hãy đảm bảo mỗi nhà cung cấp có một protectionLevel thích hợp.
|
|
SC-4 | Xem lại mọi quyền mà ứng dụng của bạn yêu cầu, trong tệp kê khai, trong thời gian chạy và trong màn hình cài đặt ứng dụng (Cài đặt > Thông tin ứng dụng) trên thiết bị. | |
SC-5 | Xem lại tất cả thành phần ứng dụng được xác định trong tệp kê khai Android để kiểm tra trạng thái xuất thích hợp. Bạn phải đặt thuộc tính xuất cho tất cả thành phần một cách rõ ràng. | |
SC-6 | Xem lại cấu hình Bảo mật mạng của ứng dụng để đảm bảo mọi yêu cầu kiểm tra tìm lỗi mã nguồn trên cấu hình đều đạt. | |
SC-7 | Đối với mỗi WebView, hãy chuyển đến một trang yêu cầu JavaScript. | |
SC-8 | Trong mỗi WebView, hãy cố gắng chuyển đến những trang web và nội dung mà ứng dụng của bạn không trực tiếp tải. | |
SC-9 | Khai báo một Cấu hình bảo mật mạng vô hiệu hoá lưu lượng truy cập qua văn bản thô, sau đó kiểm thử ứng dụng. | |
SC-10 | Chạy ứng dụng và triển khai tất cả chức năng cốt lõi, đồng thời quan sát nhật ký thiết bị. Không được ghi nhật ký thông tin riêng tư của người dùng. | |
Google Play | GP-1 | Đăng nhập vào Google Play Console để xem lại hồ sơ nhà phát triển, nội dung mô tả ứng dụng, ảnh chụp màn hình, ảnh đầu trang, mức phân loại nội dung và ý kiến phản hồi của người dùng. |
GP-2 | Tải ảnh đầu trang và ảnh chụp màn hình xuống, sau đó giảm kích thước cho phù hợp với kích thước màn hình trên những thiết bị và kiểu dáng mà bạn nhắm đến. | |
GP-3 | Xem lại tất cả nội dung đồ hoạ, nội dung đa phương tiện, văn bản, thư viện mã và nội dung khác được đóng gói trong ứng dụng hoặc tệp tải xuống mở rộng. |
Kiểm thử bằng StrictMode
Để kiểm thử hiệu suất, bạn nên bật StrictMode
trong ứng dụng nhằm phát hiện những thao tác có thể ảnh hưởng đến hiệu suất, quyền truy cập mạng, lượt đọc/ghi tệp, v.v. Hãy tìm các thao tác có thể có vấn đề trên cả luồng chính và các luồng khác.
Có thể thiết lập chính sách giám sát theo từng luồng bằng cách sử dụng StrictMode.ThreadPolicy.Builder
và bật tất cả chức năng giám sát được hỗ trợ trong ThreadPolicy
bằng detectAll()
.
Đừng quên bật tính năng thông báo bằng hình ảnh trực quan về lỗi vi phạm chính sách đối với ThreadPolicy
bằng penaltyFlashScreen()
.