ব্যাক-আপ পরীক্ষা করুন

  
ব্যবহারকারীর ডেটা এবং অ্যাকাউন্ট ক্রেডেনশিয়াল ডিভাইস আপগ্রেড এবং ক্লাউড রিস্টোর করার পরেও নিরাপদে আছে কিনা তা যাচাই করার জন্য অটোমেটেড টেস্টিং ফ্রেমওয়ার্ক।
লেটেস্ট আপডেট স্টেবল রিলিজ রিলিজ ক্যান্ডিডেট বিটা রিলিজ আলফা রিলিজ
২১ অক্টোবর, ২০২৬ - - - 1.0.0-alpha03

ডিপেন্ডেন্সি ঘোষণা করা

টেস্ট ব্যাক-আপে ডিপেন্ডেন্সি যোগ করতে, আপনার প্রোজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টের জন্য ডিপেন্ডেন্সি যোগ করুন:

গ্ৰুভি

dependencies {
    implementation "androidx.test.backup:backup:1.0.0-alpha03"
    implementation "androidx.test.backup:backup-host:1.0.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.test.backup:backup:1.0.0-alpha03")
    implementation("androidx.test.backup:backup-host:1.0.0-alpha03")
}

ডিপেন্ডেন্সি সম্পর্কে আরও জানতে, বিল্ড ডিপেন্ডেন্সি যোগ করুন দেখুন।

মতামত

আপনার মতামত Jetpack-কে আরও ভাল করে তুলতে সাহায্য করে। আপনি নতুন কোনও সমস্যা খুঁজে পেলে বা এই লাইব্রেরি উন্নত করার জন্য কোনও আইডিয়া থাকলে, আমাদের জানান। নতুন সমস্যা তৈরি করার আগে এই লাইব্রেরিতে আগে থেকে থাকা সমস্যা একবার দেখে নিন। আপনি স্টার বোতামে ক্লিক করে আগে থেকে থাকা কোনও সমস্যার জন্য ভোট দিতে পারেন।

নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য Issue Tracker ডকুমেন্টেশন দেখুন।

অটোমেটেড ব্যাক-আপ রিস্টোর টেস্ট ভার্সন ১.০

Version 1.0.0-alpha03

২১ অক্টোবর, ২০২৬

androidx.test.backup:backup:1.0.0-alpha03 ও androidx.test.backup:backup-host:1.0.0-alpha03 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha03-এ এইসব কমিট রয়েছে।

নতুন ফিচার

  • @BackupRestoreConfig বাদ দেওয়া হলে, Android Gradle প্লাগ-ইন ব্যাক-আপ টেস্ট স্যুটে টেস্ট সেট-আপ সহজ করা হয়েছে। এটি করা হয়েছে টেস্ট করা অ্যাপকে অটোমেটিক টার্গেট করার মাধ্যমে। (I1452b)
  • @Nested টেস্ট ক্লাসে বাইরের টেস্ট ক্লাস থেকে @BackupRestoreConfig এবং @Isolation সেটিংস ইনহেরিট করার জন্য সহায়তা যোগ করা হয়েছে। (Ia45a8)
  • টেস্ট ক্লাস কনস্ট্রাক্টর এবং @BeforeAll সেট-আপ পদ্ধতিতে সরাসরি BackupRestoreController ইনজেক্ট করার জন্য সহায়তা যোগ করা হয়েছে। (I6e822, Ia2ebd)
  • androidx.test.backup.device.serial.{role} প্রপার্টি ব্যবহার করে মাল্টি-ডিভাইস টেস্টে @Device রোলে নির্দিষ্ট ডিভাইস পিন করার জন্য সহায়তা যোগ করা হয়েছে। (I484be)

ত্রুটি সমাধান

  • performBackup এবং performRestore ঠিক করা হয়েছে যাতে ব্যাক-আপ এড়িয়ে যাওয়া বা খালি থাকলে, ব্যাক-আপ পরিষেবাতে সমস্যা হলে অথবা স্থানীয় ব্যাক-আপ আর্কাইভ অন্য কোনও অ্যাপ বা ডিভাইসের হলে, টেস্ট চুপচাপ পাস করার পরিবর্তে সাথে সাথে ব্যর্থ হয়। (I7673d, I478ad, I0b989, I9a0ea, I79567)
  • ব্যাক-আপ, রিস্টোর, ডিভাইস অ্যাকশন ও ক্লিন-আপ ধাপ জুড়ে টাইম-আউট এনফোর্স করার মাধ্যমে, রেসপন্স না করা ডিভাইসে অনির্দিষ্টকালের জন্য হ্যাং হয়ে যাওয়া টেস্টের সমস্যার সমাধান করা হয়েছে। (I10661, I9cdee, If5f92)
  • টেস্ট রান শেষ হওয়ার পরে তৈরি হওয়া ব্যাকআপ ফাইল মুছে ফেলার performBackup সংক্রান্ত সমস্যার সমাধান করা হয়েছে, তাই টেস্ট শেষ হওয়ার পরে ব্যাকআপ আর্কাইভ এখন ডিস্কে রাখা হয়। (I8c13f)
  • null ভ্যালু সঠিকভাবে স্টোর ও চেক করতে, টেস্ট ডেটা সিডিং করার সময় আগে থেকে থাকা সারি ওভাররাইট করতে, ভুল টেবিল কনফিগারেশন আগে থেকে ধরতে এবং প্রত্যাশিত ডেটাবেস ফাইল না থাকলে ব্যর্থ হতে, ফিক্সড ডেটাবেস টেস্ট হেল্পার (StorageDomain.Database) ব্যবহার করা হয়। (Ib4৭৬৭, Iddf৮৭, I১৯c৪৩, Ie৮d৭৮, I৮bc১৮)
  • ডেটার ধরন সঠিকভাবে সংরক্ষণ করতে এবং null বা সরানো পছন্দগুলি চেক করার জন্য SharedPreferences টেস্ট হেল্পার ঠিক করা হয়েছে। (I8456d9, I1d0fc2)
  • ক্র্যাশ না করে বড় টেস্ট পেলোড ম্যানেজ করতে, waitForDebugger চালু থাকলে ডিবাগারের জন্য পজ করতে, কাস্টম টেস্ট APK প্যাকেজের নামে টেস্ট রানার খুঁজতে এবং ইন্টার্নাল রানার ফ্ল্যাগ যাতে ডিভাইস অ্যাকশনে লিক না হয় তার জন্য ব্লক করতে runOnDevice ঠিক করা হয়েছে। (Ic73bd, Iede17, I1d172, I84c15)
  • টেস্ট রান জুড়ে একটি ADB কানেকশন শেয়ার করে, ডিভাইস প্রতি একবার APK ইনস্টল করে এবং APK ইনস্টল বা লঞ্চ করতে না পারলে স্পষ্টভাবে ব্যর্থতা দেখানোর মাধ্যমে টেস্টের স্থায়িত্ব ও স্পিড উন্নত করা হয়েছে। (I62717, Iabf75, I14e6f, I4c3da5, I54077, Iee84e)
  • fetchDeviceLogs-এর খালি লগ ফাইল লেখার সমস্যা সমাধান করা হয়েছে এবং বাতিল করা টেস্ট রান থেকে ভুল ব্যর্থতার রিপোর্ট তৈরি করা বন্ধ করা হয়েছে। (I736c4, I7b199, Ia847e)
  • backup-host ডিপেন্ডেন্সি ক্লিন-আপ করা হয়েছে যাতে adblib সরাসরি কলারদের জন্য উপলভ্য হয় এবং ইন্টার্নাল লগিং বা টেস্ট লাইব্রেরি আপনার প্রোজেক্টের ক্লাসপাথের সাথে আর ক্ল্যাশ না করে। (I6e822, Iba9a4, Ib4ec9)

ভার্সন 1.0.0-alpha02

৭ অক্টোবর, ২০২৬

androidx.test.backup:backup:1.0.0-alpha02 ও androidx.test.backup:backup-host:1.0.0-alpha02 রিলিজ করা হয়েছে। 1.0.0-alpha02 ভার্সনে এইসব কমিট রয়েছে।

API-তে পরিবর্তন

  • পেলোড কী এখন BackupActionInputKeys, BackupActionOutputKeys এবং BackupActionValues হিসেবে ডকুমেন্ট করা হয়েছে, যা BackupDeviceAction-এ কনস্ট্যান্টকে পরিবর্তন করে। isSuccess এবং errorMessage অ্যাক্সেসরের সাথে BackupDeviceActionResult.success() এবং failure() ফ্যাক্টরি যোগ করা হয়েছে। (Ibd493)

ত্রুটি সমাধান

  • pm clear সফলতার রিপোর্ট না করলে, BackupRestoreController.clearAppData এখন নীরবে চালিয়ে যাওয়ার পরিবর্তে IOException থ্রো করে। (I61556)
  • ডিভাইস এক্সিকিউশনের জন্য BackupRestoreController-এ পাস করা শেল আর্গুমেন্ট এখন সঠিকভাবে এড়ানো হয়েছে যাতে কমান্ড ইনজেকশন প্রতিরোধ করা যায় এবং স্পেস সহ ফাইল পাথ নিরাপদে ম্যানেজ করা যায়।
  • প্রত্যাশিত ডেটা না থাকলে যাতে টেস্ট নিশ্চিতভাবে ব্যর্থ হয়, তা নিশ্চিত করতে সাইলেন্ট যাচাইকরণ পাসের বিরুদ্ধে বান্ডেল করা স্টোরেজ অ্যাকশন (PopulateStorageAction এবং AssertStorageAction) আরও কঠোর করা হয়েছে।
  • হোস্ট-সাইড টেস্ট অর্কেস্ট্রেটর এখন ডিভাইসের রিপোর্ট করা ইন-ব্যান্ড অ্যাকশন সংক্রান্ত সমস্যা উপেক্ষা করার পরিবর্তে সঠিকভাবে বিবেচনা করে।
  • ডেটাবেস 'values' ওয়্যার ফর্ম্যাট পার্সেন্ট-এনকোডিং করে ডেটাবেস রো পপুলেশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে, এর ফলে পেলোড ট্রান্সপোর্টের সময় ডেটা নষ্ট হওয়া আটকানো যায়।
  • ডিপেন্ডেন্সি আপগ্রেড করে androidx.test.backup:backup-host-এ নিরাপত্তা সংক্রান্ত দুর্বলতা সমাধান করা হয়েছে।

Version 1.0.0-alpha01

সেপ্টেম্বর 23, 2026

androidx.test.backup:backup:1.0.0-alpha01 ও androidx.test.backup:backup-host:1.0.0-alpha01 রিলিজ করা হয়েছে। ভার্সন 1.0.0-alpha01-এ এইসব কমিট আছে।

প্রাথমিক রিলিজের ফিচার

Android-এর জন্য অটোমেটিক ব্যাক-আপ ও রিস্টোর টেস্টিং ফ্রেমওয়ার্কের প্রাথমিক রিলিজ। এই লাইব্রেরি ব্যবহারকারীর ডেটা এবং অ্যাকাউন্ট ক্রেডেনশিয়াল ডিভাইস আপগ্রেড এবং ক্লাউড রিস্টোর করার পরেও নিরাপদে আছে কিনা তা পরীক্ষা করার জন্য একটি অটোমেটিক, এন্ড-টু-এন্ড পদ্ধতি প্রদান করে। ম্যানুয়াল টেস্টিংয়ের উপর নির্ভর করার পরিবর্তে, ডেভেলপাররা সম্পূর্ণ লাইফসাইকেল অটোমেট করতে পারেন: অ্যাপের স্টেট সিড করা, আপনার কনফিগার করা নিয়ম (dataExtractionRules এবং fullBackupContent) অনুযায়ী ব্যাক-আপ নেওয়া, অ্যাপ ওয়াইপ করা এবং রিস্টোর করার পরে ডেটা ইন্টিগ্রিটি যাচাই করা। ফ্রেমওয়ার্ক দুটি আর্টিফ্যাক্ট প্রদান করে: androidx.test.backup:backup-host (যা ADB-তে ব্যাক-আপ, ওয়াইপ ও রিস্টোর পাস অর্কেস্ট্রেট করার জন্য হোস্ট কম্পিউটারে রান করে) এবং androidx.test.backup:backup (যা অ্যাপ ডেটা পপুলেট ও যাচাই করার জন্য ডিভাইসে রান করে)।

  • BackupRestoreController: টেস্ট ডিভাইসের জন্য ব্যাক-আপ, ওয়াইপ, রিস্টোর ও যাচাইকরণ ওয়ার্কফ্লো নিয়ন্ত্রণ করতে ব্যবহৃত প্রাথমিক হোস্ট-সাইড ইন্টারফেস। runBackupRestoreFlow-এর মতো সুবিধাজনক পাইপলাইন এবং সূক্ষ্ম-গ্রেনড অপারেশন (performBackup, performRestore, clearAppData, fetchDeviceLogs এবং runOnDevice) প্রদান করে। Kotlin coroutines এবং Java ListenableFuture অ্যাসিঙ্ক্রোনাস এক্সিকিউশন, দুটিই সাপোর্ট করে।
  • BackupRestoreExtension: একটি JUnit 5 Jupiter এক্সটেনশন যা টেস্ট পদ্ধতিতে BackupRestoreController প্যারামিটার সমাধান করে এবং ইনজেক্ট করে। স্ট্যান্ডঅ্যালোন বা শেয়ার করা ADB সেশন ম্যানেজ করে, টেস্ট করা ও টেস্ট APK অটোমেটিক ইনস্টল করে, ক্রেডেনশিয়াল-সুরক্ষিত স্টোরেজ আনলক করতে ডিভাইসের লকস্ক্রিন ও কীগার্ড সরিয়ে দেয় এবং টেস্ট স্যান্ডবক্স আইসোলেশন এনফোর্স করে।
  • BackupRestoreTestRunner: অ্যাপ্লিকেশন স্যান্ডবক্সের মধ্যে একটি অন-ডিভাইস Instrumentation টেস্ট রানার এক্সিকিউট করা হচ্ছে। হোস্ট অর্কেস্ট্রেটর দ্বারা প্রেরিত অনুরোধ করা BackupDeviceAction বাস্তবায়নগুলি ডাইনামিকভাবে সমাধান এবং কার্যকর করে এবং বাইন্ডার ট্রানজ্যাকশন বাফার সীমা প্রতিরোধ করতে ডিস্কে বড় JSON ফলাফল পেলোডগুলি নিরাপদে রিডাইরেক্ট করে।
  • BackupDeviceAction: ডেটা সিডিং (PHASE_POPULATE) বা রিস্টোর-পরবর্তী যাচাইকরণ (PHASE_VERIFY) চলাকালীন টার্গেট অ্যাপ্লিকেশন স্যান্ডবক্সের মধ্যে সরাসরি কাস্টম ডিভাইস-সাইড অ্যাকশন কার্যকর করার চুক্তি।
  • StorageDomain: স্ট্রংলি টাইপড ডেসক্রিপ্টর (Preference, Database, TextFile এবং BinaryFile) আগে থেকে তৈরি অ্যাকশন হেল্পারের (PopulateStorageAction এবং AssertStorageAction) সাথে ব্যবহার করা হয় যাতে ক্রেডেনশিয়াল প্রোটেক্টেড (CE) এবং ডিভাইস প্রোটেক্টেড (DE) স্টোরেজ কন্টেক্সট জুড়ে SharedPreferences, SQLite ডেটাবেস এবং র ফাইল অটোমেটিক সিড ও অ্যাসার্ট করা যায়।
  • BackupTransportMode: টেস্ট পাসের সময় সিমুলেট করার জন্য প্ল্যাটফর্ম ব্যাক-আপ ট্রান্সপোর্ট টপোলজি নির্দিষ্ট করে, যার মধ্যে DEVICE_TO_DEVICE (USB বা Wi-Fi Direct-এর মাধ্যমে ফিজিক্যাল ডিভাইস মাইগ্রেশন), CLOUD_ENCRYPTED (ক্লায়েন্ট-সাইড এন্ড-টু-এন্ড এনক্রিপশন সহ ক্লাউড ব্যাক-আপ), CLOUD_UNENCRYPTED (স্ট্যান্ডার্ড ক্লাউড ব্যাক-আপ) এবং LOCAL (অফলাইন লোকাল ফাইলসিস্টেম ব্যাক-আপ) অন্তর্ভুক্ত।
  • @Device এবং @Isolation: নির্দিষ্ট সিরিয়াল, API লেভেল বা মাল্টি-ডিভাইস রোলের সাথে ম্যাচ করে এমন কানেক্ট করা ডিভাইস বেছে নেওয়ার জন্য হোস্ট অ্যানোটেশন এবং টেস্ট রান (IsolationPolicy.AUTOMATIC বনাম IsolationPolicy.MANUAL)-এর মধ্যে স্যান্ডবক্স আইসোলেশন নীতি কনফিগার করা।