অ্যাপের উৎকর্ষতা মূল্যায়নের একটি কার্যকর উপায় হল আপনার অ্যাপের কর্মপ্রবাহের মধ্য দিয়ে হেঁটে যাওয়া এবং অ্যাপের অভিজ্ঞতার মসৃণতা এবং নিরাপত্তা মূল্যায়ন করা।
এই চেকলিস্টটি আপনার অ্যাপের মান মূল্যায়নে সাহায্য করার জন্য মূল মানের মানদণ্ড এবং সংশ্লিষ্ট পরীক্ষার একটি সেট সংজ্ঞায়িত করে। এই মানদণ্ডগুলির মধ্যে কিছু সহজেই মিস করা যেতে পারে এবং পরীক্ষাগুলি আপনাকে আপনার পরীক্ষার পরিকল্পনায় সেগুলি অন্তর্ভুক্ত করতে মনে রাখতে সাহায্য করে।
চেকলিস্টটি সমস্ত অ্যাপের ন্যূনতম কোন মানের মান পূরণ করা উচিত তা তুলে ধরে। আপনার পরীক্ষা সম্ভবত এখানে বর্ণিত মানের চেয়ে অনেক বেশি হবে।
গুণমান চেকলিস্টের প্রতিটি আইটেমের একটি অনন্য আইডি থাকে যা আপনার দলের সাথে যোগাযোগ করার সময় ব্যবহার করা আপনার জন্য সহায়ক হতে পারে। আপনি এই নির্দেশিকাগুলির পূর্ববর্তী সংস্করণটিও দেখতে পারেন।
ভিজ্যুয়াল অভিজ্ঞতা
আপনার অ্যাপটি একটি সামঞ্জস্যপূর্ণ এবং স্বজ্ঞাত ব্যবহারকারীর অভিজ্ঞতার জন্য, যেখানে উপযুক্ত সেখানে স্ট্যান্ডার্ড অ্যান্ড্রয়েড ভিজ্যুয়াল ডিজাইন এবং ইন্টারঅ্যাকশন প্যাটার্ন প্রদান করবে।
| এলাকা | আইডি | পরীক্ষা | বিবরণ |
|---|---|---|---|
| ন্যাভিগেশন | ভিএক্স-এন১ | সিআর-৩ | অ্যাপটি স্ট্যান্ডার্ড ব্যাক বোতাম নেভিগেশন সমর্থন করে এবং কোনও কাস্টম, অন-স্ক্রিন "ব্যাক বোতাম" প্রম্পট ব্যবহার করে না। |
| ভিএক্স-এন২ | সিআর-৩ | অ্যাপটি হোম স্ক্রিনে ফিরে যাওয়ার / যাওয়ার জন্য অঙ্গভঙ্গি নেভিগেশন সমর্থন করে। | |
| ভিএক্স-এন৩ | সিআর-১ সিআর-৩ সিআর-৫ | অ্যাপটি ব্যবহারকারী বা অ্যাপের অবস্থা সঠিকভাবে সংরক্ষণ এবং পুনরুদ্ধার করে। অ্যাপটি ফোরগ্রাউন্ড থেকে বের হওয়ার সময় ব্যবহারকারী বা অ্যাপের অবস্থা সংরক্ষণ করে এবং ব্যাক-নেভিগেশন এবং অন্যান্য অবস্থার পরিবর্তনের কারণে দুর্ঘটনাজনিত ডেটা ক্ষতি প্রতিরোধ করে। ফোরগ্রাউন্ডে ফিরে আসার সময়, অ্যাপটি সংরক্ষিত অবস্থা এবং মুলতুবি থাকা যেকোনো উল্লেখযোগ্য স্টেটফুল লেনদেন পুনরুদ্ধার করবে। উদাহরণগুলির মধ্যে রয়েছে: সম্পাদনাযোগ্য ক্ষেত্রগুলিতে পরিবর্তন, গেমের অগ্রগতি, মেনু, ভিডিও এবং অ্যাপ বা গেমের অন্যান্য বিভাগ।
| |
| বিজ্ঞপ্তি | ভিএক্স-এস১ | সিআর-৯ | বিজ্ঞপ্তিগুলি নকশা নির্দেশিকা অনুসরণ করে। বিশেষ করে:
|
| ভিএক্স-এস২ | সিআর-৯ | মেসেজিং অ্যাপ, সোশ্যাল অ্যাপ এবং কথোপকথনের জন্য:
| |
| UI এবং গ্রাফিক্স | ভিএক্স-ইউ১ | সিআর-৫ | অ্যাপটি ল্যান্ডস্কেপ এবং পোর্ট্রেট ওরিয়েন্টেশন এবং ভাঁজ করা এবং খোলা ডিভাইসের অবস্থা সমর্থন করে। ওরিয়েন্টেশন এবং ভাঁজ অবস্থা মূলত একই বৈশিষ্ট্য এবং ক্রিয়া প্রকাশ করে এবং কার্যকরী সমতা রক্ষা করে। |
| ভিএক্স-ইউ২ | সিআর-৫ | অ্যাপটি উভয় দিক থেকেই অ্যাপ উইন্ডোটি পূরণ করে এবং ডিভাইস ভাঁজ করা এবং খোলার মতো কনফিগারেশন পরিবর্তনের কারণে লেটারবক্স করা হয় না। স্ক্রিন জ্যামিতিতে ছোটখাটো তারতম্যের জন্য ক্ষতিপূরণ হিসেবে ছোটখাটো লেটারবক্সিং গ্রহণযোগ্য। | |
| ভিএক্স-ইউ৩ | সিআর-৫ | অ্যাপটি ডিসপ্লে ওরিয়েন্টেশন এবং ডিভাইস ভাঁজ এবং উন্মোচনের মধ্যে দ্রুত পরিবর্তনগুলি সঠিকভাবে পরিচালনা করে, ডিসপ্লে রেন্ডারিং সমস্যা ছাড়াই এবং অবস্থা হারানো ছাড়াই। | |
| ভিজ্যুয়াল কোয়ালিটি | ভিএক্স-ভি১ | সিআর-সব | অ্যাপটি গ্রাফিক্স, টেক্সট, ছবি এবং অন্যান্য UI উপাদানগুলি লক্ষণীয় বিকৃতি, ঝাপসা বা পিক্সেলেশন ছাড়াই প্রদর্শন করে।
|
| ভিএক্স-ভি২ | সিআর-সব | অ্যাপটি প্রতিটি সমর্থিত ভাষার জন্য গ্রহণযোগ্য পদ্ধতিতে টেক্সট এবং টেক্সট ব্লক প্রদর্শন করে।
| |
| ভিএক্স-ভি৩ | সিআর-সব | অ্যাপটির কন্টেন্ট এবং অ্যাপটি দ্বারা উল্লেখিত সমস্ত ওয়েব কন্টেন্ট ডার্ক থিম সমর্থন করে। | |
| অ্যাক্সেসযোগ্যতা | ভিএক্স-এ১ | সিআর-সব | টাচ টার্গেটের আকার কমপক্ষে 48dp হওয়া উচিত। আরও জানুন । |
| ভিএক্স-এ২ | সিআর-সব | অ্যাপের টেক্সট এবং ফোরগ্রাউন্ড কন্টেন্টের ব্যাকগ্রাউন্ডের সাথে যথেষ্ট উচ্চ রঙের বৈসাদৃশ্য অনুপাত বজায় রাখা উচিত:
রঙ এবং বৈপরীত্য সম্পর্কে আরও জানুন। | |
| ভিএক্স-এ৩ | সিআর-সব | contentDescription ব্যবহার করে TextView ব্যতীত প্রতিটি UI উপাদান বর্ণনা করুন । |
কার্যকারিতা
আপনার অ্যাপটি প্রত্যাশিত কার্যকরী আচরণ বাস্তবায়ন করবে।
| এলাকা | আইডি | পরীক্ষা | বিবরণ |
|---|---|---|---|
| অডিও | এফএন-এ১ | সিআর-১ সিআর-৮ | অ্যাপটি যখন ফোরগ্রাউন্ডে ফিরে আসে, অথবা ব্যবহারকারীকে প্লেব্যাক বিরতি দেওয়া অবস্থায় থাকে তখন অডিও আবার শুরু হয়। |
| এফএন-এ২ | সিআর-১ সিআর-২ সিআর-৮ | যদি অডিও প্লেব্যাক একটি মূল বৈশিষ্ট্য হয়, তাহলে অ্যাপটির ব্যাকগ্রাউন্ড প্লেব্যাক সমর্থন করা উচিত। | |
| এফএন-এ৩ | সিআর-০ | যখন ব্যবহারকারী অডিও প্লেব্যাক শুরু করেন, তখন অ্যাপটির এক সেকেন্ডের মধ্যে নিম্নলিখিতগুলির মধ্যে একটি করা উচিত:
| |
| এফএন-এ৪ | সিআর-০ | অডিও বাজানো শুরু হলে অ্যাপটির অডিও ফোকাসের অনুরোধ করা উচিত এবং প্লেব্যাক বন্ধ হয়ে গেলে অডিও ফোকাস ত্যাগ করা উচিত। | |
| এফএন-এ৫ | সিআর-০ | অ্যাপটি অন্যান্য অ্যাপের অডিও ফোকাসের অনুরোধগুলি পরিচালনা করবে। উদাহরণস্বরূপ, অন্য অ্যাপ যখন স্পিচ চালায় তখন একটি অ্যাপ প্লেব্যাক ভলিউম কমিয়ে দিতে পারে। | |
| মিডিয়া | এফএন-এম১ | সিআর-০ সিআর-৬ সিআর-৮ | যদি অ্যাপটি ব্যাকগ্রাউন্ডে অডিও চালায়, তাহলে এটিকে MediaStyle দিয়ে স্টাইল করা একটি Notification তৈরি করতে হবে। |
| এফএন-এম২ | সিআর-০ | যদি অ্যাপটি ভিডিও চালায়, তাহলে এটি পিকচার-ইন-পিকচার প্লেব্যাক সমর্থন করবে। | |
| এফএন-এম৩ | সিআর-০ | যদি অ্যাপটি ভিডিও এনকোড করে, তাহলে এটি HEVC ভিডিও কম্প্রেশন স্ট্যান্ডার্ড ব্যবহার করে তা করবে। | |
| শেয়ার করা | এফএন-এস১ | সিআর-০ | কন্টেন্ট শেয়ার করার সময় অ্যাপটির অ্যান্ড্রয়েড শেয়ারশিট ব্যবহার করা উচিত। এটি এমন লক্ষ্যগুলি সুপারিশ করতে পারে যা কাস্টম সমাধানের জন্য অনুপলব্ধ। |
| পটভূমি পরিষেবা | এফএন-বি১ | সিআর-৬ | এই অ্যাপটি ব্যাকগ্রাউন্ডে অপ্রয়োজনীয়ভাবে দীর্ঘ পরিষেবা চালানো এড়িয়ে চলে। ব্যবহারকারীর ডিভাইসের মসৃণ পরিচালনা নিশ্চিত করার জন্য, সিস্টেমটি ব্যাকগ্রাউন্ড পরিষেবার উপর বিভিন্ন বিধিনিষেধ আরোপ করে। এগুলি ব্যাকগ্রাউন্ড পরিষেবার ভালো ব্যবহার হিসেবে বিবেচিত হয় না:
|
কর্মক্ষমতা এবং স্থিতিশীলতা
আপনার অ্যাপটি ব্যবহারকারীদের দ্বারা প্রত্যাশিত কর্মক্ষমতা, স্থিতিশীলতা, সামঞ্জস্যতা এবং প্রতিক্রিয়াশীলতা প্রদান করবে।
| এলাকা | আইডি | পরীক্ষা | বিবরণ |
|---|---|---|---|
| স্থিতিশীলতা | পিএস-এস১ | সিআর-সব এসডি-১ | অ্যাপটি UI থ্রেড ক্র্যাশ করে না বা ব্লক করে না যার ফলে ANR (Android Not Responding”) ত্রুটি দেখা দেয়। সম্ভাব্য স্থিতিশীলতার সমস্যাগুলি সনাক্ত করতে Google Play-এর প্রাক-লঞ্চ রিপোর্ট ব্যবহার করুন। স্থাপনের পরে, Google Play ডেভেলপার কনসোলে Android Vitals পৃষ্ঠায় মনোযোগ দিন। |
| কর্মক্ষমতা | পিএস-পি১ | সিআর-সব এসডি-১ | অ্যাপটি দ্রুত লোড হয় অথবা ব্যবহারকারীকে অনস্ক্রিন প্রতিক্রিয়া (একটি অগ্রগতি নির্দেশক বা অনুরূপ কিউ) প্রদান করে যদি অ্যাপটি লোড হতে দুই সেকেন্ডের বেশি সময় নেয়। |
| পিএস-পি২ | সিআর-সব এসডি-১ | প্রতি সেকেন্ডে ৬০টি ফ্রেম অর্জনের জন্য অ্যাপগুলিকে প্রতি ১৬ মিলিসেকেন্ডে ফ্রেম রেন্ডার করতে হবে। ডেভেলপাররা পরীক্ষায় প্রোফাইল HWUI রেন্ডারিং বিকল্পটি ব্যবহার করতে পারেন। যদি কোনও সমস্যা থাকে, তাহলে ধীর রেন্ডারিং নির্ণয়ে সহায়তা করার জন্য সরঞ্জামগুলি উপলব্ধ। | |
| পিএস-পি৩ | পিএম-১ | StrictMode সক্ষম থাকলে (নীচে StrictMode Testing দেখুন), অ্যাপটি পরীক্ষা করার সময় কোনও লাল ফ্ল্যাশ (StrictMode থেকে কর্মক্ষমতা সতর্কতা) দৃশ্যমান হয় না। যেকোনো লাল ফ্ল্যাশ স্টোরেজ, নেটওয়ার্ক অ্যাক্সেস বা মেমোরি লিক সম্পর্কিত খারাপ আচরণ নির্দেশ করে। | |
| SDK সম্পর্কে | পিএস-টি১ | সিআর-০ | অ্যাপটি অ্যান্ড্রয়েড প্ল্যাটফর্মের সর্বশেষ পাবলিক সংস্করণে চলে, কোনও ক্র্যাশ না করে বা মূল কার্যকারিতার উপর গুরুতর প্রভাব না ফেলে। |
| পিএস-টি২ | এসপি-১ | এই অ্যাপটি targetSdk মান সেট করে Google Play এর প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ সর্বশেষ Android SDK-কে লক্ষ্য করে । | |
| পিএস-টি৩ | এসপি-১ | অ্যাপটি compileSdk মান সেট করে সর্বশেষ Android SDK দিয়ে তৈরি করা হয়েছে। | |
| পিএস-টি৪ | এসপি-২ এসপি-৩ | ব্যবহৃত যেকোনো Google বা তৃতীয় পক্ষের SDK গুলি আপ-টু-ডেট । এই SDK গুলিতে যেকোনো উন্নতি, যেমন স্থিতিশীলতা, সামঞ্জস্যতা বা নিরাপত্তা, ব্যবহারকারীদের কাছে সময়মতো উপলব্ধ করা উচিত। গুগল এসডিকে-র ক্ষেত্রে, যখনই গুগল প্লে পরিষেবা দ্বারা চালিত এসডিকে ব্যবহার করার কথা বিবেচনা করুন। এই এসডিকেগুলি ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ, স্বয়ংক্রিয় আপডেট গ্রহণ করে, আপনার অ্যাপ প্যাকেজের আকার হ্রাস করে এবং ডিভাইসে থাকা সংস্থানগুলির দক্ষ ব্যবহার করে। ডেভেলপার সম্পূর্ণ অ্যাপের কোডবেসের জন্য দায়ী, ব্যবহৃত যেকোনো তৃতীয় পক্ষের SDK সহ। | |
| পিএস-টি৫ | এসপি-৩ | অ্যাপটি নন-SDK ইন্টারফেস ব্যবহার করে না। | |
| পিএস-টি৬ | এসপি-২ | প্রোডাকশন অ্যাপে কোনও ডিবাগ লাইব্রেরি অন্তর্ভুক্ত নেই। এর ফলে কর্মক্ষমতা এবং নিরাপত্তা সংক্রান্ত সমস্যা হতে পারে। | |
| ব্যাটারি | পিএস-বি১ | বিএ-১ | অ্যাপটি অ্যান্ড্রয়েড ৬.০ (ডোজ এবং অ্যাপ স্ট্যান্ডবাই) তে চালু হওয়া পাওয়ার ম্যানেজমেন্ট বৈশিষ্ট্যগুলিকে সঠিকভাবে সমর্থন করে। পাওয়ার ম্যানেজমেন্টের কারণে মূল কার্যকারিতা ব্যাহত হলে, শুধুমাত্র যোগ্য অ্যাপগুলিই ছাড়ের অনুরোধ করতে পারে। ডোজ এবং অ্যাপ স্ট্যান্ডবাইতে অন্যান্য ব্যবহারের ক্ষেত্রে সহায়তা দেখুন। ডেভেলপমেন্টের সময়, ডেভেলপাররা এই ADB কমান্ড ব্যবহার করে অ্যাপ স্ট্যান্ডবাই এবং ডজ আচরণ পরীক্ষা করতে পারে। ব্যাটারি ব্যবহারের ক্ষেত্রে, ডেভেলপাররা অপ্রত্যাশিত ব্যাটারি ব্যবহার নির্ণয়ের জন্য পরিকল্পিত ব্যাকগ্রাউন্ড কাজের সাথে মিলিত হয়ে অ্যান্ড্রয়েড স্টুডিও পাওয়ার প্রোফাইলার বা ব্যাটারি হিস্টোরিয়ান টুল ব্যবহার করতে পারেন। |
গোপনীয়তা এবং নিরাপত্তা
আপনার অ্যাপটি ব্যবহারকারীর ডেটা এবং ব্যক্তিগত তথ্য নিরাপদে পরিচালনা করবে, যথাযথ অনুমতির সাথে।
এই চেকলিস্টের পাশাপাশি, গুগল প্লে স্টোরে প্রকাশিত অ্যাপ্লিকেশনগুলিকে ব্যবহারকারীর গোপনীয়তা রক্ষার জন্য ব্যবহারকারীর ডেটা নীতিগুলিও অনুসরণ করতে হবে।
| এলাকা | আইডি | পরীক্ষা | বিবরণ |
|---|---|---|---|
| অনুমতিসমূহ | এসসি-পি১ | এসসি-৪ | অ্যাপটি কেবলমাত্র ন্যূনতম সংখ্যক অনুমতির জন্য অনুরোধ করে যা এটির ব্যবহারের ক্ষেত্রে সমর্থন করে। অবস্থানের মতো কিছু অনুমতির জন্য, সম্ভব হলে সূক্ষ্ম অবস্থানের পরিবর্তে মোটা অবস্থান ব্যবহার করুন। |
| এসসি-পি২ | অ্যাপটি সংবেদনশীল ডেটা (যেমন এসএমএস, কল লগ , বা অবস্থান ) অথবা অর্থ ব্যয়কারী পরিষেবা (যেমন ডায়ালার বা এসএমএস) অ্যাক্সেস করার অনুমতি চায়, শুধুমাত্র যখন অ্যাপগুলির মূল ব্যবহারের সাথে সরাসরি সম্পর্কিত হয়। এই অনুমতিগুলির সাথে সম্পর্কিত প্রভাবগুলি ব্যবহারকারীর কাছে স্পষ্টভাবে প্রকাশ করা উচিত। আপনি কীভাবে অনুমতিগুলি ব্যবহার করছেন তার উপর নির্ভর করে, সংবেদনশীল তথ্যের অ্যাক্সেসের উপর নির্ভর না করে আপনার অ্যাপের ব্যবহারের ক্ষেত্রে পূরণ করার একটি বিকল্প উপায় থাকতে পারে। উদাহরণস্বরূপ, ব্যবহারকারীর পরিচিতি সম্পর্কিত অনুমতির অনুরোধ করার পরিবর্তে, একটি অন্তর্নিহিত অভিপ্রায় ব্যবহার করে অ্যাক্সেসের অনুরোধ করা আরও উপযুক্ত হতে পারে। | ||
| এসসি-পি৩ | সিআর-০ | অ্যাপটি অ্যাপ স্টার্টআপের সময় আগে থেকে না চেয়ে, কার্যকারিতা অনুরোধ করার সময় প্রসঙ্গে রানটাইম অনুমতির অনুরোধ করে। | |
| এসসি-পি৪ | সিআর-০ | অ্যাপটি স্পষ্টভাবে জানায় কেন নির্দিষ্ট অনুমতি প্রয়োজন অথবা কেন অনুমতি প্রয়োজন তা ব্যাখ্যা করার জন্য প্রস্তাবিত প্রবাহ অনুসরণ করে। | |
| এসসি-পি৫ | সিআর-০ | ব্যবহারকারীরা যখন কোনও অনুমতি প্রত্যাখ্যান বা প্রত্যাহার করে নেয় তখন অ্যাপটি সুন্দরভাবে অবনমিত হওয়া উচিত। অ্যাপটি ব্যবহারকারীকে অ্যাপটি অ্যাক্সেস করা থেকে সম্পূর্ণরূপে বাধা দেওয়া উচিত নয়। | |
| ডেটা এবং ফাইল | এসসি-ডিএফ১ | এসসি-১ | সমস্ত সংবেদনশীল তথ্য অ্যাপের অভ্যন্তরীণ স্টোরেজে সংরক্ষণ করা হয়। |
| এসসি-ডিএফ২ | এসসি-১০ | কোনও ব্যক্তিগত বা সংবেদনশীল ব্যবহারকারীর ডেটা সিস্টেম লগ বা অ্যাপ-নির্দিষ্ট লগে লগ করা হয় না। | |
| এসসি-ডিএফ৩ | অ্যাপটি সনাক্তকরণের উদ্দেশ্যে IMEI-এর মতো কোনও অ-রিসেটযোগ্য হার্ডওয়্যার আইডি ব্যবহার করে না। | ||
| পরিচয় | এসসি-আইডি১ | সিআর-০ | অ্যাপটি অ্যাকাউন্টের শংসাপত্র এবং অন্যান্য সংবেদনশীল তথ্য, যেমন ক্রেডিট কার্ডের তথ্য, প্রকৃত ঠিকানা এবং ফোন নম্বর স্বয়ংক্রিয়ভাবে পূরণ করার জন্য ইঙ্গিত প্রদান করে। |
| এসসি-আইডি২ | সিআর-০ | পাসকি, ফেডারেটেড পরিচয় এবং ঐতিহ্যবাহী পাসওয়ার্ডের জন্য সমর্থন একত্রিত করে এমন একটি নির্বিঘ্ন সাইন-ইন অভিজ্ঞতার জন্য অ্যান্ড্রয়েডের জন্য ক্রেডেনশিয়াল ম্যানেজারকে একীভূত করুন। | |
| এসসি-আইডি৩ | সিআর-০ | অ্যাপটি আর্থিক লেনদেন বা গুরুত্বপূর্ণ ব্যবহারকারীর নথির মতো সংবেদনশীল তথ্য সুরক্ষিত রাখতে বায়োমেট্রিক প্রমাণীকরণ সমর্থন করে। | |
| অ্যাপ কম্পোনেন্টস | এসসি-এসি১ | এসসি-৫ | অ্যাপটি সমস্ত কার্যকলাপ , পরিষেবা , সম্প্রচার রিসিভার এবং বিশেষ করে কন্টেন্ট প্রদানকারীদের জন্য স্পষ্টভাবে শুধুমাত্র সেইসব অ্যাপ্লিকেশন উপাদান রপ্তানি করা হয় যেগুলি অন্যান্য অ্যাপের সাথে ডেটা শেয়ার করে , অথবা যে উপাদানগুলি অন্যান্য অ্যাপ দ্বারা আহ্বান করা উচিত , সেগুলিই রপ্তানি করা হয়। |
| এসসি-এসি২ | সিআর-০ এসসি-৪ | সমস্ত উদ্দেশ্য এবং সম্প্রচার সর্বোত্তম অনুশীলন অনুসরণ করে:
| |
| এসসি-এসি৩ | এসসি-৩ | আপনার অ্যাপগুলির মধ্যে কন্টেন্ট শেয়ার করে এমন সমস্ত কম্পোনেন্ট কাস্টম অনুমতির জন্য android:protectionLevel="signature" ব্যবহার করে। এর মধ্যে রয়েছে কার্যকলাপ , পরিষেবা , সম্প্রচার রিসিভার এবং বিশেষ করে কন্টেন্ট প্রদানকারী ।অ্যাপগুলির ইনস্টল করা প্যাকেজের তালিকা অ্যাক্সেস করার উপর নির্ভর করা উচিত নয়। অ্যান্ড্রয়েড ১১ থেকে শুরু করে অ্যাক্সেস সীমাবদ্ধ করা হয়েছে। | |
| নেটওয়ার্কিং | এসসি-এন১ | এসসি-৯ | সমস্ত নেটওয়ার্ক ট্র্যাফিক SSL এর মাধ্যমে পাঠানো হয়। |
| এসসি-এন২ | এসসি-৬ | অ্যাপ্লিকেশনটি একটি নেটওয়ার্ক নিরাপত্তা কনফিগারেশন ঘোষণা করে। | |
| এসসি-এন৩ | যদি অ্যাপ্লিকেশনটি গুগল প্লে পরিষেবা ব্যবহার করে, তাহলে অ্যাপ্লিকেশন শুরু হওয়ার সময় সুরক্ষা প্রদানকারী শুরু হয় । | ||
| ওয়েবভিউ | এসসি-ডব্লিউ১ | এসসি-৬ | স্থানীয় কন্টেন্ট অ্যাক্সেস করার জন্য setAllowUniversalAccessFromFileURLs() ব্যবহার করবেন না। পরিবর্তে, WebViewAssetLoader ব্যবহার করুন। |
| এসসি-ডব্লিউ২ | এসসি-৭ | WebViews-এর অবিশ্বস্ত কন্টেন্টের সাথে addJavaScriptInterface() ব্যবহার করা উচিত নয় । অ্যান্ড্রয়েড ৬.০ এবং তার পরবর্তী ভার্সনে, HTML মেসেজ চ্যানেল ব্যবহার করুন। | |
| মৃত্যুদন্ড | এসসি-ই১ | অ্যাপটি অ্যাপের APK এর বাইরে থেকে গতিশীলভাবে কোড লোড করে না। ডেভেলপারদের Android অ্যাপ বান্ডেল ব্যবহার করা উচিত, যার মধ্যে Play Feature Delivery এবং Play Asset Delivery অন্তর্ভুক্ত। ২০২১ সালের আগস্ট থেকে, গুগল প্লে স্টোরের সমস্ত নতুন অ্যাপের জন্য অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার বাধ্যতামূলক। | |
| ক্রিপ্টোগ্রাফি | এসসি-সি১ | অ্যাপটি শক্তিশালী, প্ল্যাটফর্ম-প্রদত্ত ক্রিপ্টোগ্রাফিক অ্যালগরিদম এবং একটি র্যান্ডম নম্বর জেনারেটর ব্যবহার করে । এছাড়াও, অ্যাপটি কাস্টম অ্যালগরিদম বাস্তবায়ন করে না। |
গুগল প্লে
আপনার অ্যাপগুলি Google Play তে প্রকাশ করা যেতে পারে তা নিশ্চিত করুন।
| এলাকা | আইডি | পরীক্ষা | বিবরণ |
|---|---|---|---|
| নীতিমালা | জিপি-পি১ | জিপি-অল | অ্যাপটি গুগল প্লে ডেভেলপার কন্টেন্ট নীতির শর্তাবলী কঠোরভাবে মেনে চলে এবং অনুপযুক্ত কন্টেন্ট অফার করে না, অন্যদের বৌদ্ধিক সম্পত্তি বা ব্র্যান্ড ব্যবহার করে না, ইত্যাদি। |
| জিপি-পি২ | জিপি-১ | কন্টেন্ট রেটিং নির্দেশিকাগুলির উপর ভিত্তি করে অ্যাপের পরিপক্কতার স্তর যথাযথভাবে সেট করা হয়েছে। | |
| অ্যাপের বিবরণ পৃষ্ঠা | জিপি-ডি১ | জিপি-১ জিপি-২ | অ্যাপটির ফিচার গ্রাফিক এই সহায়তা নিবন্ধে বর্ণিত নির্দেশিকা অনুসরণ করে। নিশ্চিত করুন যে:
|
| জিপি-ডি২ | জিপি-১ | অ্যাপটির স্ক্রিনশট এবং ভিডিওগুলি অ-অ্যান্ড্রয়েড ডিভাইসগুলি দেখায় না বা উল্লেখ করে না। | |
| জিপি-ডি৩ | জিপি-১ | অ্যাপের স্ক্রিনশট বা ভিডিওগুলি আপনার অ্যাপের বিষয়বস্তু এবং অভিজ্ঞতাকে বিভ্রান্তিকরভাবে উপস্থাপন করে না। | |
| ব্যবহারকারীর সহায়তা | জিপি-এক্স১ | জিপি-১ | গুগল প্লে পৃষ্ঠার পর্যালোচনা ট্যাবে ব্যবহারকারীদের দ্বারা রিপোর্ট করা সাধারণ বাগগুলি সমাধান করা হয় যদি সেগুলি পুনরুত্পাদনযোগ্য হয় এবং বিভিন্ন ডিভাইসে দেখা দেয়। যদি কেবল কয়েকটি ডিভাইসে কোনও বাগ দেখা দেয়, তবুও যদি সেই ডিভাইসগুলি বিশেষভাবে জনপ্রিয় বা নতুন হয় তবে আপনার এটি সমাধান করা উচিত। |
একটি পরীক্ষার পরিবেশ স্থাপন করা হচ্ছে
এই চেকলিস্টের জন্য একটি পরীক্ষার পরিবেশ স্থাপনের উদ্দেশ্যে, আমরা নিম্নলিখিতগুলি সুপারিশ করছি:
- এমুলেটর পরীক্ষার উপর দৃষ্টি নিবদ্ধ করা - অ্যান্ড্রয়েড এমুলেটর বিভিন্ন অ্যান্ড্রয়েড সংস্করণ এবং স্ক্রিন রেজোলিউশনের অধীনে আপনার অ্যাপটি পরীক্ষা করার একটি দুর্দান্ত উপায়। আপনার লক্ষ্য ব্যবহারকারী বেসের জন্য সবচেয়ে সাধারণ ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণ উপস্থাপন করার জন্য আপনার এমুলেটেড ডিভাইস (AVD) সেট আপ করা উচিত । ফোনের জন্য পরীক্ষার পাশাপাশি, আমরা আপনাকে কমপক্ষে নিম্নলিখিত এমুলেটরগুলি ব্যবহার করে অন্যান্য ফর্ম ফ্যাক্টর পরীক্ষা করার পরামর্শ দিচ্ছি:
- ফোল্ডেবল - ৭.৬” ফোল্ড-ইন, বাইরের ডিসপ্লে সহ (এটি AVD ম্যানেজারে ফোনের নীচে তালিকাভুক্ত)।
- ট্যাবলেট - পিক্সেল সি ৯.৯৪” (২,৫৬০ পিক্সেল x ১,৮০০ পিক্সেল)।
- মোবাইল অ্যাপ নোটিফিকেশন পরীক্ষার জন্য, Wear OS এমুলেটর - Wear OS রাউন্ড 1.84” এর সাথে একটি মোবাইল ডিভাইস / এমুলেটর পেয়ার করুন।
- হার্ডওয়্যার ডিভাইস - আপনার পরীক্ষার পরিবেশে অল্প সংখ্যক প্রকৃত হার্ডওয়্যার ডিভাইস থাকা উচিত যা বর্তমানে গ্রাহকদের জন্য উপলব্ধ মূল ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার/সফ্টওয়্যার সংমিশ্রণগুলিকে প্রতিনিধিত্ব করে। বাজারে থাকা প্রতিটি ডিভাইসে পরীক্ষা করার প্রয়োজন নেই - বরং, আপনার অল্প সংখ্যক প্রতিনিধিত্বমূলক ডিভাইসের উপর মনোযোগ দেওয়া উচিত, এমনকি প্রতিটি ফর্ম ফ্যাক্টর এক বা দুটি ডিভাইস ব্যবহার করেও।
- ডিভাইস পরীক্ষার ল্যাব - আপনি বিভিন্ন ধরণের ডিভাইসে আপনার অ্যাপ পরীক্ষা করার জন্য তৃতীয় পক্ষের পরিষেবাগুলিও ব্যবহার করতে পারেন, যেমন Firebase Test Lab ।
- সর্বশেষ অ্যান্ড্রয়েড সংস্করণ দিয়ে পরীক্ষা করুন - আপনার লক্ষ্য ব্যবহারকারী বেসের জন্য প্রতিনিধিত্বমূলক অ্যান্ড্রয়েড সংস্করণ পরীক্ষা করার পাশাপাশি, আপনার সর্বদা অ্যান্ড্রয়েডের সর্বশেষ সংস্করণ (বর্তমানে অ্যান্ড্রয়েড 14) দিয়ে পরীক্ষা করা উচিত। এটি নিশ্চিত করে যে সর্বশেষ আচরণগত পরিবর্তনগুলি আপনার ব্যবহারকারীর অভিজ্ঞতার উপর নেতিবাচক প্রভাব ফেলবে না।
ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং এবং UI টেস্টিং সহ টেস্টিং সম্পর্কে আরও বিস্তারিত নির্দেশনার জন্য, অ্যান্ড্রয়েড টেস্টিং ফান্ডামেন্টালগুলি দেখুন।
পরীক্ষার পদ্ধতি
এই পরীক্ষার পদ্ধতিগুলি আপনার অ্যাপে বিভিন্ন ধরণের মানের সমস্যা আবিষ্কার করতে সাহায্য করে। আপনি আপনার নিজস্ব পরীক্ষার পরিকল্পনায় পরীক্ষাগুলিকে একত্রিত করতে পারেন অথবা পরীক্ষার গ্রুপগুলিকে একত্রিত করতে পারেন। এই পরীক্ষার পদ্ধতিগুলির সাথে মানদণ্ড সম্পর্কিত রেফারেন্সগুলির জন্য উপরের বিভাগগুলি দেখুন।
| আদর্শ | পরীক্ষা | বিবরণ |
|---|---|---|
| কোর স্যুট | সিআর-০ | অ্যাপের সকল অংশে নেভিগেট করুন — সকল স্ক্রিন, ডায়ালগ, সেটিংস এবং সকল ব্যবহারকারীর প্রবাহ।
|
| সিআর-১ | প্রতিটি অ্যাপ স্ক্রিন থেকে, ডিভাইসের হোম কী টিপুন অথবা জেসচার নেভিগেশনে উপরের দিকে সোয়াইপ করুন, তারপর All Apps স্ক্রিন থেকে অ্যাপটি পুনরায় চালু করুন। | |
| সিআর-২ | প্রতিটি অ্যাপ স্ক্রিন থেকে, অন্য একটি চলমান অ্যাপে স্যুইচ করুন, এবং তারপর Recents অ্যাপ সুইচার ব্যবহার করে পরীক্ষাধীন অ্যাপে ফিরে যান। | |
| সিআর-৩ | প্রতিটি অ্যাপ স্ক্রিন (এবং ডায়ালগ) থেকে, পিছনের বোতাম টিপুন অথবা পিছনের দিকে সোয়াইপ করার অঙ্গভঙ্গি ব্যবহার করুন। | |
| সিআর-৫ | প্রতিটি অ্যাপ স্ক্রিন থেকে, ডিভাইসটিকে ল্যান্ডস্কেপ এবং পোর্ট্রেট ওরিয়েন্টেশন এবং ভাঁজ করা এবং খোলা অবস্থায় কমপক্ষে তিনবার ঘোরান। | |
| সিআর-৬ | পরীক্ষামূলক অ্যাপটি ব্যাকগ্রাউন্ডে পাঠাতে অন্য অ্যাপে স্যুইচ করুন। সেটিংসে যান এবং পরীক্ষা করুন যে ব্যাকগ্রাউন্ডে থাকাকালীন পরীক্ষামূলক অ্যাপটিতে কোনও পরিষেবা চলছে কিনা। অ্যান্ড্রয়েড 4.0 এবং উচ্চতর সংস্করণে, অ্যাপস স্ক্রিনে যান এবং "রানিং" ট্যাবে অ্যাপটি খুঁজুন। | |
| সিআর-৭ | ডিভাইসটিকে স্লিপ মোডে রাখতে পাওয়ার বোতাম টিপুন, তারপর স্ক্রিনটি জাগানোর জন্য আবার পাওয়ার বোতাম টিপুন। | |
| সিআর-৮ | ডিভাইসে একটি স্ক্রিন লক সেট আপ করুন। ডিভাইসটিকে স্লিপ মোডে রাখতে পাওয়ার বোতাম টিপুন (যা ডিভাইসটিকে লক করে)। তারপর, স্ক্রিনটি জাগিয়ে তুলতে এবং ডিভাইসটি আনলক করতে আবার পাওয়ার বোতাম টিপুন। | |
| সিআর-৯ | অ্যাপটি যে সকল ধরণের বিজ্ঞপ্তি প্রদর্শন করতে পারে সেগুলি বিজ্ঞপ্তি ড্রয়ারে ট্রিগার করুন এবং পর্যবেক্ষণ করুন। প্রযোজ্য ক্ষেত্রে বিজ্ঞপ্তিগুলি প্রসারিত করুন (অ্যান্ড্রয়েড 4.1 এবং উচ্চতর), এবং সমস্ত উপলব্ধ ক্রিয়াগুলিতে আলতো চাপুন। | |
| সিআর-১০ | Doze এবং অ্যাপ স্ট্যান্ডবাইতে অন্যান্য ব্যবহারের ক্ষেত্রে সহায়তা পর্যালোচনা করুন। | |
| SD কার্ডে ইনস্টল করুন | এসডি-১ | ডিভাইসের SD কার্ডে ইনস্টল করা অ্যাপটি দিয়ে Core Suite পুনরাবৃত্তি করুন (যদি অ্যাপটি এই ইনস্টলেশন পদ্ধতি সমর্থন করে)। অ্যাপটি SD কার্ডে সরাতে, আপনি সেটিংস > অ্যাপ তথ্য > SD কার্ডে সরান ব্যবহার করতে পারেন। |
| কর্মক্ষমতা এবং স্থিতিশীলতা | এসপি-১ | অ্যাপ্লিকেশনটি সর্বশেষ উপলব্ধ SDK ( targetSdk এবং compileSdk ) এর বিপরীতে তৈরি হয়েছে কিনা তা নিশ্চিত করতে Android ম্যানিফেস্ট ফাইল এবং বিল্ড কনফিগারেশন পর্যালোচনা করুন। |
| এসপি-২ | পুরনো নির্ভরতার জন্য build.gradle ফাইলটি পর্যালোচনা করুন। | |
| এসপি-৩ | নন-SDK ইন্টারফেস ব্যবহার সনাক্ত করতে অ্যান্ড্রয়েড স্টুডিও লিন্ট টুল ব্যবহার করুন। অন্যান্য বিকল্প পরীক্ষার পদ্ধতিও বিদ্যমান। | |
| কর্মক্ষমতা পর্যবেক্ষণ | পিএম-১ | StrictMode প্রোফাইলিং সক্ষম করে কোর স্যুটটি পুনরাবৃত্তি করুন। আবর্জনা সংগ্রহ এবং ব্যবহারকারীর অভিজ্ঞতার উপর এর প্রভাবের দিকে গভীর মনোযোগ দিন। |
| ব্যাটারি | বিএ-১ | ডোজ এবং অ্যাপ স্ট্যান্ডবাই চক্র জুড়ে কোর স্যুট পুনরাবৃত্তি করুন। অ্যালার্ম, টাইমার, নোটিফিকেশন, সিঙ্ক ইত্যাদির প্রতি বিশেষ মনোযোগ দিন। প্রয়োজনীয়তা এবং নির্দেশিকাগুলির জন্য ডোজ এবং অ্যাপ স্ট্যান্ডবাই সহ পরীক্ষা দেখুন। |
| নিরাপত্তা | এসসি-১ | বহিরাগত স্টোরেজে সংরক্ষিত সমস্ত ডেটা পর্যালোচনা করুন। |
| এসসি-২ | বাহ্যিক স্টোরেজ থেকে লোড করা ডেটা কীভাবে পরিচালনা এবং প্রক্রিয়াজাত করা হয় তা পর্যালোচনা করুন। | |
| এসসি-৩ | অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত কন্টেন্ট প্রদানকারী পর্যালোচনা করুন। নিশ্চিত করুন যে প্রতিটি প্রদানকারীর একটি উপযুক্ত protectionLevel আছে। | |
| এসসি-৪ | আপনার অ্যাপের প্রয়োজনীয় সকল অনুমতি, ম্যানিফেস্ট ফাইলে, রানটাইমে এবং ডিভাইসের অ্যাপ সেটিংস স্ক্রিনে (সেটিংস > অ্যাপ তথ্য) পর্যালোচনা করুন। | |
| এসসি-৫ | যথাযথ এক্সপোর্ট স্থিতির জন্য অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে সংজ্ঞায়িত সমস্ত অ্যাপ্লিকেশন উপাদান পর্যালোচনা করুন। এক্সপোর্ট করা সম্পত্তি অবশ্যই সমস্ত উপাদানের জন্য স্পষ্টভাবে সেট করতে হবে। | |
| এসসি-৬ | অ্যাপের নেটওয়ার্ক সিকিউরিটি কনফিগারেশন পর্যালোচনা করুন, নিশ্চিত করুন যে কনফিগারেশনে কোনও লিন্ট চেক ব্যর্থ হচ্ছে না। | |
| এসসি-৭ | প্রতিটি ওয়েবভিউয়ের জন্য, এমন একটি পৃষ্ঠায় যান যেখানে জাভাস্ক্রিপ্ট প্রয়োজন। | |
| এসসি-৮ | প্রতিটি ওয়েবভিউতে, এমন সাইট এবং সামগ্রীতে নেভিগেট করার চেষ্টা করুন যা আপনার অ্যাপ দ্বারা সরাসরি লোড হয় না। | |
| এসসি-৯ | ক্লিয়ারটেক্সট ট্র্যাফিক অক্ষম করে এমন একটি নেটওয়ার্ক সুরক্ষা কনফিগারেশন ঘোষণা করুন, তারপর অ্যাপটি পরীক্ষা করুন। | |
| এসসি-১০ | অ্যাপ্লিকেশনটি চালান এবং ডিভাইস লগ পর্যবেক্ষণ করার সময় সমস্ত মূল কার্যকারিতা অনুশীলন করুন। কোনও ব্যক্তিগত ব্যবহারকারীর তথ্য লগ করা উচিত নয়। | |
| গুগল প্লে | জিপি-১ | আপনার ডেভেলপার প্রোফাইল, অ্যাপের বিবরণ, স্ক্রিনশট, ফিচার গ্রাফিক, কন্টেন্ট রেটিং এবং ব্যবহারকারীর প্রতিক্রিয়া পর্যালোচনা করতে Google Play Developer Console-এ সাইন ইন করুন। |
| জিপি-২ | আপনার ফিচার গ্রাফিক এবং স্ক্রিনশট ডাউনলোড করুন, এবং আপনার লক্ষ্যবস্তু করা ডিভাইস এবং ফর্ম ফ্যাক্টরের ডিসপ্লের আকারের সাথে মিলিয়ে এগুলি ছোট করুন। | |
| জিপি-৩ | অ্যাপ বা এক্সপেনশন ফাইল ডাউনলোডে প্যাকেজ করা সমস্ত গ্রাফিকাল সম্পদ, মিডিয়া, টেক্সট, কোড লাইব্রেরি এবং অন্যান্য সামগ্রী পর্যালোচনা করুন। |
স্ট্রিক্টমোড দিয়ে পরীক্ষা করা হচ্ছে
পারফরম্যান্স পরীক্ষার জন্য, আমরা আপনার অ্যাপে StrictMode সক্ষম করার এবং পারফরম্যান্স, নেটওয়ার্ক অ্যাক্সেস, ফাইল রিড/রাইট ইত্যাদি প্রভাবিত করতে পারে এমন ক্রিয়াকলাপগুলি ধরার জন্য এটি ব্যবহার করার পরামর্শ দিচ্ছি। মূল থ্রেড এবং অন্যান্য থ্রেড উভয় ক্ষেত্রেই সম্ভাব্য সমস্যাযুক্ত ক্রিয়াকলাপগুলি সন্ধান করুন।
আপনি StrictMode.ThreadPolicy.Builder ব্যবহার করে একটি প্রতি-থ্রেড পর্যবেক্ষণ নীতি সেট আপ করতে পারেন এবং detectAll() ব্যবহার করে ThreadPolicy তে সমস্ত সমর্থিত পর্যবেক্ষণ সক্ষম করতে পারেন।
penaltyFlashScreen() ব্যবহার করে ThreadPolicy এর জন্য নীতি লঙ্ঘনের ভিজ্যুয়াল বিজ্ঞপ্তি সক্ষম করতে ভুলবেন না।