আপনার CI/CD সিস্টেমে টেস্ট ল্যাব ইন্টিগ্রেট করুন

1। পরিচিতি

শেষ আপডেট: 2022-04-07

কীভাবে সিআই/সিডি সিস্টেমের সাথে মোবাইল পরীক্ষা চালাবেন

মোবাইল পরীক্ষা চালানো কঠিন হতে পারে: অনেক অ্যাপ বিভিন্ন প্ল্যাটফর্ম, ডিভাইস এবং API সংস্করণে চলে। অ্যাপ বিকাশকারীরা তাদের ব্যবহারকারীদের আগে সমস্যাগুলি ধরতে যতটা সম্ভব কনফিগারেশন পরীক্ষা করতে চায়। কিন্তু, খরচ এবং সম্পদের সীমাবদ্ধতা পরীক্ষার ডিভাইসের সংখ্যা এবং স্বতন্ত্র রক্ষণাবেক্ষণের পরিমাণকে সীমিত করে যা স্বতন্ত্র বিকাশকারীরা বিনিয়োগ করতে পারে। যখন বিকাশ প্রক্রিয়া বৃদ্ধি পায়, বিশেষ করে ক্রমাগত একীকরণ/কন্টিনিউয়াস ডেভেলপমেন্ট (CI/CD) সিস্টেমের জন্য, পরীক্ষার প্রক্রিয়ার প্রয়োজন হয়। খরচ এবং রক্ষণাবেক্ষণের প্রচেষ্টা কমানোর সময় স্বয়ংক্রিয় হতে হবে।

আপনার ব্যবহারকারীদের ডিভাইসে আপনার অ্যাপগুলি কীভাবে পারফর্ম করে তা বোঝার জন্য আপনাকে সাহায্য করার জন্য, Firebase টেস্ট ল্যাব আমাদের ডেটা সেন্টারে বিভিন্ন মোবাইল ফিজিক্যাল এবং ভার্চুয়াল ডিভাইস হোস্ট করে। এছাড়াও আমরা Google ক্লাউড CLI প্রদান করি, একটি প্ল্যাটফর্ম স্বাধীন, কমান্ড-লাইন টুল যা আমাদের ডেটা সেন্টারে থাকা ডিভাইসে চলমান পরীক্ষা পরিচালনা করে। জিক্লাউড সিএলআই বিদ্যমান CI/CD ওয়ার্কফ্লোতে টেস্ট ল্যাবের ক্লাউড-ভিত্তিক পরীক্ষার সমাধানকে একীভূত করা সহজ করে তোলে।

ক্রস-প্ল্যাটফর্ম সমর্থন

টেস্ট ল্যাব অ্যান্ড্রয়েড এবং iOS অ্যাপ্লিকেশানগুলির জন্য পরীক্ষার সমাধান এবং ইউনিটির মতো মোবাইল গেমগুলির জন্য বিশেষ সহায়তা প্রদান করে৷ পরীক্ষার বিকল্পগুলি Android Espresso, UI Automator, এবং iOS XCTest-এর মতো জনপ্রিয় টেস্টিং ফ্রেমওয়ার্কগুলিকে কভার করে৷ আমাদের স্বয়ংক্রিয় ক্রলার, রোবো , টেস্ট ল্যাব ব্যবহার করে কোনো পরীক্ষার কোড ছাড়াই পরীক্ষা চালাতে পারে।

কোন হার্ডওয়্যার প্রয়োজনীয়তা

টেস্ট ল্যাব Google ডেটা সেন্টারে ফিজিক্যাল ডিভাইস হোস্ট করে এবং এটি Google ক্লাউডে ভার্চুয়াল ডিভাইস হোস্ট করে। আপনাকে যা করতে হবে তা হল আপনার পরীক্ষাগুলি টেস্ট ল্যাবে পাঠান এবং ফলাফলের জন্য অপেক্ষা করুন।

দ্রুত এবং নির্ভরযোগ্য

অনেকগুলি, একযোগে পরীক্ষার ক্ষেত্রে দীর্ঘ সময় লাগতে পারে, CI/CD প্রক্রিয়াগুলিকে ব্লক করে৷ টেস্ট ল্যাবের মাধ্যমে, আপনি সহজেই পরীক্ষাগুলি শর্ড করতে পারেন এবং সমান্তরালভাবে একাধিক ডিভাইসে চালাতে পারেন৷ এছাড়াও আপনি flakiness সনাক্ত করতে পারেন, একটি সাধারণ মোবাইল পরীক্ষার ব্যথা পয়েন্ট।

আপনি কি শিখবেন

  • কিভাবে পরীক্ষা নিদর্শন নির্মাণ
  • জিক্লাউড সিএলআই ব্যবহার করে কীভাবে একটি মোবাইল পরীক্ষা চালাবেন
  • জেনকিন্স সিআই কীভাবে সেট আপ করবেন
  • জেনকিন্স সিআই ব্যবহার করে কীভাবে মোবাইল পরীক্ষা চালাবেন
  • সিআই সিস্টেমের সাথে স্কেল আপ করার জন্য পরীক্ষাগুলি কীভাবে কনফিগার করবেন

এই কোডল্যাব পরীক্ষা চালানোর উপর দৃষ্টি নিবদ্ধ করে। অ-প্রাসঙ্গিক ধারণা এবং কোড ব্লকগুলিকে চকচকে করা হয়েছে এবং আপনাকে কেবল অনুলিপি এবং পেস্ট করার জন্য সরবরাহ করা হয়েছে।

আপনি কি প্রয়োজন হবে

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

2. gcloud CLI দিয়ে একটি পরীক্ষা চালান

একটি Android অ্যাপ APK এবং টেস্টিং APK তৈরি করুন

টেস্ট ল্যাবের সাথে একটি পরীক্ষা চালানোর জন্য, একটি Android অ্যাপ APK এবং একটি টেস্টিং APK তৈরি করে শুরু করুন, যাতে হার্ডওয়্যার ডিভাইস বা এমুলেটরগুলিতে চালানোর জন্য যন্ত্রযুক্ত পরীক্ষা রয়েছে৷ আপনার যদি ইতিমধ্যেই একটি কার্যকরী কোডবেস থাকে, তাহলে আপনি নিজের APK তৈরি করতে পারেন অথবা আপনি Espresso-এর জন্য BasicSample ব্যবহার করতে পারেন।

Gradle কমান্ড ব্যবহার করে APK তৈরি করতে, আপনাকে অবশ্যই Android SDK ইনস্টল করতে হবে। যদি আপনার অ্যান্ড্রয়েড স্টুডিও আপনার মেশিনে ইনস্টল না থাকে, তাহলে অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড SDK ইনস্টল করুন এবং আপনার Android SDK ডিরেক্টরির সাথে ANDROID_HOME পরিবেশ সেট করুন৷ উদাহরণস্বরূপ, আপনার ~/.bash_profile ফাইলে, নিম্নলিখিত লাইন যোগ করুন:

export ANDROID_HOME=~/Android/Sdk # For linux
export ANDROID_HOME=~/Library/Android/sdk  # For MacOS

তারপরে, কোড ক্লোন করতে এবং APK তৈরি করতে নিম্নলিখিত কমান্ডগুলি চালান:

git clone https://github.com/android/testing-samples.git
cd testing-samples/ui/espresso/BasicSample/
./gradlew assembleDebug  # for generating app apk
./gradlew assembleDebugAndroidTest # for generating testing apk

ক্লোন এবং বিল্ড কমান্ড চালানোর পরে, আপনি নিম্নলিখিত অবস্থানগুলিতে অ্যাপ APK এবং টেস্টিং APK খুঁজে পেতে পারেন:

app/build/outputs/apk/debug/app-debug.apk
app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

বিকল্পভাবে, আপনি পরীক্ষা এবং অ্যাপ APK পেতে নিম্নলিখিত বিকল্পগুলি ব্যবহার করতে পারেন:

যদি আপনার কাছে একটি iOS অ্যাপের জন্য সোর্স কোড থাকে, তাহলে আপনি একটি XCTest লিখতে পারেন এবং অ্যাপ এবং পরীক্ষা থেকে একটি জিপ ফাইল তৈরি করতে পারেন।

টেস্ট ল্যাবের সাথে একটি পরীক্ষা চালানোর জন্য gcloud CLI ব্যবহার করুন

এই বিভাগে, আপনি একটি ফায়ারবেস প্রকল্প তৈরি করুন এবং আপনার স্থানীয় Google ক্লাউড SDK পরিবেশ কনফিগার করুন। আরও জানতে, gcloud CLI দিয়ে পরীক্ষা শুরু করুন দেখুন।

gcloud CLI সেট আপ করুন

  1. Google Cloud SDK ডাউনলোড করুন, যার মধ্যে রয়েছে gcloud CLI টুল।
  2. যাচাই করুন যে আপনার ইনস্টলেশন আপ টু ডেট:
gcloud components update
  1. আপনার Google অ্যাকাউন্ট ব্যবহার করে gcloud CLI-তে সাইন ইন করুন:
gcloud auth login
  1. gcloud CLI-তে আপনার Firebase প্রকল্প সেট করুন, যেখানে PROJECT_ID হল আপনার Firebase প্রকল্প আইডি। আপনি Firebase কনসোল URL-এ প্রকল্প আইডি খুঁজে পেতে পারেন, যা এই নামকরণের নিয়ম অনুসরণ করে: https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID

আপনার যদি একটি Firebase প্রকল্প না থাকে, তাহলে Firebase কনসোলে একটি তৈরি করুন।

নির্মিত APK ব্যবহার করে একটি পরীক্ষা চালান

এই বিভাগে, আপনি টেস্ট ল্যাবের ডিফল্ট ডিভাইসে একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালান, যা API স্তর 28 সহ একটি Pixel 3। আপনি যদি একটি ভিন্ন ডিভাইস ব্যবহার করতে চান তবে উপলব্ধ ডিভাইসগুলি পরীক্ষা করুন

অ্যাপ্লিকেশান ব্যবহার করে এবং আপনার তৈরি করা APK গুলি পরীক্ষা করে একটি Android অ্যাপ APK তৈরি করুন এবং APK পরীক্ষা করুন, নিম্নলিখিত কমান্ড ব্যবহার করে একটি Android ইন্সট্রুমেন্টেশন পরীক্ষা চালান:

gcloud firebase test android run \
  --type instrumentation \
  --app app/build/outputs/apk/debug/app-debug.apk \
  --test app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

পরীক্ষার ফলাফল বিশ্লেষণ করুন

আপনি নিম্নলিখিত বিকল্পগুলির যেকোনো একটি ব্যবহার করে পরীক্ষার ফলাফল বিশ্লেষণ করতে পারেন:

  • gcloud সারাংশ - যখন আপনার পরীক্ষা শেষ হয়, gcloud CLI আপনার পরীক্ষার ফলাফলের একটি প্রাথমিক সারাংশ প্রিন্ট করে।
  • gcloud প্রস্থান কোড - পরীক্ষা শেষ হওয়ার পরে, পরীক্ষা পাস হলে কমান্ডটি 0 দিয়ে প্রস্থান করে। পরীক্ষা ব্যর্থ হলে, কমান্ডটি একটি অ-শূন্য প্রস্থান কোড দিয়ে প্রস্থান করে।
  • ফায়ারবেস কনসোল - gcloud CLI ফায়ারবেস কনসোলের একটি লিঙ্ক প্রিন্ট করে। লিঙ্কটি নামকরণের নিয়ম অনুসরণ করে https://console.firebase.google.com/project/PROJECT_ID/testlab/... আরও জানতে, একটি একক পরীক্ষা সম্পাদনের ফলাফল ব্যাখ্যা করুন।
  • JUnit XML ফাইল - gcloud CLI নিম্নলিখিতগুলি প্রিন্ট করে:
Raw results will be stored in your Cloud Storage bucket at [https://console.developers.google.com/storage/browser/test-lab-xxxxx/xxxxx/]

test-lab-xxxxx/xxxxx হল ক্লাউড স্টোরেজ বাকেট যা পরীক্ষার আর্টিফ্যাক্ট এবং ফলাফল সঞ্চয় করে। পরীক্ষার ফলাফল ধারণকারী JUnit XML ফাইলটি সনাক্ত করতে, লিঙ্কটি খুলুন এবং blueline-28-en-portrait/test_result_1.xml এ নেভিগেট করুন।

3. জেনকিন্স সিআই এর সাথে সেট আপ করুন

এই বিভাগে আপনি জেনকিন্স সিআই ব্যবহার করেন, একটি জনপ্রিয় CI সিস্টেম, টেস্ট ল্যাবের মাধ্যমে পরীক্ষা চালানোর জন্য। আপনি যদি একটি ভিন্ন CI সিস্টেম ব্যবহার করতে চান, বড় টেস্ট স্যুট চালানোর জন্য উন্নত সেরা অনুশীলন এবং Bitrise এবং Circle CI এর মতো অন্যান্য CI সিস্টেমের জন্য ডকুমেন্টেশন দেখুন। আপনি gcloud CLI এর বিকল্প হিসাবে Flank ব্যবহার করতে পারেন।

জেনকিন্সের জন্য gcloud CLI সক্ষম করুন

জেনকিন্সের সাথে টেস্ট ল্যাব ব্যবহার করার আগে, আপনাকে অবশ্যই প্রয়োজনীয় API সক্ষম করতে হবে এবং একটি পরিষেবা অ্যাকাউন্ট সেট আপ করতে হবে যা জেনকিন্স gcloud CLI এর সাথে প্রমাণীকরণ করতে ব্যবহার করতে পারে।

জেনকিন্সের জন্য একটি Google ক্লাউড পরিষেবা অ্যাকাউন্ট যোগ করুন

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

একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে পরিষেবা অ্যাকাউন্ট পৃষ্ঠা খুলুন।
  2. পরিষেবা অ্যাকাউন্ট তৈরি করুন ক্লিক করুন, একটি নাম এবং বিবরণ যোগ করুন এবং তারপর তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
  3. একটি ভূমিকা নির্বাচন করুন ড্রপডাউন থেকে, মৌলিক নির্বাচন করুন এবং তারপরে সম্পাদক নির্বাচন করুন।
  4. Continue-এ ক্লিক করুন, তারপর Done-এ ক্লিক করুন।

এর পরে, আপনি একটি প্রমাণীকরণ কী তৈরি এবং ডাউনলোড করুন যা জেনকিন্স আপনার তৈরি পরিষেবা অ্যাকাউন্ট হিসাবে প্রমাণীকরণ করতে ব্যবহার করতে পারে।

পরিষেবা অ্যাকাউন্ট কী তৈরি এবং ডাউনলোড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে পরিষেবা অ্যাকাউন্ট পৃষ্ঠা থেকে, আপনার তৈরি করা অ্যাকাউন্টের সাথে যুক্ত ইমেলটিতে ক্লিক করুন৷
  2. কী নির্বাচন করুন, তারপর যোগ কী ক্লিক করুন এবং নতুন কী তৈরি করুন
  3. JSON নির্বাচন করুন, তারপর তৈরি করুন ক্লিক করুন।
  4. যখন আপনাকে ফাইলটি ডাউনলোড করতে বলা হয়, ঠিক আছে ক্লিক করুন। আপনার কম্পিউটারে একটি নিরাপদ জায়গায় ফাইল ডাউনলোড করুন. জেনকিন্স কনফিগার করার সময় আপনার এই ফাইলটি পরে প্রয়োজন।

পরিষেবা অ্যাকাউন্ট তৈরি সম্পর্কে আরও জানতে, একটি পরিষেবা অ্যাকাউন্ট তৈরি করা দেখুন।

প্রয়োজনীয় Google ক্লাউড API সক্ষম করুন৷

ক্লাউড টেস্টিং API আপনাকে Google পরিকাঠামোতে পরীক্ষা চালাতে দেয়। আপনি যখন gcloud CLI এর সাথে একটি পরীক্ষা চালান সম্পূর্ণ করেছেন তখন আপনি এই API সক্ষম করেছেন৷ ক্লাউড টুল ফলাফল API আপনাকে প্রোগ্রাম্যাটিকভাবে আপনার পরীক্ষার ফলাফল অ্যাক্সেস করতে দেয়।

  1. Google Developers Console API লাইব্রেরি খুলুন।
  2. ফায়ারবেস কনসোলের শীর্ষে অনুসন্ধান বারে, প্রতিটি প্রয়োজনীয় API ( ক্লাউড টেস্টিং API এবং ক্লাউড টুল ফলাফল API ) এর নাম লিখুন। অনুরোধ করা API-এর জন্য ওভারভিউ পৃষ্ঠা প্রদর্শিত হবে।
  3. প্রতিটি API এর ওভারভিউ পৃষ্ঠায় API সক্ষম করুন ক্লিক করুন।

জেনকিন্স ইনস্টল এবং সেট আপ করুন

আপনি Linux, macOS, Windows এবং অন্যান্য অনেক পরিবেশে Jenkins CI ইনস্টল এবং সেট আপ করতে পারেন। এই কোডল্যাবের কিছু বিবরণ লিনাক্সে জেনকিন্স সিআই ইনস্টল এবং চালানোর জন্য নির্দিষ্ট, ফাইল পাথে স্ল্যাশ (/) ব্যবহার সহ।

Linux বা Windows চলমান কম্পিউটারে Jenkins ডাউনলোড এবং ইনস্টল করতে, Jenkins ইনস্টল করার নির্দেশাবলী অনুসরণ করুন। আপনি জেনকিন্স ইনস্টল করার পরে, সেটআপ সম্পূর্ণ করতে এবং http://localhost:8080 ব্যবহার করে জেনকিন্স ড্যাশবোর্ড অ্যাক্সেস করতে একই জেনকিন্স ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন।

ইনস্টল করা প্লাগইন যাচাই করুন

জেনকিন্স বিভিন্ন সংস্করণ নিয়ন্ত্রণ ব্যবস্থা সমর্থন করে। এই কোডল্যাবে, আপনি আগের পরীক্ষা চালানোর জন্য গিট ব্যবহার করেন। এবং gcloud CLI চালানোর সাথে আরও ভাল অভিজ্ঞতা পেতে, আপনাকে GCloud SDK প্লাগইন ইনস্টল করতে হবে।

  1. জেনকিন্স ড্যাশবোর্ডে, জেনকিন্স পরিচালনা করুন ক্লিক করুন এবং তারপরে প্লাগইনগুলি পরিচালনা করুন ক্লিক করুন।
  2. Git এবং GCloud SDK প্লাগইনগুলি অনুসন্ধান করুন এবং সেগুলি ইনস্টল করুন (যদি সেগুলি এখনও ইনস্টল না করা থাকে)৷

আপনার Android এবং Google Cloud SDK-এর অবস্থান কনফিগার করুন

আপনি এখন Jenkins-কে নির্দেশ দিন কোথায় Google Cloud SDK এবং Android SDK খুঁজে পাবেন।

জেনকিন্সের জন্য Google ক্লাউড এবং Android SDK কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. জেনকিন্স ড্যাশবোর্ডে, জেনকিন্স পরিচালনা করুন- এ ক্লিক করুন এবং তারপরে গ্লোবাল টুল কনফিগারেশন-এ ক্লিক করুন।
  2. Google Cloud SDK বিভাগে, Google Cloud SDK যোগ করুন ক্লিক করুন।
  3. নাম ক্ষেত্রে, Google ক্লাউড SDK উদাহরণের জন্য একটি নাম লিখুন যা মনে রাখা সহজ, উদাহরণস্বরূপ, GCloud-SDK৷
  4. আপনার Google Cloud SDK হোম ডিরেক্টরি লিখুন, উদাহরণস্বরূপ, /opt/google-cloud-sdk
  5. সংরক্ষণ করুন ক্লিক করুন.
  6. ড্যাশবোর্ড > জেনকিন্স পরিচালনা > সিস্টেম কনফিগার করে Android এবং Google ক্লাউড SDK-এর জন্য আপনার সিস্টেম-ব্যাপী বৈশিষ্ট্যগুলি কনফিগার করুন।
  7. এনভায়রনমেন্ট ভেরিয়েবল চেকবক্স নির্বাচন করুন এবং যোগ করুন ক্লিক করুন।
  8. নাম ক্ষেত্রে, ANDROID_HOME লিখুন। মান ক্ষেত্রে, আপনার Android SDK-এর অবস্থান লিখুন, উদাহরণস্বরূপ, /opt/Android/Sdk
  9. টুল অবস্থান চেকবক্সে ক্লিক করুন এবং যোগ করুন ক্লিক করুন। নাম ড্রপডাউন থেকে, আপনি গ্লোবাল টুল কনফিগারেশনে যোগ করা Google ক্লাউড SDK উদাহরণের নাম নির্বাচন করুন।
  10. হোম ফিল্ডে, আপনার Google ক্লাউড SDK-এর অবস্থান লিখুন, উদাহরণস্বরূপ, /opt/google-cloud-sdk
  11. সংরক্ষণ করুন ক্লিক করুন.

জেনকিন্সে আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্র যোগ করুন

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

  1. জেনকিন্স ড্যাশবোর্ডে, জেনকিন্স পরিচালনা করুন ক্লিক করুন এবং তারপরে শংসাপত্র পরিচালনা করুন ক্লিক করুন।
  2. স্টোর স্কোপড টু জেনকিন্স বিভাগে, (গ্লোবাল) ডোমেন লিঙ্কে ক্লিক করুন, তারপর শংসাপত্র যোগ করুন ক্লিক করুন।
  3. কাইন্ড ড্রপডাউন থেকে, ব্যক্তিগত কী থেকে Google পরিষেবা অ্যাকাউন্ট নির্বাচন করুন।
  4. প্রকল্পের নাম ক্ষেত্রে, আপনার ফায়ারবেস প্রকল্পের নাম লিখুন।
  5. JSON কী নির্বাচন করুন, তারপর ব্রাউজ ক্লিক করুন এবং আপনি যেখানে আপনার পরিষেবা অ্যাকাউন্ট কী সংরক্ষণ করেছেন সেই অবস্থানে ব্রাউজ করুন৷
  6. তৈরি করুন ক্লিক করুন।

আপনি এখন টেস্ট ল্যাবের জন্য আপনার Jenkins স্বয়ংক্রিয় বিল্ড কনফিগার করতে প্রস্তুত।

4. Jenkins CI এর সাথে টেস্ট ল্যাব পরীক্ষা চালান

এখন আপনি জেনকিন্স সেট আপ করেছেন, আসুন সবকিছু একসাথে রাখি এবং জেনকিন্স ব্যবহার করে একই পরীক্ষা চালাই।

আপনি জেনকিন্সকে স্বয়ংক্রিয় বিল্ডগুলি চালানোর জন্য কনফিগার করতে পারেন এবং প্রতিবার আপনার অ্যাপে আপডেটগুলি চেক ইন করার সময় পরীক্ষা চালাতে পারেন৷ আপনি পর্যায়ক্রমে বিল্ডগুলি চালানোর জন্য জেনকিন্সকে কনফিগার করতে পারেন৷ জেনকিন্সে বিল্ড কনফিগার করার বিষয়ে আরও জানতে, স্বয়ংক্রিয় বিল্ড কনফিগার করা দেখুন।

আপনার জেনকিন্স প্রকল্প তৈরি করুন এবং কনফিগার করুন

টেস্ট ল্যাবের সাথে আপনার অ্যাপের ক্রমাগত ইন্টিগ্রেশন টেস্টিং চালানোর জন্য একটি প্রকল্প তৈরি করুন।

একটি জেনকিন্স প্রকল্প তৈরি করুন

  1. http://localhost:8080 এ ব্রাউজ করে জেনকিন্স ড্যাশবোর্ড খুলুন।
  2. জেনকিন্স ড্যাশবোর্ডে, নতুন আইটেম ক্লিক করুন।
  3. আইটেম নাম ক্ষেত্রে আপনার প্রকল্পের জন্য একটি নাম লিখুন, এবং একটি একক বিল্ড কনফিগারেশন ব্যবহার করে এমন একটি প্রকল্প তৈরি করতে ফ্রিস্টাইল প্রকল্পে ক্লিক করুন।
  4. ওকে ক্লিক করুন। প্রকল্প কনফিগারেশন সম্পূর্ণ করতে, ক্রমানুসারে অবশিষ্ট বিভাগগুলি সম্পূর্ণ করুন..

সোর্স কোড ম্যানেজমেন্ট কনফিগার করুন

  1. সোর্স কোড ম্যানেজমেন্ট ট্যাব থেকে, গিট নির্বাচন করুন।
  2. রিপোজিটরি URL ক্ষেত্রে https://github.com/android/testing-samples.git লিখুন।

বিল্ড এনভায়রনমেন্ট কনফিগার করুন

বিল্ড এনভায়রনমেন্ট বিভাগ আপনাকে বিল্ড বৈশিষ্ট্যগুলি কনফিগার করতে দেয়। এই পদক্ষেপগুলি অনুসরণ করে Google ক্লাউড প্রমাণীকরণ সক্ষম করুন:

  1. বিল্ড এনভায়রনমেন্ট ট্যাবে, GCloud SDK প্রমাণীকরণ চেকবক্স নির্বাচন করুন এবং আপনার Google ক্লাউড ইনস্টলেশন তথ্য যোগ করার সময় আপনি যে ইনস্টলেশন নামটি বেছে নিয়েছিলেন সেটি নির্বাচন করুন।
  2. Google শংসাপত্র ড্রপডাউন থেকে, আপনার কনফিগার করা পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি নির্বাচন করুন৷

APK প্যাকেজ পুনর্নির্মাণের জন্য Gradle বিল্ড ধাপগুলি যোগ করুন

  1. বিল্ড বিভাগে স্ক্রোল করুন, বিল্ড ধাপ যোগ করুন ক্লিক করুন এবং তারপরে শেল এক্সিকিউট করুন নির্বাচন করুন।
  2. আপনার অ্যাপ্লিকেশনের জন্য প্রধান ডিরেক্টরিতে নিম্নলিখিত কমান্ডগুলি চালানোর জন্য একটি বিল্ড ধাপ যুক্ত করুন:
cd ui/espresso/BasicSample/
./gradlew assembleDebug  # for generating app apk
./gradlew assembleDebugAndroidTest # for generating testing apk

জেনকিন্সে একটি জিক্লাউড সিএলআই বিল্ড স্টেপ যোগ করুন

এখন আপনি জিক্লাউড সিএলআই কমান্ড লাইন ব্যবহার করে টেস্ট ল্যাব চালানোর জন্য জেনকিন্সে একটি বিল্ড স্টেপ যোগ করতে প্রস্তুত।

জিক্লাউড সিএলআই বিল্ড স্টেপ যোগ করতে, একটি নতুন এক্সিকিউট শেল বিল্ড স্টেপ যোগ করুন এবং নিম্নলিখিত কমান্ডটি লিখুন:

gcloud config set project PROJECT_ID
gcloud firebase test android run \
--app ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/debug/app-debug.apk
--test ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk

প্রকল্প সেটআপ শেষ করার পরে, পৃষ্ঠার নীচে স্ক্রোল করুন এবং কনফিগারেশনটি সংরক্ষণ করুন। নতুন প্রকল্পের জন্য আপনাকে হোম পেজে পুনঃনির্দেশিত করা হয়েছে।

জেনকিন্সের সাথে পরীক্ষা চালান

এখন আপনি জেনকিন্স প্রজেক্ট তৈরি করতে এবং জিক্লাউড সিএলআই-এর সাথে যে ম্যানুয়াল টেস্টটি চালিয়েছেন তার মতো একটি পরীক্ষা চালানোর জন্য প্রস্তুত।

জেনকিন্সের সাথে পরীক্ষা চালানোর জন্য, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ম্যানুয়ালি বিল্ড ট্রিগার করতে, এখনই তৈরি করুন ক্লিক করুন।
  2. নতুন বিল্ড > কনসোল আউটপুট ক্লিক করে অগ্রগতি এবং ফলাফল পরীক্ষা করুন।

আপনি যদি ত্রুটি দেখতে না পান, অভিনন্দন! আপনি শুধু একটি প্রজেক্ট সেট আপ করেছেন এবং একটি ক্লিকে একটি Pixel 2 ডিভাইসে একটি পরীক্ষা চালিয়েছেন। আপনি যদি ত্রুটির সম্মুখীন হন, তাহলে সমস্যা সমাধান দেখুন।

5. বড় পরীক্ষা স্যুট চালানোর জন্য উন্নত সেরা অনুশীলন

আপনি যখন অনেকগুলি, একযোগে পরীক্ষা চালাতে চান, তখন আপনার পরীক্ষাগুলি দ্রুত এবং নির্ভরযোগ্যভাবে চালানো নিশ্চিত করতে এই সেরা অনুশীলনগুলি অনুসরণ করুন৷

একাধিক ডিভাইস কনফিগারেশনে কভারেজ বাড়ান

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

  • পোর্ট্রেট ওরিয়েন্টেশন এবং ইংরেজি লোকেলে API লেভেল 30 সহ একটি ভার্চুয়াল Google Pixel 2
  • ল্যান্ডস্কেপ ওরিয়েন্টেশন এবং ফ্রেঞ্চ লোকেলে API লেভেল 29 সহ একটি ফিজিক্যাল Samsung Galaxy S20
gcloud firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --device model=Pixel2,version=30,locale=en,orientation=portrait  \
  --device model=x1q,version=29,locale=fr,orientation=landscape

একটি gcloud CLI YAML কনফিগারেশন ফাইল ব্যবহার করুন

আপনি যদি আপনার আর্গুমেন্টগুলিকে এক জায়গায় বা আপনার সোর্স কন্ট্রোল সিস্টেমের সাথে পরিচালনা করতে চান তবে আপনি এই আর্গুমেন্টগুলিকে একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে উল্লেখ করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে, gcloud topic arg-files চালান।

শার্ড পরীক্ষা সমান্তরালভাবে চালানোর জন্য

টেস্ট শার্ডিং পরীক্ষার একটি সেটকে সাবগ্রুপে (শার্ডস) ভাগ করে যা বিচ্ছিন্নভাবে আলাদাভাবে চলে। টেস্ট ল্যাব স্বয়ংক্রিয়ভাবে একাধিক ডিভাইস ব্যবহার করে সমান্তরালভাবে প্রতিটি শার্ড চালায়, যা টেস্ট ল্যাবকে আরও দ্রুত পরীক্ষার সম্পূর্ণ সেট সম্পূর্ণ করতে দেয়। আরও তথ্যের জন্য, শর্ডিং সক্ষম করুন দেখুন।

শার্ডিং সক্ষম করতে, gcloud beta চ্যানেল ব্যবহার করুন এবং gcloud CLI বিল্ড ধাপে -num-uniform-shards বা -test-targets-for-shard পতাকা যোগ করুন। উদাহরণস্বরূপ, আপনার পরীক্ষাগুলিকে পাঁচটি এক্সিকিউশনে ভাগ করতে এবং সমান্তরালভাবে চালানোর জন্য, নিম্নলিখিত কমান্ডগুলি চালান:

gcloud beta firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --num-uniform-shards 5

flakiness সনাক্তকরণ সক্ষম করুন

মোবাইল পরীক্ষা প্রায়ই অস্পষ্ট হতে পারে। কখনও কখনও পরীক্ষা পাস হয়, এবং অন্য সময় তারা ব্যর্থ হতে পারে, এমনকি একই সেটআপ সহ। আপনি -num-flaky-test-attempts gcloud CLI পতাকা ব্যবহার করে একটি ব্যর্থ পরীক্ষা ফ্ল্যাকি ছিল কিনা তা সনাক্ত করতে পারেন। এই পতাকাটি নির্দিষ্ট করে যে কোন কারণে পরীক্ষার ক্ষেত্রে এক বা একাধিক ব্যর্থ হলে কতবার পরীক্ষা সম্পাদনের পুনরায় চেষ্টা করা উচিত।

উদাহরণ স্বরূপ, প্রাথমিক ব্যর্থ রানের পরে আরও তিনবার ব্যর্থ পরীক্ষার ক্ষেত্রে পুনরায় চালানোর জন্য, নিম্নলিখিতগুলি নির্দিষ্ট করুন:

gcloud beta firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --num-flaky-test-attempts 3

6. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে একটি CI সিস্টেমের সাথে আপনার প্রথম টেস্ট ল্যাব পরীক্ষা চালিয়েছেন!

আপনি অ্যাপ এবং টেস্টিং APK তৈরি করেছেন এবং আপনি gcloud CLI ব্যবহার করে টেস্ট ল্যাবের সাথে একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালিয়েছেন। আপনি একই পরীক্ষা স্বয়ংক্রিয় করতে একটি Jenkins প্রকল্প সেট আপ.

এখন আপনি আপনার CI/CD সিস্টেমে টেস্ট ল্যাবকে একীভূত করার মূল পদক্ষেপগুলি জানেন৷

এরপর কি?

ফায়ারবেস এমুলেটর স্যুট ব্যবহার করে কীভাবে সিআই সেট আপ করবেন তা দেখুন

আরও পড়া

রেফারেন্স ডক্স