এই চেকলিস্টটি আপনার অ্যাপের গুণমান মূল্যায়নে সহায়তা করার জন্য মূল মানের মানদণ্ড এবং সংশ্লিষ্ট পরীক্ষার একটি সেট সংজ্ঞায়িত করে। এই মানদণ্ডগুলির মধ্যে কিছু মিস করা সহজ হতে পারে এবং পরীক্ষাগুলি আপনাকে আপনার পরীক্ষার পরিকল্পনাগুলিতে অন্তর্ভুক্ত করার কথা মনে রাখতে সাহায্য করে।
চেকলিস্ট ন্যূনতম গুণমান হাইলাইট করে যা সমস্ত অ্যাপের পূরণ করা উচিত। আপনার পরীক্ষা সম্ভবত এখানে যা বর্ণনা করা হয়েছে তার থেকেও ভালো হবে।
মানের চেকলিস্টের প্রতিটি আইটেমের একটি অনন্য আইডি রয়েছে যা আপনি আপনার দলের সাথে যোগাযোগ করার সময় ব্যবহার করতে সহায়ক হতে পারে।
চাক্ষুষ অভিজ্ঞতা
আপনার অ্যাপটি একটি সামঞ্জস্যপূর্ণ এবং স্বজ্ঞাত ব্যবহারকারীর অভিজ্ঞতার জন্য যেখানে উপযুক্ত সেখানে স্ট্যান্ডার্ড অ্যান্ড্রয়েড ভিজ্যুয়াল ডিজাইন এবং ইন্টারঅ্যাকশন প্যাটার্ন প্রদান করা উচিত।
এলাকা | আইডি | টেস্ট | বর্ণনা |
---|---|---|---|
নেভিগেশন | VX-N1 | CR-3 | অ্যাপটি স্ট্যান্ডার্ড ব্যাক বোতাম নেভিগেশন সমর্থন করে এবং কোনও কাস্টম, অন-স্ক্রীন "ব্যাক বোতাম" প্রম্পট ব্যবহার করে না। |
VX-N2 | CR-3 | অ্যাপটি হোম স্ক্রিনে ফিরে যাওয়ার / যাওয়ার জন্য অঙ্গভঙ্গি নেভিগেশন সমর্থন করে। | |
VX-N3 | CR-1 CR-3 CR-5 | অ্যাপটি সঠিকভাবে ব্যবহারকারী বা অ্যাপের অবস্থা সংরক্ষণ ও পুনরুদ্ধার করে। অ্যাপটি ফোরগ্রাউন্ড ছেড়ে যাওয়ার সময় ব্যবহারকারী বা অ্যাপের অবস্থা সংরক্ষণ করে এবং ব্যাক-নেভিগেশন এবং অন্যান্য অবস্থার পরিবর্তনের কারণে দুর্ঘটনাজনিত ডেটা ক্ষতি প্রতিরোধ করে। ফোরগ্রাউন্ডে ফিরে আসার সময়, অ্যাপটিকে সংরক্ষিত অবস্থা এবং মুলতুবি থাকা কোনো উল্লেখযোগ্য রাষ্ট্রীয় লেনদেন পুনরুদ্ধার করা উচিত। উদাহরণগুলির মধ্যে রয়েছে: সম্পাদনাযোগ্য ক্ষেত্রের পরিবর্তন, গেমের অগ্রগতি, মেনু, ভিডিও এবং অ্যাপ বা গেমের অন্যান্য বিভাগ।
| |
বিজ্ঞপ্তি | VX-S1 | CR-9 | বিজ্ঞপ্তিগুলি মেটেরিয়াল ডিজাইন নির্দেশিকা অনুসরণ করে। নির্দিষ্টভাবে:
|
VX-S2 | CR-9 | মেসেজিং/সামাজিক অ্যাপ এবং কথোপকথনের জন্য:
| |
UI এবং গ্রাফিক্স | VX-U1 | CR-5 | অ্যাপটি ল্যান্ডস্কেপ এবং পোর্ট্রেট অভিযোজন উভয় সমর্থন করে (যদি সম্ভব হয়)। ওরিয়েন্টেশনগুলি মূলত একই বৈশিষ্ট্য এবং ক্রিয়াগুলিকে প্রকাশ করে এবং কার্যকরী সমতা রক্ষা করে। বিষয়বস্তু বা ভিউতে সামান্য পরিবর্তন গ্রহণযোগ্য। |
VX-U2 | CR-5 | অ্যাপটি উভয় অভিযোজনে পুরো স্ক্রীন ব্যবহার করে এবং অভিযোজন পরিবর্তনের জন্য লেটারবক্স ব্যবহার করে না। পর্দার জ্যামিতিতে ছোট পরিবর্তনের জন্য ক্ষতিপূরণের জন্য ছোট লেটারবক্সিং গ্রহণযোগ্য। | |
VX-U3 | CR-5 | অ্যাপটি রেন্ডারিং সমস্যা বা অবস্থা হারানো ছাড়াই ডিসপ্লে ওরিয়েন্টেশনের মধ্যে দ্রুত পরিবর্তনগুলি সঠিকভাবে পরিচালনা করে। | |
ভিজ্যুয়াল গুণমান | VX-V1 | CR-সমস্ত | অ্যাপটি লক্ষণীয় বিকৃতি, অস্পষ্টতা বা পিক্সেলেশন ছাড়াই গ্রাফিক্স, পাঠ্য, চিত্র এবং অন্যান্য UI উপাদানগুলি প্রদর্শন করে।
|
VX-V2 | CR-সমস্ত | অ্যাপটি প্রতিটি অ্যাপের সমর্থিত ভাষার জন্য গ্রহণযোগ্য পদ্ধতিতে পাঠ্য এবং পাঠ্য ব্লক প্রদর্শন করে।
| |
VX-V3 | CR-সমস্ত | অ্যাপের বিষয়বস্তু এবং অ্যাপের দ্বারা উল্লেখিত সমস্ত ওয়েব বিষয়বস্তু অন্ধকার থিম সমর্থন করে। |
কার্যকারিতা
আপনার অ্যাপের প্রত্যাশিত কার্যকরী আচরণ বাস্তবায়ন করা উচিত।
এলাকা | আইডি | টেস্ট | বর্ণনা |
---|---|---|---|
শ্রুতি | FN-A1 | CR-1 CR-8 | যখন অ্যাপটি ফোরগ্রাউন্ডে ফিরে আসে, বা ব্যবহারকারীকে নির্দেশ করে যে প্লেব্যাক একটি বিরাম অবস্থায় রয়েছে তখন অডিও পুনরায় শুরু হয়। |
FN-A2 | CR-1 CR-2 CR-8 | যদি অডিও প্লেব্যাক একটি মূল বৈশিষ্ট্য হয়, তাহলে অ্যাপটির ব্যাকগ্রাউন্ড প্লেব্যাক সমর্থন করা উচিত। | |
FN-A3 | CR-0 | যখন ব্যবহারকারী অডিও প্লেব্যাক শুরু করেন, অ্যাপটিকে এক সেকেন্ডের মধ্যে নিম্নলিখিতগুলির মধ্যে একটি করা উচিত:
| |
FN-A4 | CR-0 | অডিও বাজানো শুরু হলে অ্যাপটিকে অডিও ফোকাস অনুরোধ করা উচিত এবং প্লেব্যাক বন্ধ হয়ে গেলে অডিও ফোকাস ত্যাগ করা উচিত। | |
FN-A5 | CR-0 | অ্যাপটিকে অডিও ফোকাসের জন্য অন্যান্য অ্যাপের অনুরোধগুলি পরিচালনা করা উচিত। উদাহরণস্বরূপ, একটি অ্যাপ প্লেব্যাকের ভলিউম কমিয়ে দিতে পারে যখন অন্য অ্যাপ স্পিচ প্লে করে। | |
মিডিয়া | FN-M1 | CR-0 CR-6 CR-8 | যদি অ্যাপটি ব্যাকগ্রাউন্ডে অডিও চালায়, তাহলে এটিকে MediaStyle-এর সাথে স্টাইল করা একটি বিজ্ঞপ্তি তৈরি করতে হবে। |
FN-M2 | CR-0 | অ্যাপটি যদি ভিডিও চালায়, তাহলে এটি পিকচার-ইন-পিকচার প্লেব্যাক সমর্থন করবে। | |
FN-M3 | CR-0 | যদি অ্যাপটি ভিডিও এনকোড করে, তবে এটি HEVC ভিডিও কম্প্রেশন স্ট্যান্ডার্ড ব্যবহার করে তা করা উচিত। | |
শেয়ারিং | FN-S1 | CR-0 | কন্টেন্ট শেয়ার করার সময় অ্যাপটিকে অ্যান্ড্রয়েড শেয়ারশিট ব্যবহার করা উচিত। এটি কাস্টম সমাধানগুলির জন্য অনুপলব্ধ লক্ষ্যগুলির পরামর্শ দিতে পারে৷ |
ব্যাকগ্রাউন্ড সার্ভিস | FN-B1 | CR-6 | অ্যাপটি যেখানে সম্ভব ব্যাকগ্রাউন্ড পরিষেবা চালানো এড়িয়ে যায়। ব্যবহারকারীর ডিভাইসের মসৃণ চলমান নিশ্চিত করতে, সিস্টেমটি পটভূমি পরিষেবাগুলিতে বিভিন্ন বিধিনিষেধ প্রয়োগ করে৷ এগুলি ব্যাকগ্রাউন্ড পরিষেবাগুলির ভাল ব্যবহার হিসাবে বিবেচিত হয় না:
|
FN-B2 | CR-10 | অ্যাপটি সঠিকভাবে পাওয়ার ম্যানেজমেন্ট বৈশিষ্ট্যগুলিকে সমর্থন করে যা Android 6.0 (Doze এবং অ্যাপ স্ট্যান্ডবাই) এ চালু করা হয়েছিল। যে ক্ষেত্রে মূল কার্যকারিতা পাওয়ার ম্যানেজমেন্টের দ্বারা ব্যাহত হয়, শুধুমাত্র যোগ্য অ্যাপগুলিই ছাড়ের অনুরোধ করতে পারে। ডোজ এবং অ্যাপ স্ট্যান্ডবাই-এ অন্যান্য ব্যবহারের ক্ষেত্রে সমর্থন দেখুন। |
কর্মক্ষমতা এবং স্থিতিশীলতা
আপনার অ্যাপটি ব্যবহারকারীদের দ্বারা প্রত্যাশিত কর্মক্ষমতা, স্থিতিশীলতা, সামঞ্জস্যতা এবং প্রতিক্রিয়া প্রদান করা উচিত।
এলাকা | আইডি | টেস্ট | বর্ণনা |
---|---|---|---|
স্থিতিশীলতা | PS-S1 | CR-সমস্ত এসডি-1 | অ্যাপটি ক্র্যাশ করে না বা UI থ্রেড ব্লক করে না যার ফলে ANR (Android Not Responding") ত্রুটি হয়। সম্ভাব্য স্থিতিশীলতা সমস্যা চিহ্নিত করতে Google Play-এর প্রি-লঞ্চ রিপোর্ট ব্যবহার করুন। স্থাপনের পরে, Google Play বিকাশকারী কনসোলে Android Vitals পৃষ্ঠায় মনোযোগ দিন। |
কর্মক্ষমতা | PS-P1 | CR-সমস্ত এসডি-1 | অ্যাপটি দ্রুত লোড হয় অথবা অ্যাপটি লোড হতে দুই সেকেন্ডের বেশি সময় নিলে ব্যবহারকারীকে অনস্ক্রিন প্রতিক্রিয়া (একটি অগ্রগতি নির্দেশক বা অনুরূপ কিউ) প্রদান করে। |
PS-P2 | CR-সমস্ত এসডি-1 | প্রতি সেকেন্ডে 60টি ফ্রেম অর্জনের জন্য অ্যাপগুলিকে প্রতি 16ms ফ্রেম রেন্ডার করা উচিত। বিকাশকারীরা পরীক্ষায় প্রোফাইল HWUI রেন্ডারিং বিকল্প ব্যবহার করতে পারেন। সমস্যা থাকলে, ধীরগতির রেন্ডারিং নির্ণয় করতে সাহায্য করার জন্য টুল উপলব্ধ। | |
PS-P3 | পিএম-১ | StrictMode সক্ষম করা থাকলে (নীচে StrictMode Testing দেখুন), অ্যাপটি পরীক্ষা করার সময় কোন লাল ফ্ল্যাশ (StrictMode থেকে কর্মক্ষমতা সতর্কতা) দৃশ্যমান হয় না। যেকোনো লাল ফ্ল্যাশ স্টোরেজ, নেটওয়ার্ক অ্যাক্সেস বা মেমরি লিক সংক্রান্ত খারাপ আচরণ নির্দেশ করে। | |
SDK | PS-T1 | CR-0 | অ্যাপটি ক্র্যাশ বা মূল কার্যকারিতাকে মারাত্মকভাবে প্রভাবিত না করে অ্যান্ড্রয়েড প্ল্যাটফর্মের সর্বশেষ পাবলিক সংস্করণে চলে। |
PS-T2 | এসপি-1 | অ্যাপটি targetSdk মান সেট করে সর্বশেষ অ্যান্ড্রয়েড এসডিকে লক্ষ্য করে । | |
PS-T3 | এসপি-1 | অ্যাপটি compileSdk মান সেট করে সর্বশেষ SDK দিয়ে তৈরি করা হয়েছে। | |
PS-T4 | এসপি-2 এসপি-3 | ব্যবহৃত যেকোনো তৃতীয় পক্ষের SDK আপ-টু-ডেট। স্থিতিশীলতা, সামঞ্জস্যতা, বা নিরাপত্তার মতো এই SDK-তে যেকোন উন্নতি ব্যবহারকারীদের জন্য সময়মত উপলব্ধ হওয়া উচিত। ডেভেলপার সম্পূর্ণ অ্যাপের কোডবেসের জন্য দায়ী, যেকোনও তৃতীয় পক্ষের SDK ব্যবহার করা সহ। | |
PS-T5 | CR-0 | অ্যাপটি নন-SDK ইন্টারফেস ব্যবহার করে না। | |
ব্যাটারি | PS-B1 | বিএ-1 | অ্যাপটি সঠিকভাবে পাওয়ার ম্যানেজমেন্ট বৈশিষ্ট্যগুলিকে সমর্থন করে যা Android 6.0 (Doze এবং অ্যাপ স্ট্যান্ডবাই) এ চালু করা হয়েছিল। যে ক্ষেত্রে মূল কার্যকারিতা পাওয়ার ম্যানেজমেন্টের দ্বারা ব্যাহত হয়, শুধুমাত্র যোগ্য অ্যাপগুলিই ছাড়ের অনুরোধ করতে পারে। বিকাশের সময়, বিকাশকারীরা এই ADB কমান্ডগুলি ব্যবহার করে অ্যাপ স্ট্যান্ডবাই এবং ডোজ আচরণ পরীক্ষা করতে পারে৷ ব্যাটারি ব্যবহারের পরিপ্রেক্ষিতে, বিকাশকারীরা অপ্রত্যাশিত ব্যাটারি ব্যবহার নির্ণয় করতে পরিকল্পিত ব্যাকগ্রাউন্ড কাজের সাথে মিলিত Android স্টুডিও এনার্জি প্রোফাইলার বা ব্যাটারি হিস্টোরিয়ান টুল ব্যবহার করতে পারেন। |
গোপনীয়তা এবং নিরাপত্তা
আপনার অ্যাপ ব্যবহারকারীর ডেটা এবং ব্যক্তিগত তথ্য নিরাপদে পরিচালনা করা উচিত, যথাযথ স্তরের অনুমতি সহ।
এই চেকলিস্টটি ছাড়াও, Google Play Store-এ প্রকাশিত অ্যাপ্লিকেশনগুলিকে অবশ্যই ব্যবহারকারীদের গোপনীয়তা রক্ষা করতে ব্যবহারকারীর ডেটা নীতিগুলি অনুসরণ করতে হবে৷
এলাকা | আইডি | টেস্ট | বর্ণনা |
---|---|---|---|
অনুমতি | SC-P1 | SC-4 | অ্যাপটি শুধুমাত্র নিখুঁত ন্যূনতম সংখ্যক অনুমতির অনুরোধ করে যা এটির ব্যবহারের ক্ষেত্রে সমর্থন করার জন্য প্রয়োজন। কিছু অনুমতির জন্য যেমন অবস্থান, সম্ভব হলে সূক্ষ্ম অবস্থানের জায়গায় মোটা অবস্থান ব্যবহার করুন। |
SC-P2 | অ্যাপটির শুধুমাত্র সংবেদনশীল ডেটা (যেমন এসএমএস, কল লগ বা অবস্থান ) বা যে পরিষেবাগুলির অর্থ খরচ হয় (যেমন ডায়ালার বা এসএমএস) অ্যাক্সেস করার অনুমতির অনুরোধ করা উচিত যদি এটি সরাসরি অ্যাপগুলির মূল ব্যবহারের ক্ষেত্রে সম্পর্কিত হয়। এই অনুমতিগুলির সাথে সম্পর্কিত প্রভাবগুলি ব্যবহারকারীর কাছে স্পষ্টভাবে প্রকাশ করা উচিত। আপনি কীভাবে অনুমতিগুলি ব্যবহার করছেন তার উপর নির্ভর করে, সংবেদনশীল তথ্যের অ্যাক্সেসের উপর নির্ভর না করে আপনার অ্যাপের ব্যবহারের ক্ষেত্রে একটি বিকল্প উপায় থাকতে পারে। উদাহরণস্বরূপ, ব্যবহারকারীর পরিচিতিগুলির সাথে সম্পর্কিত অনুমতিগুলির অনুরোধ করার পরিবর্তে, একটি অন্তর্নিহিত অভিপ্রায় ব্যবহার করে অ্যাক্সেসের অনুরোধ করা আরও উপযুক্ত হতে পারে৷ | ||
SC-P3 | CR-0 | অ্যাপ স্টার্টআপের সময় আপফ্রন্টের পরিবর্তে, যখন কার্যকারিতা অনুরোধ করা হয় তখন প্রেক্ষাপটে রানটাইম অনুমতির অনুরোধ করে। | |
SC-P4 | CR-0 | নির্দিষ্ট অনুমতি কেন প্রয়োজন তা স্পষ্টভাবে বোঝাতে অ্যাপটির UX ডিজাইন করা উচিত। যদি তা সম্ভব না হয়, তাহলে কেন আপনার অ্যাপে একটি বৈশিষ্ট্যের অনুমতি প্রয়োজন তা ব্যাখ্যা করার জন্য এটি প্রস্তাবিত প্রবাহ অনুসরণ করা উচিত। ব্যবহারকারীরা যখন অনুমতি অস্বীকার করে বা প্রত্যাহার করে তখন অ্যাপটি সুন্দরভাবে অবনমিত হওয়া উচিত। অ্যাপটি ব্যবহারকারীকে অ্যাপটি সম্পূর্ণভাবে অ্যাক্সেস করতে বাধা দেবে না। | |
ডাটা ফাইল | SC-DF1 | SC-1 | সমস্ত সংবেদনশীল ডেটা অ্যাপের অভ্যন্তরীণ স্টোরেজে সংরক্ষণ করা হয়। |
SC-DF2 | SC-10 | সিস্টেম লগ বা অ্যাপ-নির্দিষ্ট লগে কোনো ব্যক্তিগত বা সংবেদনশীল ব্যবহারকারীর ডেটা লগ করা নেই । | |
SC-DF3 | অ্যাপটি সনাক্তকরণের উদ্দেশ্যে IMEI-এর মতো কোনো নন-রিসেটযোগ্য হার্ডওয়্যার আইডি ব্যবহার করা উচিত নয়। | ||
পরিচয় | SC-ID1 | CR-0 | অটোফিল অ্যাকাউন্টের শংসাপত্র এবং অন্যান্য সংবেদনশীল তথ্য যেমন ক্রেডিট কার্ডের তথ্য, প্রকৃত ঠিকানা এবং ফোন নম্বরে ইঙ্গিত প্রদান করুন । |
SC-ID2 | CR-0 | একটি নির্বিঘ্ন সাইন ইন অভিজ্ঞতার জন্য Android এর জন্য এক ট্যাপ সংহত করুন। | |
SC-ID3 | CR-0 | আর্থিক লেনদেন বা সংবেদনশীল তথ্য, যেমন গুরুত্বপূর্ণ ব্যবহারকারীর নথি রক্ষা করতে বায়োমেট্রিক প্রমাণীকরণকে একীভূত করুন। | |
অ্যাপের উপাদান | SC-AC1 | SC-5 | শুধুমাত্র অ্যাপ্লিকেশন উপাদানগুলি যেগুলি অন্যান্য অ্যাপের সাথে ডেটা ভাগ করে , বা অন্য অ্যাপগুলির দ্বারা আহ্বান করা উচিত এমন উপাদানগুলি রপ্তানি করা হয়৷ এর মধ্যে রয়েছে ক্রিয়াকলাপ , পরিষেবা , সম্প্রচার রিসিভার এবং বিশেষ করে সামগ্রী প্রদানকারী ৷ ডিফল্ট মান নিয়ে বিভ্রান্তি কমাতে সর্বদা |
SC-AC2 | CR-0 SC-4 | সমস্ত উদ্দেশ্য এবং সম্প্রচার সর্বোত্তম অনুশীলন অনুসরণ করে:
| |
SC-AC3 | এসসি-3 | আপনার অ্যাপ্লিকেশানগুলির মধ্যে সামগ্রী ভাগ করে এমন সমস্ত সামগ্রী প্রদানকারী কাস্টম অনুমতির জন্য android:protectionLevel="signature" ব্যবহার করে৷ এর মধ্যে রয়েছে ক্রিয়াকলাপ , পরিষেবা , সম্প্রচার রিসিভার এবং বিশেষ করে সামগ্রী প্রদানকারী ৷ বেশিরভাগ অ্যাপের ইনস্টল করা প্যাকেজের তালিকা অ্যাক্সেস করার উপর নির্ভর করা উচিত নয়। অ্যান্ড্রয়েড 11 থেকে শুরুতে অ্যাক্সেস সীমাবদ্ধ করা হয়েছে। | |
নেটওয়ার্কিং | SC-N1 | SC-9 | সমস্ত নেটওয়ার্ক ট্রাফিক SSL এর মাধ্যমে পাঠানো হয়। |
SC-N2 | SC-6 | অ্যাপ্লিকেশনটি একটি নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ঘোষণা করে। | |
SC-N3 | অ্যাপ্লিকেশানটি যদি Google Play পরিষেবাগুলি ব্যবহার করে, তবে সুরক্ষা প্রদানকারীকে অ্যাপ্লিকেশন স্টার্টআপে আরম্ভ করা হয় ৷ | ||
লাইব্রেরি | SC-U1 | এসপি-2 | সমস্ত লাইব্রেরি, SDK এবং নির্ভরতা আপ টু ডেট ৷ |
SC-U2 | প্রোডাকশন অ্যাপে কোনো ডিবাগ লাইব্রেরি অন্তর্ভুক্ত নেই। এটি পারফরম্যান্সের পাশাপাশি নিরাপত্তা সংক্রান্ত সমস্যার কারণ হতে পারে। | ||
ওয়েবভিউ | SC-W1 | SC-6 | স্থানীয় বিষয়বস্তু অ্যাক্সেস করার জন্য setAllowUniversalAccessFromFileURLs() ব্যবহার করবেন না। পরিবর্তে, WebViewAssetLoader ব্যবহার করুন। |
SC-W2 | SC-7 | WebViews অবিশ্বস্ত সামগ্রী সহ addJavaScriptInterface() ব্যবহার করা উচিত নয় । Android 6.0 এবং তার উপরে, পরিবর্তে HTML বার্তা চ্যানেলগুলি ব্যবহার করুন৷ | |
মৃত্যুদন্ড | SC-E1 | অ্যাপটি অ্যাপের APK-এর বাইরে থেকে গতিশীলভাবে কোড লোড করে না। ডেভেলপারদের Android অ্যাপ বান্ডেল ব্যবহার করা উচিত, যার মধ্যে রয়েছে প্লে ফিচার ডেলিভারি এবং প্লে অ্যাসেট ডেলিভারি । আগস্ট 2021 থেকে, গুগল প্লে স্টোরে সমস্ত নতুন অ্যাপের জন্য অ্যান্ড্রয়েড অ্যাপ বান্ডেলের ব্যবহার বাধ্যতামূলক হয়ে যাবে। | |
ক্রিপ্টোগ্রাফি | SC-C1 | অ্যাপটি শক্তিশালী, প্ল্যাটফর্ম-প্রদত্ত ক্রিপ্টোগ্রাফিক অ্যালগরিদম এবং একটি র্যান্ডম নম্বর জেনারেটর ব্যবহার করে । এছাড়াও, অ্যাপটি কাস্টম অ্যালগরিদম প্রয়োগ করে না। |
গুগল প্লে
নিশ্চিত করুন যে আপনার অ্যাপগুলি Google Play-তে প্রকাশিত হতে পারে।
এলাকা | আইডি | টেস্ট | বর্ণনা |
---|---|---|---|
নীতিমালা | GP-P1 | জিপি-সমস্ত | অ্যাপটি কঠোরভাবে Google Play ডেভেলপার সামগ্রী নীতির শর্তাবলী মেনে চলে এবং অনুপযুক্ত সামগ্রী অফার করে না, অন্যের মেধা সম্পত্তি বা ব্র্যান্ড ব্যবহার করে না ইত্যাদি। |
GP-P2 | জিপি-১ | কন্টেন্ট রেটিং নির্দেশিকাগুলির উপর ভিত্তি করে অ্যাপের পরিপক্কতার স্তরটি যথাযথভাবে সেট করা হয়েছে। | |
অ্যাপের বিস্তারিত পৃষ্ঠা | GP-D1 | জিপি-১ জিপি-2 | অ্যাপের ফিচার গ্রাফিক এই সহায়তা নিবন্ধে বর্ণিত নির্দেশিকা অনুসরণ করে। নিশ্চিত করো যে:
|
GP-D2 | জিপি-১ | অ্যাপের স্ক্রিনশট এবং ভিডিওগুলি নন-অ্যান্ড্রয়েড ডিভাইসগুলিকে দেখায় না বা উল্লেখ করে না৷ | |
GP-D3 | জিপি-১ | অ্যাপের স্ক্রিনশট বা ভিডিওগুলি আপনার অ্যাপের বিষয়বস্তু এবং অভিজ্ঞতাকে বিভ্রান্তিকর উপায়ে উপস্থাপন করে না। | |
ব্যবহারকারী সমর্থন | GP-X1 | জিপি-১ | Google Play পৃষ্ঠার পর্যালোচনা ট্যাবে সাধারণ ব্যবহারকারী-প্রতিবেদিত বাগগুলির সমাধান করা হয় যদি সেগুলি পুনরুত্পাদনযোগ্য হয় এবং বিভিন্ন ডিভাইসে ঘটে। যদি শুধুমাত্র কয়েকটি ডিভাইসে একটি বাগ দেখা দেয়, তবে সেই ডিভাইসগুলি বিশেষভাবে জনপ্রিয় বা নতুন হলে আপনার এটির সমাধান করা উচিত। |
একটি পরীক্ষার পরিবেশ স্থাপন করা হচ্ছে
এই চেকলিস্টের জন্য একটি পরীক্ষার পরিবেশ সেট আপ করার উদ্দেশ্যে, আমরা নিম্নলিখিতগুলি সুপারিশ করি:
- এমুলেটর পরীক্ষার উপর দৃষ্টি নিবদ্ধ করা - Android এমুলেটর বিভিন্ন Android সংস্করণ এবং স্ক্রীন রেজোলিউশনের অধীনে আপনার অ্যাপ পরীক্ষা করার একটি দুর্দান্ত উপায়। আপনার টার্গেট ইউজার বেসের জন্য সবচেয়ে সাধারণ ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণগুলিকে উপস্থাপন করার জন্য আপনাকে এমুলেটেড ডিভাইস (AVDs) সেট আপ করতে হবে।
- হার্ডওয়্যার ডিভাইস - আপনার পরীক্ষার পরিবেশে অল্প সংখ্যক প্রকৃত হার্ডওয়্যার ডিভাইস অন্তর্ভুক্ত করা উচিত যা মূল ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণগুলি উপস্থাপন করে যা বর্তমানে গ্রাহকদের জন্য উপলব্ধ। বাজারে থাকা প্রতিটি ডিভাইসে পরীক্ষা করার প্রয়োজন নেই — বরং, আপনার ফোকাস করা উচিত অল্প সংখ্যক প্রতিনিধি ডিভাইসের উপর, এমনকি ফর্ম ফ্যাক্টর প্রতি এক বা দুটি ডিভাইস ব্যবহার করে।
- ডিভাইস টেস্ট ল্যাব - এছাড়াও আপনি তৃতীয় পক্ষের পরিষেবাগুলি ব্যবহার করতে পারেন, যেমন ফায়ারবেস টেস্ট ল্যাব , আপনার অ্যাপটি বিভিন্ন ধরণের ডিভাইসে পরীক্ষা করতে।
- সর্বশেষ অ্যান্ড্রয়েড সংস্করণের সাথে পরীক্ষা করুন - আপনার লক্ষ্য ব্যবহারকারী বেসের জন্য প্রতিনিধি Android সংস্করণগুলি পরীক্ষা করার পাশাপাশি, আপনার সর্বদা Android এর সর্বশেষ সংস্করণের (বর্তমানে Android 11) পরীক্ষা করা উচিত। এটি নিশ্চিত করে যে সর্বশেষ আচরণ পরিবর্তনগুলি আপনার ব্যবহারকারীর অভিজ্ঞতাকে নেতিবাচকভাবে প্রভাবিত করে না।
ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং এবং UI টেস্টিং সহ পরীক্ষার বিষয়ে আরও বিস্তৃত নির্দেশনার জন্য, Android পরীক্ষার মৌলিক বিষয়গুলি দেখুন৷
পরীক্ষার পদ্ধতি
এই পরীক্ষা পদ্ধতিগুলি আপনাকে আপনার অ্যাপে বিভিন্ন ধরনের মানের সমস্যা খুঁজে পেতে সাহায্য করে। আপনি পরীক্ষাগুলিকে একত্রিত করতে পারেন বা আপনার নিজস্ব পরীক্ষার পরিকল্পনায় পরীক্ষার গ্রুপগুলিকে একত্রিত করতে পারেন। রেফারেন্সগুলির জন্য উপরের বিভাগগুলি দেখুন যা এই পরীক্ষা পদ্ধতিগুলির সাথে মানদণ্ডকে সংযুক্ত করে।
টাইপ | পরীক্ষা | বর্ণনা |
---|---|---|
কোর স্যুট | CR-0 | অ্যাপের সমস্ত অংশে নেভিগেট করুন — সমস্ত স্ক্রীন, ডায়ালগ, সেটিংস এবং সমস্ত ব্যবহারকারীর প্রবাহ।
|
CR-1 | প্রতিটি অ্যাপ স্ক্রীন থেকে, ডিভাইসের হোম কী টিপুন বা অঙ্গভঙ্গি নেভিগেশনে সোয়াইপ করুন, তারপর সমস্ত অ্যাপ স্ক্রীন থেকে অ্যাপটি পুনরায় চালু করুন। | |
CR-2 | প্রতিটি অ্যাপ স্ক্রীন থেকে, অন্য একটি চলমান অ্যাপে স্যুইচ করুন, এবং তারপরে সাম্প্রতিক অ্যাপ সুইচার ব্যবহার করে পরীক্ষার অধীনে অ্যাপটিতে ফিরে যান। | |
CR-3 | প্রতিটি অ্যাপ স্ক্রীন (এবং ডায়ালগ) থেকে, পিছনের বোতাম টিপুন বা পিছনের সোয়াইপ অঙ্গভঙ্গি ব্যবহার করুন৷ | |
CR-5 | প্রতিটি অ্যাপ স্ক্রীন থেকে, ল্যান্ডস্কেপ এবং পোর্ট্রেট ওরিয়েন্টেশনের মধ্যে ডিভাইসটিকে অন্তত তিনবার ঘোরান। | |
CR-6 | পরীক্ষা অ্যাপটিকে পটভূমিতে পাঠাতে অন্য অ্যাপে স্যুইচ করুন। সেটিংসে যান এবং পরীক্ষা অ্যাপের ব্যাকগ্রাউন্ডে থাকাকালীন কোনো পরিষেবা চলছে কিনা তা পরীক্ষা করুন। অ্যান্ড্রয়েড 4.0 এবং উচ্চতর সংস্করণে, অ্যাপস স্ক্রিনে যান এবং "চলমান" ট্যাবে অ্যাপটি খুঁজুন। | |
CR-7 | ডিভাইসটিকে ঘুমাতে রাখতে পাওয়ার বোতাম টিপুন, তারপর স্ক্রীন জাগানোর জন্য আবার পাওয়ার বোতাম টিপুন। | |
CR-8 | ডিভাইসে একটি স্ক্রিন লক সেট আপ করুন। ডিভাইসটিকে ঘুমাতে রাখতে পাওয়ার বোতাম টিপুন (যা ডিভাইসটিকে লক করে)। তারপরে, স্ক্রীন জাগানোর জন্য আবার পাওয়ার বোতাম টিপুন এবং ডিভাইসটি আনলক করুন৷ | |
CR-9 | অ্যাপ্লিকেশানটি প্রদর্শন করতে পারে এমন সমস্ত ধরণের বিজ্ঞপ্তিগুলিকে ট্রিগার করুন এবং নোটিফিকেশন ড্রয়ারে পর্যবেক্ষণ করুন৷ প্রযোজ্য যেখানে বিজ্ঞপ্তি প্রসারিত করুন (Android 4.1 এবং উচ্চতর), এবং সমস্ত উপলব্ধ ক্রিয়াগুলিতে আলতো চাপুন৷ | |
CR-10 | Doze এবং অ্যাপ স্ট্যান্ডবাই-এ অন্যান্য ব্যবহারের ক্ষেত্রে সমর্থন পর্যালোচনা করুন। | |
এসডি কার্ডে ইনস্টল করুন | এসডি-1 | একটি ডিভাইসের SD কার্ডে ইনস্টল করা অ্যাপের সাথে কোর স্যুট পুনরাবৃত্তি করুন (যদি অ্যাপটি এই ইনস্টলেশন পদ্ধতি সমর্থন করে)। অ্যাপটিকে এসডি কার্ডে সরাতে, আপনি সেটিংস > অ্যাপ তথ্য > এসডি কার্ডে সরান ব্যবহার করতে পারেন। |
কর্মক্ষমতা এবং স্থিতিশীলতা | এসপি-1 | অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলটি পর্যালোচনা করুন এবং অ্যাপ্লিকেশনটি সর্বশেষ উপলব্ধ SDK ( targetSdk এবং compileSdk ) এর বিপরীতে তৈরি হয়েছে তা নিশ্চিত করতে কনফিগারেশন তৈরি করুন৷ |
এসপি-2 | কোনো পুরানো নির্ভরতার জন্য build.gradle ফাইলটি পর্যালোচনা করুন। | |
এসপি-3 | নন-এসডিকে ইন্টারফেস ব্যবহার শনাক্ত করতে অ্যান্ড্রয়েড স্টুডিও লিন্ট টুল ব্যবহার করুন। অন্যান্য বিকল্প পরীক্ষার পদ্ধতিও বিদ্যমান। | |
কর্মক্ষমতা নিরীক্ষণ | পিএম-১ | StrictMode প্রোফাইলিং সক্ষম সহ কোর স্যুট পুনরাবৃত্তি করুন৷ আবর্জনা সংগ্রহ এবং ব্যবহারকারীর অভিজ্ঞতার উপর এর প্রভাবের প্রতি গভীর মনোযোগ দিন। |
ব্যাটারি | বিএ-1 | ডোজ এবং অ্যাপ স্ট্যান্ডবাই চক্র জুড়ে কোর স্যুট পুনরাবৃত্তি করুন। অ্যালার্ম, টাইমার, নোটিফিকেশন, সিঙ্ক ইত্যাদির প্রতি গভীর মনোযোগ দিন। প্রয়োজনীয়তা এবং নির্দেশিকাগুলির জন্য ডোজ এবং অ্যাপ স্ট্যান্ডবাই সহ পরীক্ষা দেখুন। |
নিরাপত্তা | SC-1 | বাহ্যিক সঞ্চয়স্থানে সংরক্ষিত সমস্ত ডেটা পর্যালোচনা করুন। |
এসসি-2 | বাহ্যিক সঞ্চয়স্থান থেকে লোড হওয়া ডেটা কীভাবে পরিচালনা এবং প্রক্রিয়া করা হয় তা পর্যালোচনা করুন। | |
এসসি-3 | Android ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত সামগ্রী প্রদানকারীর পর্যালোচনা করুন৷ নিশ্চিত করুন যে প্রতিটি প্রদানকারীর একটি উপযুক্ত protectionLevel রয়েছে। | |
SC-4 | ম্যানিফেস্ট ফাইলে, রানটাইমে এবং ডিভাইসে অ্যাপ সেটিংস স্ক্রীনে (সেটিংস > অ্যাপ তথ্য) আপনার অ্যাপের জন্য প্রয়োজনীয় সমস্ত অনুমতি পর্যালোচনা করুন। | |
SC-5 | উপযুক্ত রপ্তানি অবস্থার জন্য Android ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত অ্যাপ্লিকেশন উপাদান পর্যালোচনা করুন। রপ্তানি করা সম্পত্তি অবশ্যই সমস্ত উপাদানের জন্য স্পষ্টভাবে সেট করা উচিত। | |
SC-6 | অ্যাপের নেটওয়ার্ক নিরাপত্তা কনফিগারেশন পর্যালোচনা করুন, নিশ্চিত করুন যে কনফিগারেশনে কোনো লিন্ট চেক ব্যর্থ হয় না। | |
SC-7 | প্রতিটি WebView-এর জন্য, একটি পৃষ্ঠায় নেভিগেট করুন যাতে JavaScript প্রয়োজন। | |
এসসি-8 | প্রতিটি WebView-এ, সাইট এবং সামগ্রীতে নেভিগেট করার চেষ্টা করুন যা সরাসরি আপনার অ্যাপ দ্বারা লোড করা হয় না। | |
SC-9 | একটি নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ঘোষণা করুন যা ক্লিয়ারটেক্সট ট্রাফিক অক্ষম করে , তারপর অ্যাপটি পরীক্ষা করুন। | |
SC-10 | অ্যাপ্লিকেশনটি চালান এবং ডিভাইস লগ পর্যবেক্ষণ করার সময় সমস্ত মূল কার্যকারিতা অনুশীলন করুন। কোনো ব্যক্তিগত ব্যবহারকারীর তথ্য লগ করা উচিত নয়. | |
গুগল প্লে | জিপি-১ | আপনার বিকাশকারী প্রোফাইল, অ্যাপের বিবরণ, স্ক্রিনশট, বৈশিষ্ট্য গ্রাফিক, সামগ্রী রেটিং এবং ব্যবহারকারীর প্রতিক্রিয়া পর্যালোচনা করতে Google Play বিকাশকারী কনসোলে সাইন ইন করুন৷ |
জিপি-2 | আপনার ফিচার গ্রাফিক এবং স্ক্রিনশটগুলি ডাউনলোড করুন, এবং আপনি লক্ষ্য করছেন এমন ডিভাইসে প্রদর্শনের আকার এবং ফর্ম ফ্যাক্টরগুলির সাথে মেলে সেগুলিকে ছোট করুন। | |
জিপি-3 | সমস্ত গ্রাফিকাল সম্পদ, মিডিয়া, টেক্সট, কোড লাইব্রেরি এবং অ্যাপে প্যাকেজ করা বা এক্সপেনশন ফাইল ডাউনলোডের অন্যান্য সামগ্রী পর্যালোচনা করুন। |
স্ট্রিক্টমোড দিয়ে পরীক্ষা করা হচ্ছে
পারফরম্যান্স পরীক্ষার জন্য, আমরা আপনার অ্যাপে StrictMode
সক্ষম করার এবং পারফরম্যান্স, নেটওয়ার্ক অ্যাক্সেস, ফাইল রিড/রাইট ইত্যাদিকে প্রভাবিত করতে পারে এমন ক্রিয়াকলাপগুলি ধরতে এটি ব্যবহার করার পরামর্শ দিই। প্রধান থ্রেড এবং অন্যান্য থ্রেড উভয় ক্ষেত্রেই সম্ভাব্য সমস্যাযুক্ত ক্রিয়াকলাপগুলি সন্ধান করুন।
আপনি StrictMode.ThreadPolicy.Builder
ব্যবহার করে প্রতি-থ্রেড পর্যবেক্ষণ নীতি সেট আপ করতে পারেন এবং detectAll()
ব্যবহার করে ThreadPolicy
এ সমস্ত সমর্থিত পর্যবেক্ষণ সক্ষম করতে পারেন।
penaltyFlashScreen()
ব্যবহার করে ThreadPolicy
এর জন্য নীতি লঙ্ঘনের ভিজ্যুয়াল বিজ্ঞপ্তি চালু করা নিশ্চিত করুন।