1. ভূমিকা
শেষ আপডেট: ২০২২-০৪-০৭
CI/CD সিস্টেম দিয়ে মোবাইল পরীক্ষা কীভাবে চালানো যায়
মোবাইল পরীক্ষা চালানো কঠিন হতে পারে: অনেক অ্যাপ বিভিন্ন প্ল্যাটফর্ম, ডিভাইস এবং API সংস্করণে চলে। অ্যাপ ডেভেলপাররা তাদের ব্যবহারকারীদের আগে সমস্যাগুলি ধরার জন্য যতটা সম্ভব কনফিগারেশন পরীক্ষা করতে চান। কিন্তু, খরচ এবং সম্পদের সীমাবদ্ধতা পরীক্ষার ডিভাইসের সংখ্যা এবং পৃথক ডেভেলপারদের জন্য ম্যানুয়াল রক্ষণাবেক্ষণের পরিমাণ সীমিত করে। যখন উন্নয়ন প্রক্রিয়া বৃদ্ধি পায়, বিশেষ করে ক্রমাগত ইন্টিগ্রেশন/ধারাবাহিক উন্নয়ন (CI/CD) সিস্টেমের জন্য, তখন রক্ষণাবেক্ষণের খরচ এবং প্রচেষ্টা কমিয়ে পরীক্ষা প্রক্রিয়াটি স্বয়ংক্রিয় করা প্রয়োজন।
আপনার ব্যবহারকারীদের ডিভাইসে আপনার অ্যাপগুলি কীভাবে কাজ করে তা বুঝতে সাহায্য করার জন্য, Firebase Test Lab আমাদের ডেটা সেন্টারগুলিতে বিভিন্ন ধরণের মোবাইল ফিজিক্যাল এবং ভার্চুয়াল ডিভাইস হোস্ট করে। আমরা Google Cloud CLIও প্রদান করি, যা একটি প্ল্যাটফর্ম-স্বাধীন, কমান্ড-লাইন টুল যা আমাদের ডেটা সেন্টারগুলিতে ডিভাইসগুলিতে চলমান পরীক্ষাগুলি পরিচালনা করে। gcloud CLI টেস্ট ল্যাবের ক্লাউড-ভিত্তিক পরীক্ষার সমাধানকে বিদ্যমান CI/CD ওয়ার্কফ্লোতে সংহত করা সহজ করে তোলে।
ক্রস-প্ল্যাটফর্ম সাপোর্ট
টেস্ট ল্যাব অ্যান্ড্রয়েড এবং iOS অ্যাপের জন্য পরীক্ষার সমাধান এবং ইউনিটির মতো মোবাইল গেমের জন্য বিশেষ সহায়তা প্রদান করে। পরীক্ষার বিকল্পগুলি অ্যান্ড্রয়েড এসপ্রেসো, ইউআই অটোমেটর এবং আইওএস এক্সসিটেস্টের মতো জনপ্রিয় পরীক্ষার কাঠামোগুলিকে অন্তর্ভুক্ত করে। আমাদের স্বয়ংক্রিয় ক্রলার, রোবো ব্যবহার করে, টেস্ট ল্যাব কোনও পরীক্ষার কোড ছাড়াই পরীক্ষা চালাতে পারে।
কোনও হার্ডওয়্যারের প্রয়োজনীয়তা নেই
টেস্ট ল্যাব গুগল ডেটা সেন্টারে ফিজিক্যাল ডিভাইস হোস্ট করে এবং এটি গুগল ক্লাউডে ভার্চুয়াল ডিভাইস হোস্ট করে। আপনাকে যা করতে হবে তা হল আপনার পরীক্ষাগুলি টেস্ট ল্যাবে পাঠাতে হবে এবং ফলাফলের জন্য অপেক্ষা করতে হবে।
দ্রুত এবং নির্ভরযোগ্য
একসাথে অনেকগুলি টেস্ট কেস চালাতে অনেক সময় লাগতে পারে, যা CI/CD প্রক্রিয়াগুলিকে ব্লক করে। টেস্ট ল্যাবের সাহায্যে, আপনি সহজেই পরীক্ষাগুলিকে জটিল করে তুলতে পারেন এবং সমান্তরালভাবে একাধিক ডিভাইসে চালাতে পারেন। আপনি ফ্ল্যাকিনেসও সনাক্ত করতে পারেন, যা একটি সাধারণ মোবাইল টেস্টিং ব্যথার বিন্দু।
তুমি কি শিখবে
- কীভাবে পরীক্ষামূলক শিল্পকর্ম তৈরি করবেন
- gcloud CLI ব্যবহার করে কীভাবে মোবাইল পরীক্ষা চালানো যায়
- জেনকিন্স সিআই কীভাবে সেট আপ করবেন
- জেনকিন্স সিআই ব্যবহার করে মোবাইল পরীক্ষা কীভাবে চালানো যায়
- CI সিস্টেমের সাহায্যে পরীক্ষাগুলিকে স্কেল আপ করার জন্য কীভাবে কনফিগার করবেন
এই কোডল্যাবটি পরীক্ষা চালানোর উপর জোর দেয়। অপ্রাসঙ্গিক ধারণা এবং কোড ব্লকগুলিকে গ্লস করা হয়েছে এবং আপনাকে কেবল কপি এবং পেস্ট করার জন্য সরবরাহ করা হয়েছে।
তোমার যা লাগবে
যদি আপনি শুরু থেকে জিনিস তৈরি করতে চান, তাহলে আপনার অ্যান্ড্রয়েড পরীক্ষা চালানোর জন্য অ্যান্ড্রয়েড স্টুডিও বা iOS পরীক্ষা চালানোর জন্য এক্সকোড প্রয়োজন। অথবা কেবল নিজেকে নিয়ে আসুন এবং আমরা শিল্পকর্মগুলি সরবরাহ করব।
২. gcloud CLI দিয়ে একটি পরীক্ষা চালান
একটি অ্যান্ড্রয়েড অ্যাপ APK তৈরি করুন এবং APK পরীক্ষা করুন
টেস্ট ল্যাব দিয়ে পরীক্ষা চালানোর জন্য, একটি অ্যান্ড্রয়েড অ্যাপ APK এবং একটি টেস্টিং APK তৈরি করে শুরু করুন, যাতে হার্ডওয়্যার ডিভাইস বা এমুলেটরগুলিতে চালানোর জন্য ইন্সট্রুমেন্টেড পরীক্ষা থাকে। যদি আপনার ইতিমধ্যেই একটি কার্যকরী কোডবেস থাকে, তাহলে আপনি নিজের APK তৈরি করতে পারেন অথবা আপনি Espresso এর জন্য BasicSample ব্যবহার করতে পারেন।
Gradle কমান্ড ব্যবহার করে APK তৈরি করতে, আপনাকে Android SDK ইনস্টল করতে হবে। যদি আপনার মেশিনে Android Studio ইনস্টল না থাকে, তাহলে Android Studio এবং Android 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 পেতে নিম্নলিখিত বিকল্পগুলি ব্যবহার করতে পারেন:
- অ্যান্ড্রয়েড স্টুডিওতে APK তৈরি করতে, টেস্ট ইন অ্যান্ড্রয়েড স্টুডিওতে দেওয়া নির্দেশাবলী অনুসরণ করুন।
- নমুনা নোটপ্যাড অ্যাপটি ডাউনলোড করুন।
NotePad/app/build/outputs/apk/এ অবস্থিত বাইনারি ফাইলapp-debug-unaligned.apkএবং ইন্সট্রুমেন্টেশন টেস্ট ফাইলapp-debug-test-unaligned.apkব্যবহার করুন।
যদি আপনার কাছে iOS অ্যাপের জন্য কার্যকরী সোর্স কোড থাকে, তাহলে আপনি একটি XCTest লিখতে পারেন এবং অ্যাপ এবং পরীক্ষাগুলি থেকে একটি জিপ ফাইল তৈরি করতে পারেন ।
টেস্ট ল্যাবের সাথে পরীক্ষা চালানোর জন্য gcloud CLI ব্যবহার করুন
এই বিভাগে, আপনি একটি Firebase প্রকল্প তৈরি করেন এবং আপনার স্থানীয় Google Cloud SDK পরিবেশ কনফিগার করেন। আরও জানতে, gcloud CLI দিয়ে পরীক্ষা শুরু করুন দেখুন।
gcloud CLI সেট আপ করুন
- গুগল ক্লাউড এসডিকে ডাউনলোড করুন, যার মধ্যে জিক্লাউড সিএলআই টুল রয়েছে।
- আপনার ইনস্টলেশনটি আপ টু ডেট আছে কিনা তা যাচাই করুন:
gcloud components update
- আপনার গুগল অ্যাকাউন্ট ব্যবহার করে gcloud CLI তে সাইন ইন করুন:
gcloud auth login
- আপনার Firebase প্রজেক্টটি gcloud CLI তে সেট করুন, যেখানে
PROJECT_IDহল আপনার Firebase প্রজেক্ট আইডি। আপনি Firebase কনসোল URL তে প্রজেক্ট আইডিটি খুঁজে পেতে পারেন, যা এই নামকরণের নিয়ম অনুসরণ করে:https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID
যদি আপনার কোন Firebase প্রকল্প না থাকে, তাহলে Firebase Console এ একটি তৈরি করুন।
তৈরি APK ব্যবহার করে একটি পরীক্ষা চালান
এই বিভাগে, আপনি টেস্ট ল্যাবের ডিফল্ট ডিভাইসে একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালান, যা API লেভেল 28 সহ একটি Pixel 3। আপনি যদি অন্য কোনও ডিভাইস ব্যবহার করতে চান, তাহলে উপলব্ধ ডিভাইসগুলি পরীক্ষা করুন ।
Build an Android app APK-তে তৈরি করা অ্যাপ এবং APK পরীক্ষা করার জন্য, নিম্নলিখিত কমান্ড ব্যবহার করে একটি Android Instrumentation test চালান:
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 দিয়ে প্রস্থান করে। যদি পরীক্ষাটি ব্যর্থ হয়, তাহলে কমান্ডটি একটি অ-শূন্য এক্সিট কোড দিয়ে প্রস্থান করে। - Firebase Console - gcloud CLI Firebase Console-এর একটি লিঙ্ক প্রিন্ট করে। লিঙ্কটি নামকরণের নিয়ম অনুসরণ করে
https://console.firebase.google.com/project/PROJECT_ID/testlab/...আরও জানতে, একটি একক পরীক্ষা সম্পাদন থেকে Interpret ফলাফল দেখুন। - 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 এ নেভিগেট করুন।
৩. জেনকিন্স সিআই-এর সাথে সেট আপ করুন
এই বিভাগে আপনি টেস্ট ল্যাবের মাধ্যমে পরীক্ষা চালানোর জন্য জেনকিন্স সিআই, একটি জনপ্রিয় সিআই সিস্টেম ব্যবহার করবেন। যদি আপনি একটি ভিন্ন সিআই সিস্টেম ব্যবহার করতে চান, তাহলে বৃহৎ টেস্ট স্যুট চালানোর জন্য উন্নত সেরা অনুশীলন এবং বিট্রিজ এবং সার্কেল সিআই এর মতো অন্যান্য সিআই সিস্টেমের জন্য ডকুমেন্টেশন দেখুন। আপনি gcloud CLI এর বিকল্প হিসেবে ফ্ল্যাঙ্ক ব্যবহার করতে পারেন।
জেনকিন্সের জন্য gcloud CLI সক্রিয় করুন
জেনকিন্সের সাথে টেস্ট ল্যাব ব্যবহার করার আগে, আপনাকে প্রয়োজনীয় API গুলি সক্ষম করতে হবে এবং একটি পরিষেবা অ্যাকাউন্ট সেট আপ করতে হবে যা জেনকিন্স gcloud CLI এর সাথে প্রমাণীকরণের জন্য ব্যবহার করতে পারে।
জেনকিন্সের জন্য একটি গুগল ক্লাউড পরিষেবা অ্যাকাউন্ট যোগ করুন
পরিষেবা অ্যাকাউন্টগুলি হল সীমিত অ্যাকাউন্ট যা পরিষেবা ইন্টিগ্রেশনের জন্য তৈরি। এই অ্যাকাউন্টগুলি নির্দিষ্ট পরিষেবাগুলির জন্য সূক্ষ্ম নিয়ন্ত্রণ প্রদান করে এবং স্প্যাম চেক বা ক্যাপচা প্রম্পটের অধীন নয়, যা অন্যথায় আপনার CI বিল্ডগুলিকে ব্লক করতে পারে।
একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- গুগল ক্লাউড কনসোলে সার্ভিস অ্যাকাউন্টস পৃষ্ঠাটি খুলুন।
- পরিষেবা অ্যাকাউন্ট তৈরি করুন ক্লিক করুন, একটি নাম এবং বিবরণ যোগ করুন, এবং তারপর তৈরি করুন এবং চালিয়ে যান ক্লিক করুন।
- Select a role ড্রপডাউন থেকে, Basic নির্বাচন করুন, এবং তারপর Editor নির্বাচন করুন।
- চালিয়ে যান ক্লিক করুন, তারপর সম্পন্ন ক্লিক করুন।
এরপর, আপনি একটি প্রমাণীকরণ কী তৈরি এবং ডাউনলোড করবেন যা জেনকিন্স আপনার তৈরি করা পরিষেবা অ্যাকাউন্ট হিসাবে প্রমাণীকরণ করতে ব্যবহার করতে পারে।
পরিষেবা অ্যাকাউন্ট কী তৈরি এবং ডাউনলোড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- গুগল ক্লাউড কনসোলের সার্ভিস অ্যাকাউন্টস পৃষ্ঠা থেকে, আপনার তৈরি করা অ্যাকাউন্টের সাথে সম্পর্কিত ইমেলটিতে ক্লিক করুন।
- Keys নির্বাচন করুন, তারপর Add key এবং Create new key এ ক্লিক করুন।
- JSON নির্বাচন করুন, তারপর Create এ ক্লিক করুন।
- যখন আপনাকে ফাইলটি ডাউনলোড করার অনুরোধ জানানো হবে, তখন ঠিক আছে ক্লিক করুন। আপনার কম্পিউটারের একটি নিরাপদ স্থানে ফাইলটি ডাউনলোড করুন। জেনকিন্স কনফিগার করার সময় আপনার এই ফাইলটি পরে প্রয়োজন হবে।
পরিষেবা অ্যাকাউন্ট তৈরি সম্পর্কে আরও জানতে, একটি পরিষেবা অ্যাকাউন্ট তৈরি করা দেখুন।
প্রয়োজনীয় Google ক্লাউড API সক্ষম করুন
ক্লাউড টেস্টিং এপিআই আপনাকে গুগল ইনফ্রাস্ট্রাকচারে পরীক্ষা চালাতে দেয়। আপনি যখন gcloud CLI দিয়ে একটি পরীক্ষা চালানো সম্পন্ন করেছেন তখন আপনি এই এপিআইটি সক্ষম করেছেন। ক্লাউড টুল ফলাফল এপিআই আপনাকে প্রোগ্রাম্যাটিকভাবে আপনার পরীক্ষার ফলাফল অ্যাক্সেস করতে দেয়।
- গুগল ডেভেলপারস কনসোল API লাইব্রেরি খুলুন।
- Firebase কনসোলের উপরের সার্চ বারে, প্রতিটি প্রয়োজনীয় API ( Cloud Testing API এবং Cloud Tool Results API ) এর নাম লিখুন। অনুরোধকৃত API এর জন্য একটি ওভারভিউ পৃষ্ঠা প্রদর্শিত হবে।
- প্রতিটি API-এর ওভারভিউ পৃষ্ঠায় Enable API-এ ক্লিক করুন।
জেনকিন্স ইনস্টল এবং সেট আপ করুন
আপনি Linux, macOS, Windows এবং অন্যান্য অনেক পরিবেশে Jenkins CI ইনস্টল এবং সেট আপ করতে পারেন। এই কোডল্যাবের কিছু বিবরণ Linux-এ Jenkins CI ইনস্টল এবং চালানোর জন্য নির্দিষ্ট, যার মধ্যে ফাইল পাথে স্ল্যাশ (/) ব্যবহার অন্তর্ভুক্ত।
লিনাক্স বা উইন্ডোজ চালিত কম্পিউটারে জেনকিন্স ডাউনলোড এবং ইনস্টল করতে, জেনকিন্স ইনস্টল করার নির্দেশাবলী অনুসরণ করুন। জেনকিন্স ইনস্টল করার পরে, সেটআপ সম্পূর্ণ করতে এবং http://localhost:8080 ব্যবহার করে জেনকিন্স ড্যাশবোর্ড অ্যাক্সেস করতে জেনকিন্স ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন।
ইনস্টল করা প্লাগইনগুলি যাচাই করুন
জেনকিন্স বিভিন্ন ভার্সন কন্ট্রোল সিস্টেম সাপোর্ট করে। এই কোডল্যাবে, আপনি আগের পরীক্ষাটি চালানোর জন্য Git ব্যবহার করেন। এবং gcloud CLI চালানোর ক্ষেত্রে আরও ভালো অভিজ্ঞতা পেতে, আপনাকে GCloud SDK প্লাগইন ইনস্টল করতে হবে।
- জেনকিন্স ড্যাশবোর্ডে, জেনকিন্স পরিচালনা করুন এ ক্লিক করুন এবং তারপরে প্লাগইন পরিচালনা করুন এ ক্লিক করুন।
- Git এবং GCloud SDK প্লাগইনগুলি অনুসন্ধান করুন এবং সেগুলি ইনস্টল করুন (যদি সেগুলি এখনও ইনস্টল না করা থাকে)।
আপনার Android এবং Google Cloud SDK-এর অবস্থান কনফিগার করুন
এখন তুমি জেনকিন্সকে নির্দেশ দাও যে গুগল ক্লাউড এসডিকে এবং অ্যান্ড্রয়েড এসডিকে কোথায় খুঁজে পাবে।
জেনকিন্সের জন্য গুগল ক্লাউড এবং অ্যান্ড্রয়েড এসডিকে কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- জেনকিন্স ড্যাশবোর্ডে, Manage Jenkins এ ক্লিক করুন, এবং তারপর Global Tool Configuration এ ক্লিক করুন।
- Google Cloud SDK বিভাগে, Google Cloud SDK যোগ করুন এ ক্লিক করুন।
- নাম ক্ষেত্রে, Google Cloud SDK ইনস্ট্যান্সের জন্য এমন একটি নাম লিখুন যা মনে রাখা সহজ, উদাহরণস্বরূপ, GCloud-SDK।
- আপনার Google Cloud SDK হোম ডিরেক্টরি লিখুন, উদাহরণস্বরূপ,
/opt/google-cloud-sdk। - সংরক্ষণ করুন ক্লিক করুন।
- ড্যাশবোর্ড > ম্যানেজ জেনকিন্স > কনফিগার সিস্টেম খুলে অ্যান্ড্রয়েড এবং গুগল ক্লাউড SDK-এর জন্য আপনার সিস্টেম-ওয়াইড বৈশিষ্ট্যগুলি কনফিগার করুন।
- পরিবেশ ভেরিয়েবল চেকবক্সটি নির্বাচন করুন এবং যোগ করুন ক্লিক করুন।
- "নাম" ক্ষেত্রে, "ANDROID_HOME " লিখুন। "মান" ক্ষেত্রে, আপনার Android SDK এর অবস্থান লিখুন, উদাহরণস্বরূপ,
/opt/Android/Sdk। - Tool Locations চেকবক্সে ক্লিক করুন এবং Add এ ক্লিক করুন। Name ড্রপডাউন থেকে, Global Tool Configuration-এ আপনার যোগ করা Google Cloud SDK ইনস্ট্যান্সের নাম নির্বাচন করুন।
- হোম ফিল্ডে, আপনার Google Cloud SDK এর অবস্থান লিখুন, উদাহরণস্বরূপ,
/opt/google-cloud-sdk। - সংরক্ষণ করুন ক্লিক করুন।
জেনকিন্সে আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্র যোগ করুন
এখন আপনি আপনার gcloud CLI পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি Jenkins-এ যোগ করুন যাতে Jenkins gcloud CLI কমান্ডগুলিকে প্রমাণীকরণ করতে এবং সফলভাবে চালাতে পারে।
- জেনকিন্স ড্যাশবোর্ডে, জেনকিন্স পরিচালনা করুন এ ক্লিক করুন এবং তারপরে শংসাপত্র পরিচালনা করুন এ ক্লিক করুন।
- "Stores scoped to Jenkins" বিভাগে, (global) ডোমেইন লিঙ্কে ক্লিক করুন, তারপর Add Credentials এ ক্লিক করুন।
- Kind ড্রপডাউন থেকে, private key থেকে Google Service Account নির্বাচন করুন।
- প্রকল্পের নাম ক্ষেত্রে, আপনার ফায়ারবেস প্রকল্পের নাম লিখুন।
- JSON key নির্বাচন করুন, তারপর Browse এ ক্লিক করুন এবং আপনার পরিষেবা অ্যাকাউন্ট কী যেখানে সংরক্ষণ করেছেন সেখানে ব্রাউজ করুন।
- তৈরি করুন ক্লিক করুন।
আপনি এখন টেস্ট ল্যাবের জন্য আপনার জেনকিন্স স্বয়ংক্রিয় বিল্ড কনফিগার করার জন্য প্রস্তুত।
৪. জেনকিন্স সিআই-এর সাথে টেস্ট ল্যাব পরীক্ষা চালান
এখন যেহেতু আপনি জেনকিন্স সেট আপ করেছেন, আসুন সবকিছু একসাথে করি এবং জেনকিন্স ব্যবহার করে একই পরীক্ষা চালাই।
আপনি জেনকিন্সকে স্বয়ংক্রিয় বিল্ড চালানোর জন্য এবং আপনার অ্যাপের আপডেট চেক ইন করার সময় প্রতিবার পরীক্ষা চালানোর জন্য কনফিগার করতে পারেন। আপনি জেনকিন্সকে পর্যায়ক্রমে বিল্ড চালানোর জন্যও কনফিগার করতে পারেন। জেনকিন্সে বিল্ড কনফিগার করার বিষয়ে আরও জানতে, স্বয়ংক্রিয় বিল্ড কনফিগার করা দেখুন।
আপনার জেনকিন্স প্রকল্প তৈরি এবং কনফিগার করুন
টেস্ট ল্যাবের মাধ্যমে আপনার অ্যাপের ক্রমাগত ইন্টিগ্রেশন টেস্টিং চালানোর জন্য একটি প্রকল্প তৈরি করুন।
একটি জেনকিন্স প্রকল্প তৈরি করুন
- http://localhost:8080 ব্রাউজ করে জেনকিন্স ড্যাশবোর্ড খুলুন।
- জেনকিন্স ড্যাশবোর্ডে, নতুন আইটেম ক্লিক করুন।
- আইটেমের নাম ক্ষেত্রে আপনার প্রকল্পের জন্য একটি নাম লিখুন এবং একটি একক বিল্ড কনফিগারেশন ব্যবহার করে এমন একটি প্রকল্প তৈরি করতে ফ্রিস্টাইল প্রকল্পে ক্লিক করুন।
- ঠিক আছে ক্লিক করুন। প্রকল্পের কনফিগারেশন সম্পূর্ণ করতে, বাকি বিভাগগুলি ক্রমানুসারে সম্পূর্ণ করুন..
সোর্স কোড ব্যবস্থাপনা কনফিগার করুন
- সোর্স কোড ম্যানেজমেন্ট ট্যাব থেকে, Git নির্বাচন করুন।
- রিপোজিটরি URL ক্ষেত্রে https://github.com/android/testing-samples.git লিখুন।
বিল্ড পরিবেশ কনফিগার করুন
বিল্ড এনভায়রনমেন্ট বিভাগটি আপনাকে বিল্ড বৈশিষ্ট্যগুলি কনফিগার করতে দেয়। এই পদক্ষেপগুলি অনুসরণ করে গুগল ক্লাউড প্রমাণীকরণ সক্ষম করুন:
- বিল্ড এনভায়রনমেন্ট ট্যাবে, GCloud SDK প্রমাণীকরণ চেকবক্সটি নির্বাচন করুন এবং আপনার Google Cloud ইনস্টলেশন তথ্য যোগ করার সময় আপনি যে ইনস্টলেশন নামটি বেছে নিয়েছিলেন তা নির্বাচন করুন।
- গুগল ক্রেডেনশিয়ালস ড্রপডাউন থেকে, আপনার কনফিগার করা পরিষেবা অ্যাকাউন্ট ক্রেডেনশিয়ালগুলি নির্বাচন করুন।
APK প্যাকেজ পুনর্নির্মাণের জন্য Gradle বিল্ড ধাপ যোগ করুন
- বিল্ড বিভাগে স্ক্রোল করুন, বিল্ড ধাপ যোগ করুন এ ক্লিক করুন, এবং তারপর এক্সিকিউট শেল নির্বাচন করুন।
- আপনার অ্যাপ্লিকেশনের জন্য প্রধান ডিরেক্টরিতে নিম্নলিখিত কমান্ডগুলি চালানোর জন্য একটি বিল্ড ধাপ যোগ করুন:
cd ui/espresso/BasicSample/ ./gradlew assembleDebug # for generating app apk ./gradlew assembleDebugAndroidTest # for generating testing apk
জেনকিন্সে একটি gcloud CLI বিল্ড ধাপ যোগ করুন
এখন আপনি gcloud CLI কমান্ড লাইন ব্যবহার করে টেস্ট ল্যাব চালানোর জন্য জেনকিন্সে একটি বিল্ড স্টেপ যোগ করতে প্রস্তুত।
gcloud CLI বিল্ড ধাপ যোগ করতে, একটি নতুন এক্সিকিউট শেল বিল্ড ধাপ যোগ করুন এবং নিম্নলিখিত কমান্ডটি প্রবেশ করান:
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
প্রকল্প সেটআপ শেষ করার পর, পৃষ্ঠার নীচে স্ক্রোল করুন এবং কনফিগারেশনটি সংরক্ষণ করুন। আপনাকে নতুন প্রকল্পের হোম পেজে পুনঃনির্দেশিত করা হবে।
জেনকিন্সের সাথে পরীক্ষা চালান
এখন আপনি জেনকিন্স প্রকল্প তৈরি করতে এবং gcloud CLI দিয়ে যে ম্যানুয়াল পরীক্ষাটি করেছিলেন তার মতো একটি পরীক্ষা চালানোর জন্য প্রস্তুত।
জেনকিন্সের সাথে পরীক্ষা চালানোর জন্য, এই পদক্ষেপগুলি অনুসরণ করুন:
- বিল্ডটি ম্যানুয়ালি ট্রিগার করতে, বিল্ড নাউ এ ক্লিক করুন।
- new build > Console Output এ ক্লিক করে অগ্রগতি এবং ফলাফল পরীক্ষা করুন।
যদি আপনি ত্রুটি দেখতে না পান, অভিনন্দন! আপনি কেবল একটি প্রকল্প সেট আপ করেছেন এবং একটি ক্লিকের মাধ্যমে একটি Pixel 2 ডিভাইসে একটি পরীক্ষা চালিয়েছেন। যদি আপনি ত্রুটির সম্মুখীন হন, তাহলে সমস্যা সমাধান দেখুন।
৫. বৃহৎ টেস্ট স্যুট চালানোর জন্য উন্নত সর্বোত্তম অনুশীলন
যখন আপনি একসাথে অনেক পরীক্ষা চালাতে চান, তখন আপনার পরীক্ষাগুলি দ্রুত এবং নির্ভরযোগ্যভাবে চালানোর জন্য এই সেরা অনুশীলনগুলি অনুসরণ করুন।
একাধিক ডিভাইস কনফিগারেশনে কভারেজ বাড়ান
আপনি সহজেই gcloud CLI বিল্ড ধাপে একাধিক ডিভাইস যোগ করতে পারেন। এবং আপনি উপলব্ধ ডিভাইস, সংস্করণ, লোকেল এবং ওরিয়েন্টেশন পরীক্ষা করে বেছে নিতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ড দুটি ডিভাইসে পরীক্ষা চালায়:
- একটি ভার্চুয়াল গুগল পিক্সেল ২ যার পোর্ট্রেট ওরিয়েন্টেশনে API লেভেল 30 এবং ইংরেজি লোকেল রয়েছে।
- ল্যান্ডস্কেপ ওরিয়েন্টেশনে 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 চালান।
সমান্তরালভাবে চালানোর জন্য শার্ড পরীক্ষা
টেস্ট শারডিং পরীক্ষার একটি সেটকে সাবগ্রুপে (শার্ড) ভাগ করে যা আলাদাভাবে বিচ্ছিন্নভাবে চলে। টেস্ট ল্যাব স্বয়ংক্রিয়ভাবে একাধিক ডিভাইস ব্যবহার করে প্রতিটি শার্ডকে সমান্তরালভাবে চালায়, যা টেস্ট ল্যাবকে সম্পূর্ণ পরীক্ষার সেটটি আরও দ্রুত সম্পন্ন করতে দেয়। আরও তথ্যের জন্য, "শার্ডিং সক্ষম করুন" দেখুন।
Sharding সক্ষম করতে, 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
অস্থিরতা সনাক্তকরণ সক্ষম করুন
মোবাইল পরীক্ষাগুলি প্রায়শই ফ্ল্যাকি হতে পারে। কখনও কখনও পরীক্ষাগুলি পাস হয়, এবং কখনও কখনও ব্যর্থ হতে পারে, এমনকি একই সেটআপের পরেও। –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
৬. অভিনন্দন
অভিনন্দন, আপনি CI সিস্টেমের মাধ্যমে আপনার প্রথম টেস্ট ল্যাব পরীক্ষা সফলভাবে সম্পন্ন করেছেন!
তুমি অ্যাপ তৈরি করে APK পরীক্ষা করেছো, আর gcloud CLI ব্যবহার করে Test Lab-এর সাথে একটা ইন্সট্রুমেন্টেশন টেস্ট করেছো। একই টেস্ট অটোমেটিক করার জন্য তুমি একটা জেনকিন্স প্রজেক্টও সেটআপ করেছো।
এখন আপনি আপনার CI/CD সিস্টেমে টেস্ট ল্যাবকে একীভূত করার মূল পদক্ষেপগুলি জানেন।
এরপর কী?
ফায়ারবেস এমুলেটর স্যুট ব্যবহার করে কীভাবে CI সেট আপ করবেন তা দেখুন।
আরও পড়া
- CI সিস্টেম দিয়ে পরীক্ষা শুরু করুন | Firebase ডকুমেন্টেশন
- gcloud CLI দিয়ে পরীক্ষা শুরু করুন | Firebase ডকুমেন্টেশন