অ্যান্ড্রয়েড 6.0 টেস্টিং গাইড

অ্যান্ড্রয়েড 6.0 আপনাকে আপনার অ্যাপগুলি প্ল্যাটফর্মের পরবর্তী সংস্করণের সাথে কাজ করে তা নিশ্চিত করার একটি সুযোগ দেয়৷ এই রিলিজে অনেকগুলি API এবং আচরণের পরিবর্তন রয়েছে যা আপনার অ্যাপকে প্রভাবিত করতে পারে, যেমন API ওভারভিউ এবং আচরণের পরিবর্তনগুলিতে বর্ণিত হয়েছে৷ এই রিলিজের সাথে আপনার অ্যাপের পরীক্ষা করার সময়, কিছু নির্দিষ্ট সিস্টেম পরিবর্তন রয়েছে যা ব্যবহারকারীদের ভালো অভিজ্ঞতা নিশ্চিত করতে আপনার ফোকাস করা উচিত।

এই নির্দেশিকাটি আপনার অ্যাপের সাথে Android 6.0 বৈশিষ্ট্যগুলি কী এবং কীভাবে পরীক্ষা করবেন তা বর্ণনা করে৷ আপনার অ্যাপের আচরণে তাদের উচ্চ সম্ভাব্য প্রভাবের কারণে এই নির্দিষ্ট বৈশিষ্ট্যগুলির পরীক্ষাকে অগ্রাধিকার দেওয়া উচিত:

পরীক্ষার অনুমতি

নতুন অনুমতি মডেল ব্যবহারকারীর দ্বারা আপনার অ্যাপে অনুমতি বরাদ্দ করার উপায় পরিবর্তন করে। ইনস্টল প্রক্রিয়া চলাকালীন সমস্ত অনুমতি দেওয়ার পরিবর্তে, আপনার অ্যাপটি অবশ্যই ব্যবহারকারীকে রানটাইমে পৃথক অনুমতির জন্য জিজ্ঞাসা করবে। ব্যবহারকারীদের জন্য এই আচরণটি প্রতিটি অ্যাপের ক্রিয়াকলাপের উপর আরও দানাদার নিয়ন্ত্রণ প্রদান করে, সেইসাথে অ্যাপটি কেন একটি নির্দিষ্ট অনুমতির অনুরোধ করছে তা বোঝার জন্য আরও ভাল প্রসঙ্গ। ব্যবহারকারীরা যেকোন সময় স্বতন্ত্রভাবে একটি অ্যাপকে দেওয়া অনুমতি মঞ্জুর বা প্রত্যাহার করতে পারেন। রিলিজের এই বৈশিষ্ট্যটি আপনার অ্যাপের আচরণের উপর প্রভাব ফেলতে পারে এবং আপনার অ্যাপের কিছু বৈশিষ্ট্যকে কাজ করা থেকে বাধা দিতে পারে, অথবা সেগুলি একটি অবনমিত অবস্থায় কাজ করতে পারে।

এই পরিবর্তনটি নতুন প্ল্যাটফর্মে চলমান সমস্ত অ্যাপকে প্রভাবিত করে, এমনকি যারা নতুন প্ল্যাটফর্ম সংস্করণকে লক্ষ্য করে না। প্ল্যাটফর্মটি লিগ্যাসি অ্যাপ্লিকেশানগুলির জন্য একটি সীমিত সামঞ্জস্যপূর্ণ আচরণ প্রদান করে, তবে অফিসিয়াল প্ল্যাটফর্ম লঞ্চে আপনার অ্যাপের একটি আপডেট সংস্করণ প্রকাশ করার লক্ষ্য নিয়ে আপনার এখনই নতুন অনুমতি মডেলে আপনার অ্যাপের স্থানান্তরের পরিকল্পনা করা শুরু করা উচিত।

পরীক্ষার টিপস

নতুন অনুমতি আচরণের সাথে আপনার অ্যাপের পরীক্ষা পরিকল্পনা এবং কার্যকর করতে সহায়তা করার জন্য নিম্নলিখিত পরীক্ষার টিপস ব্যবহার করুন।

  • আপনার অ্যাপের বর্তমান অনুমতি এবং সম্পর্কিত কোড পাথ সনাক্ত করুন।
  • পরীক্ষা ব্যবহারকারী অনুমতি-সুরক্ষিত পরিষেবা এবং ডেটা জুড়ে প্রবাহিত হয়।
  • মঞ্জুর/প্রত্যাহারকৃত অনুমতির বিভিন্ন সমন্বয়ের সাথে পরীক্ষা করুন।
  • কমান্ড লাইন থেকে অনুমতি পরিচালনা করতে adb টুল ব্যবহার করুন:
    • গ্রুপ অনুসারে অনুমতি এবং স্থিতি তালিকা করুন:
      adb shell pm list permissions -d -g
    • নিম্নলিখিত সিনট্যাক্স ব্যবহার করে এক বা একাধিক অনুমতি মঞ্জুর করুন বা প্রত্যাহার করুন:
      adb shell pm [grant|revoke] <permission.name> ...
  • অনুমতি ব্যবহার করে এমন পরিষেবাগুলির জন্য আপনার অ্যাপ বিশ্লেষণ করুন।

পরীক্ষার কৌশল

অনুমতি পরিবর্তন আপনার অ্যাপের গঠন এবং ডিজাইনকে প্রভাবিত করে, সেইসাথে ব্যবহারকারীদের অভিজ্ঞতা এবং আপনি ব্যবহারকারীদের সরবরাহ করেন। আপনার অ্যাপের বর্তমান অনুমতি ব্যবহারের মূল্যায়ন করা উচিত এবং আপনি যে নতুন ফ্লো অফার করতে চান তার জন্য পরিকল্পনা শুরু করা উচিত। প্ল্যাটফর্মের অফিসিয়াল রিলিজ সামঞ্জস্যপূর্ণ আচরণ প্রদান করে, তবে আপনার অ্যাপ আপডেট করার পরিকল্পনা করা উচিত এবং এই আচরণগুলির উপর নির্ভর করা উচিত নয়।

আপনার অ্যাপের আসলে প্রয়োজন এবং ব্যবহার করে এমন অনুমতিগুলি সনাক্ত করুন এবং তারপর অনুমতি-সুরক্ষিত পরিষেবাগুলি ব্যবহার করে এমন বিভিন্ন কোড পাথ খুঁজুন৷ আপনি নতুন প্ল্যাটফর্ম এবং কোড বিশ্লেষণে পরীক্ষার সংমিশ্রণের মাধ্যমে এটি করতে পারেন। পরীক্ষায়, অ্যাপের targetSdkVersion এপিআই লেভেল 23 এ পরিবর্তন করে রানটাইম পারমিশন বেছে নেওয়ার উপর আপনার ফোকাস করা উচিত।

অনুমতির উপর নির্ভর করে ব্যবহারকারীর প্রবাহ হাইলাইট করতে, প্রত্যাহার করা এবং যোগ করা অনুমতিগুলির বিভিন্ন সমন্বয়ের সাথে পরীক্ষা করুন। যেখানে একটি নির্ভরতা সুস্পষ্ট বা যৌক্তিক নয় সেখানে নির্ভরতা দূর করতে বা কেন অনুমতি প্রয়োজন তা স্পষ্ট করতে আপনার সেই প্রবাহটিকে রিফ্যাক্টরিং বা কম্পার্টমেন্টালাইজ করা বিবেচনা করা উচিত।

রানটাইম অনুমতি, পরীক্ষা এবং সর্বোত্তম অনুশীলনের আচরণ সম্পর্কে আরও তথ্যের জন্য, সিস্টেম অনুমতি বিকাশকারীর সাথে কাজ করা দেখুন।

ডোজ এবং অ্যাপ স্ট্যান্ডবাই টেস্টিং

ডোজ এবং অ্যাপ স্ট্যান্ডবাই-এর পাওয়ার সেভিং ফিচারগুলি একটি ডিভাইস নিষ্ক্রিয় অবস্থায় থাকা অবস্থায় বা আপনার অ্যাপ ফোকাসে না থাকা অবস্থায় আপনার অ্যাপ যে পরিমাণ ব্যাকগ্রাউন্ড প্রসেসিং করতে পারে তা সীমিত করে। সিস্টেম অ্যাপগুলিতে যে বিধিনিষেধ আরোপ করতে পারে তার মধ্যে রয়েছে সীমিত বা কোনও নেটওয়ার্ক অ্যাক্সেস, স্থগিত ব্যাকগ্রাউন্ড কাজ, স্থগিত বিজ্ঞপ্তি, উপেক্ষা করা জাগ্রত অনুরোধ এবং অ্যালার্ম। আপনার অ্যাপটি এই পাওয়ার সেভিং অপ্টিমাইজেশনগুলির সাথে সঠিকভাবে আচরণ করছে তা নিশ্চিত করতে, এই কম পাওয়ার স্টেটগুলিকে অনুকরণ করে আপনার অ্যাপটি পরীক্ষা করা উচিত৷

Doze দিয়ে আপনার অ্যাপ পরীক্ষা করা হচ্ছে

আপনার অ্যাপের সাথে ডোজ পরীক্ষা করতে:

  1. একটি Android 7.0 (API স্তর 24) সিস্টেম চিত্র সহ একটি হার্ডওয়্যার ডিভাইস বা ভার্চুয়াল ডিভাইস কনফিগার করুন৷
  2. ডিভাইসটিকে আপনার ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করুন এবং আপনার অ্যাপ ইনস্টল করুন।
  3. আপনার অ্যাপ চালান এবং এটি সক্রিয় ছেড়ে দিন।
  4. নিম্নলিখিত কমান্ডগুলি চালিয়ে ডিভাইসটিকে ডোজ মোডে যাওয়ার অনুকরণ করুন:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
    
  5. ডিভাইসটি পুনরায় সক্রিয় হলে আপনার অ্যাপের আচরণ পর্যবেক্ষণ করুন। ডিভাইসটি Doze থেকে বের হয়ে গেলে এটি সুন্দরভাবে পুনরুদ্ধার করা নিশ্চিত করুন।

অ্যাপ স্ট্যান্ডবাই সহ অ্যাপ পরীক্ষা করা হচ্ছে

আপনার অ্যাপের সাথে অ্যাপ স্ট্যান্ডবাই মোড পরীক্ষা করতে:

  1. একটি Android 7.0 (API স্তর 24) সিস্টেম চিত্র সহ একটি হার্ডওয়্যার ডিভাইস বা ভার্চুয়াল ডিভাইস কনফিগার করুন৷
  2. ডিভাইসটিকে আপনার ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করুন এবং আপনার অ্যাপ ইনস্টল করুন।
  3. আপনার অ্যাপ চালান এবং এটি সক্রিয় ছেড়ে দিন।
  4. নিম্নলিখিত কমান্ডগুলি চালিয়ে অ্যাপটিকে স্ট্যান্ডবাই মোডে যাওয়ার অনুকরণ করুন:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
    
  5. নিম্নলিখিত কমান্ড ব্যবহার করে আপনার অ্যাপ জাগানোর অনুকরণ করুন:
    $ adb shell am set-idle <packageName> false
  6. ঘুম থেকে উঠলে আপনার অ্যাপের আচরণ পর্যবেক্ষণ করুন। নিশ্চিত করুন যে এটি স্ট্যান্ডবাই মোড থেকে সুন্দরভাবে পুনরুদ্ধার করে। বিশেষ করে, আপনার অ্যাপের নোটিফিকেশন এবং ব্যাকগ্রাউন্ড জবগুলি প্রত্যাশিতভাবে কাজ করে কিনা তা পরীক্ষা করা উচিত।

অ্যাপস এবং ডিভাইস-নির্দিষ্ট শনাক্তকারীর জন্য স্বয়ংক্রিয় ব্যাকআপ

আপনার অ্যাপ যদি অভ্যন্তরীণ সঞ্চয়স্থানে Google ক্লাউড মেসেজিং রেজিস্ট্রেশন আইডির মতো কোনো ডিভাইস-নির্দিষ্ট শনাক্তকারী বজায় রাখে, তাহলে স্বয়ং-ব্যাকআপ থেকে সঞ্চয়স্থানের অবস্থান বাদ দেওয়ার জন্য সর্বোত্তম অনুশীলনগুলি অনুসরণ করতে ভুলবেন না, যেমন স্বয়ংক্রিয় ব্যাকআপের সাথে ব্যাক আপ ব্যবহারকারীর ডেটাতে বর্ণিত হয়েছে।