গুগল হোম টেস্ট স্যুট

ক্লাউড-টু-ক্লাউড লোকাল হোম এসডিকে

Google Home Test Suite হলো একটি ওয়েব অ্যাপ্লিকেশন, যা আপনাকে আপনার স্মার্ট হোম অ্যাকশনটি নিজে থেকে পরীক্ষা করার সুযোগ দেয়। এই Test Suite আপনার অ্যাকাউন্টের সাথে যুক্ত ডিভাইস এবং বৈশিষ্ট্যগুলোর ওপর ভিত্তি করে স্বয়ংক্রিয়ভাবে টেস্ট কেস তৈরি করে এবং চালায়। পরীক্ষাগুলো সম্পন্ন হলে, আপনি পরীক্ষার ফলাফল দেখতে পারবেন।

Test Suite ব্যবহার করতে এবং সার্টিফিকেশনের জন্য আপনার পরীক্ষার ফলাফল গুগলে জমা দিতে, তথ্যের জন্য ‘টেস্ট অ্যান্ড শেয়ার স্মার্ট হোম অ্যাকশনস’ পৃষ্ঠাটি দেখুন। Test Suite এই সংস্করণটি বিশেষভাবে উন্নয়ন এবং গুণমান নিশ্চিতকরণের জন্য তৈরি।

Test Suite দ্বারা সম্পাদিত পরীক্ষাগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত, তবে এগুলিই একমাত্র নয়:

  • আপনার ডিভাইস এবং ট্রেইটগুলির জন্য রিপোর্ট স্টেট এবং রিকোয়েস্ট সিঙ্ক বাস্তবায়িত হয়েছে কিনা তা যাচাই করে।

  • যাচাই করে যে আপনার ডিভাইসের জন্য QUERY ইন্টেন্টটি প্রয়োগ করা হয়েছে এবং এর ফলাফল রিপোর্ট স্টেট ফলাফলের সাথে মেলে।

নিচের বোতামে ক্লিক করে আপনি Test Suite টুলটি চালু করতে পারেন:

Test Suite চালু করুন

আপনার কাজের স্ব-পরীক্ষা করুন

নিম্নলিখিত বিভাগে আপনার ডিভাইস এবং স্মার্ট হোম অ্যাকশন প্রজেক্টে কীভাবে Test Suite চালাবেন তা বর্ণনা করা হয়েছে। Test Suite চালানোর জন্য আপনাকে সাইন ইন করতে হবে, যাতে এটি আপনার Google Home Graph থাকা ডিভাইসগুলো পরীক্ষা করতে এবং সরাসরি Google Assistant কমান্ড পাঠাতে পারে।

আপনার অ্যাকশনটি স্ব-পরীক্ষা করতে, এই ধাপগুলো অনুসরণ করুন:

  1. আপনার ওয়েব ব্রাউজারে Test Suite খুলুন।
  2. উপরের ডানদিকের কোণার বোতামটি ব্যবহার করে গুগলে সাইন-ইন করুন।

  3. প্রকল্পের বিবরণ কনফিগার করুন :

    1. প্রজেক্ট আইডি ফিল্ডে, আপনার স্মার্ট হোম অ্যাকশনের জন্য প্রজেক্ট আইডেন্টিফায়ারটি লিখুন।
    2. পরবর্তী ধাপে যান।
  4. পরীক্ষার সেটিংস কনফিগার করুন :

    1. আপনার Cloud-to-cloud ইন্টিগ্রেশন সার্টিফাই করার ক্ষেত্রে, ডিফল্ট রিপোর্ট স্টেট/রিকোয়েস্ট সিঙ্ক টাইমআউট ভ্যালুটি অপরিবর্তিত রাখুন। তবে, টেস্টিংয়ের জন্য, আপনার এজেন্ট যদি হোম গ্রাফে স্টেট রিপোর্ট করতে বেশি সময় নেয়, তাহলে আপনি টাইমআউট ভ্যালুটি পরিবর্তন করতে পারেন।
    2. আপনার Cloud-to-cloud ইন্টিগ্রেশন সার্টিফাই করার সময়, নিশ্চিত করুন যে ‘টেস্ট রিকোয়েস্ট সিঙ্ক’ অপশনটি চালু আছে—পরীক্ষার সময়, আপনাকে একটি ডিভাইস যোগ, আপডেট বা অপসারণ করতে এবং হোম গ্রাফে ডিভাইসের তালিকা পরিবর্তিত হয়েছে কিনা তা পরীক্ষা করতে বলা হবে। পরিবর্তনের কাজগুলো আপনি যে ইন্টিগ্রেশনটি পরীক্ষা করছেন তার মাধ্যমেই সম্পন্ন হয়। আপনার পরীক্ষাধীন ইন্টিগ্রেশনে এজেন্ট ব্যবহারকারীর সাথে সর্বদা অন্তত একটি ডিভাইস সংযুক্ত থাকতে হবে।

    3. আপনি যদি Scene trait ব্যবহার করেন, তাহলে Test Scene trait নির্বাচন করুন।

    4. আপনি যদি লোকাল হোম ডিভাইসগুলির জন্য টেস্ট স্যুট চালান, তাহলে ‘সাপোর্টস লোকাল হোম এসডিকে’ নির্বাচন করুন।

      1. স্থানীয় ফুলফিলমেন্ট অথবা নির্বিঘ্ন সেটআপ নির্বাচন করুন।
      2. ডিভাইসটি যদি স্থানীয়ভাবে QUERY ইন্টেন্ট পরিচালনা করতে পারে, তাহলে Supports Local Query-তে ক্লিক করুন।
  5. একটি পরীক্ষামূলক চালনা করুন এবং ফলাফল দেখুন:

    1. পরীক্ষা চালানো শুরু করতে নেক্সট-এ ক্লিক করুন। ইন্টারফেসে সেই ডিভাইস এবং বৈশিষ্ট্যগুলো দেখানো হবে যেগুলো পরীক্ষা করা হচ্ছে।
  6. ফলাফল ও জমা দেওয়ার পৃষ্ঠাটি দেখুন:

    1. পরীক্ষাগুলো সম্পন্ন হলে, ফলাফল দেখার জন্য 'Next'-এ ক্লিক করুন।

পরীক্ষার ফলাফলে উত্তীর্ণ ও অনুত্তীর্ণ পরীক্ষার সংখ্যা এবং পাসের শতাংশ নির্দেশকারী একটি চূড়ান্ত স্কোর অন্তর্ভুক্ত থাকে।

অ্যাকাউন্ট লিঙ্কিং যাচাইকরণ পরীক্ষা

গুগল স্মার্ট হোম ইকোসিস্টেমে অ্যাকাউন্ট লিঙ্কিং একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। Test Suite অ্যাকাউন্ট লিঙ্কিং ভ্যালিডেশন টেস্টটি আপনার OAuth সার্ভিসে সম্ভাব্য সমস্যাগুলো পরীক্ষা করে।

অ্যাকাউন্ট লিঙ্কিং যাচাইকরণ পরীক্ষায় অ্যাক্সেস টোকেন এবং রিফ্রেশ টোকেন যাচাই করার জন্য পরীক্ষা অন্তর্ভুক্ত রয়েছে:

অ্যাক্সেস টোকেন যাচাইকরণ পরীক্ষা

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

পরীক্ষার আইটেম ব্যাখ্যা
অ্যাক্সেস টোকেনটি JWT ফরম্যাটে আছে কিনা তা যাচাই করুন গুগল অ্যাকাউন্ট লিঙ্ক করার জন্য JWT ফরম্যাটের অ্যাক্সেস টোকেন ব্যবহার করা বাঞ্ছনীয় নয়। যদি কোনো JWT ফরম্যাট পাওয়া যায়, তাহলে নিম্নলিখিত সতর্কবার্তাটি প্রদর্শিত হয়: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
মেয়াদোত্তীর্ণ অ্যাক্সেস টোকেনে রিফ্রেশ টোকেন আছে কিনা তা যাচাই করুন। অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে একটি রিফ্রেশ টোকেন প্রদান করতে হবে। কোনো রিফ্রেশ টোকেন খুঁজে না পাওয়া গেলে এই পরীক্ষাটি ব্যর্থ হবে।

রিফ্রেশ টোকেন যাচাইকরণ পরীক্ষা

আপনার টোকেন এক্সচেঞ্জ এন্ডপয়েন্টটি রিফ্রেশ টোকেনগুলোকে সঠিকভাবে নতুন অ্যাক্সেস টোকেনে বিনিময় করছে কিনা, তা নিশ্চিত করার জন্য রিফ্রেশ টোকেনগুলো পরীক্ষা করা হয়।

পরীক্ষার আইটেম ব্যাখ্যা
অবৈধ রিফ্রেশ টোকেন দিয়ে রিফ্রেশ টোকেন, পার্টনারের প্রতিক্রিয়া যাচাই করা হচ্ছে। একটি অবৈধ রিফ্রেশ টোকেন অনুরোধের জন্য আপনার সার্ভারের {"error": "invalid_grant"} সহ একটি HTTP 400 Bad Request ত্রুটি ফেরত দেওয়া উচিত। যদি প্রতিক্রিয়াটি "ত্রুটি কোড বা বার্তা"-এর সাথে না মেলে, তাহলে এই টেস্ট কেসটি ব্যর্থ হবে। আরও তথ্যের জন্য অ্যাক্সেস টোকেনের জন্য রিফ্রেশ টোকেন বিনিময় দেখুন।
টোকেন রিফ্রেশ করার পর অ্যাক্সেস টোকেন আপডেট হয়েছে কিনা তা পরীক্ষা করুন। রিফ্রেশ টোকেন অনুরোধের জবাবে নতুন অ্যাক্সেস টোকেন ফেরত দেওয়া উচিত। যদি আপনার সার্ভার একই অ্যাক্সেস টোকেন প্রদান করে, তাহলে টেস্ট কেসটি ব্যর্থ হবে।
মেয়াদোত্তীর্ণ নয় এমন অ্যাক্সেস টোকেনটি এখনও বৈধ আছে কিনা তা যাচাই করুন। অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়ার সময় প্রদর্শিত হবে।
রিফ্রেশ করার সময় রিফ্রেশ টোকেনটি পরিবর্তিত হয়েছে কিনা তা পরীক্ষা করুন। একটি রিফ্রেশ টোকেন অনুরোধের পরে রিফ্রেশ টোকেন পরিবর্তিত হয়েছে কিনা তা আমরা পরীক্ষা করি। যদি রিফ্রেশ টোকেন পরিবর্তিত হয়, তবে আপনার সার্ভারের উচিত একটি নতুন রিফ্রেশ টোকেন ব্যবহার করার পরেই কেবল পুরানো রিফ্রেশ টোকেনটিকে বাতিল করা, যাতে এমন রেস কন্ডিশন প্রতিরোধ করা যায় যা কোনো ব্যবহারকারীর অ্যাকাউন্ট লিঙ্কিং ভেঙে দিতে পারে। নতুনটি ব্যবহার করার আগে যদি আপনি পুরানো রিফ্রেশ টোকেনটি বাতিল করেন, তাহলে পরীক্ষাটি ব্যর্থ হবে।

ত্রুটির বার্তা

নিচের সারণিতে কিছু সাধারণ ত্রুটির বার্তা এবং সেগুলি সমাধানের প্রস্তাবিত উপায় তালিকাভুক্ত করা হয়েছে, যেগুলোর সম্মুখীন আপনি হতে পারেন।

ত্রুটি বার্তা কীভাবে সমাধান করবেন
<_id_> প্রোজেক্টে HomeGraph API আগে ব্যবহার করা হয়নি অথবা এটি নিষ্ক্রিয় করা আছে। নিশ্চিত করুন যে আপনি HomeGraph API সক্রিয় করেছেন।
অনুরোধকৃত সত্তা খুঁজে পাওয়া যায়নি আপনার agentUserId বৈধ এবং আপনার পরিষেবার সাথে সংযুক্ত কিনা তা যাচাই করুন।

নিশ্চিত করুন যে আপনার ${your project id} প্রজেক্টের উপর resourcemanager.projects.get পারমিশন আছে এবং কনসেন্ট স্ক্রিনে সমস্ত পারমিশন মঞ্জুর করেছেন।

মডিউল ডেটা পেতে ত্রুটি: getModuleData ত্রুটি: https://hometestsuiteproxy-pa.googleapis.com/v1/module:get এর জন্য Http ব্যর্থ প্রতিক্রিয়া: 403 OK 403

  1. আপনার অ্যাকাউন্টের প্রজেক্টটির জন্য resourcemanager.projects.get পারমিশন আছে কিনা, তা নিশ্চিত করতে Troubleshoot IAM permissions- এর নির্দেশাবলী অনুসরণ করুন।
  2. আপনার অ্যাকাউন্ট অ্যাক্সেস আছে এমন অ্যাপস পৃষ্ঠায় গিয়ে "টেস্ট স্যুট ফর স্মার্ট হোম"-এর জন্য নিম্নলিখিত অনুমতিগুলি পরীক্ষা করুন:
    • অ্যাকাউন্টের প্রাথমিক তথ্য
      1. আপনার প্রাথমিক গুগল অ্যাকাউন্টের ইমেল ঠিকানা দেখুন
      2. আপনার ব্যক্তিগত তথ্য দেখুন, যার মধ্যে আপনার দ্বারা সর্বজনীনভাবে প্রকাশ করা যেকোনো ব্যক্তিগত তথ্যও অন্তর্ভুক্ত।
    • অতিরিক্ত প্রবেশাধিকার
      1. আপনার Assistant ব্যবহার করুন: আপনার গুগল অ্যাকাউন্টে ব্যাপক অ্যাক্সেস
      2. আপনার হোম গ্রাফে স্মার্ট হোম ডিভাইসগুলি পরিদর্শন ও নিয়ন্ত্রণ করুন।
    যদি অনুমতি সংক্রান্ত ত্রুটি দেখা দেয়, তবে প্রথমে অ্যাক্সেস সরিয়ে ফেলুন এবং পুনরায় সাইন ইন করার পর সম্মতি স্ক্রিনে সমস্ত অনুমতি প্রদান করুন।

পরীক্ষার ফলাফল জমা দিন

সার্টিফিকেশনের জন্য জমা দেওয়ার আগে আপনার Test Suite ফলাফলে অবশ্যই ১০০% পরীক্ষা পাস করতে হবে। যদি আপনার এমন কোনো বৈশিষ্ট্য থাকে যার জন্য ম্যানুয়াল পরীক্ষার প্রয়োজন, তাহলে ১০০% পাস না করলেও আপনার Test Suite টুলটি চালানো উচিত এবং ফলাফলটি সংযুক্ত করা উচিত।

আপনার পরীক্ষার ফলাফল জমা দিতে এবং আপনার Cloud-to-cloud ইন্টিগ্রেশন প্রত্যয়িত করতে, এই ধাপগুলো অনুসরণ করুন:

  1. আপনার পরীক্ষার ফলাফল পাওয়ার পর এবং আপনার Cloud-to-cloud ইন্টিগ্রেশন প্রত্যয়ন করার জন্য প্রস্তুত হলে, Test Suite টুলে থাকা সাবমিট বাটনে ক্লিক করুন।
  2. Google Home Developer Console > Cloud-to-cloud > Certify- তে যান।
  3. যে ইন্টিগ্রেশনটি আপনি প্রত্যয়িত করতে চান, সেটি নির্বাচন করুন।
  4. ডকুমেন্টেশন-এর অধীনে, আপনার Test Suite ফলাফলের আইডি প্রবেশ করান।
  5. প্রয়োজনীয় সকল ক্ষেত্র পূরণ করুন, তারপর সাবমিট-এ ক্লিক করুন।