O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Dasturiy ta’minot loyihalarini boshqarish fanidan
Amaliy topshiriq
Guruh: DIF 312-18
Bajardi: Raximjanov Davronbek
Tekshirdi: Narziyev Nosir
TOSHKENT 2021
1-topshiriq Dasturni testlash
Android ilovalari turli qurilmalarda ishlaydi. Shuningdek, Android tizimi va uning atrofidagi ochiq kodli ramkalar yuqori tezlikda rivojlanadi. Ilovangiz yaxshi ishlashini ta'minlash uchun dasturiy ta'minot testlarini yozish import qilinadi. Bu sizga Android ilovasini yaxshilash va saqlashga yordam beradi.
Android uchun birlik testini quyidagilarga ajratish mumkin:
Mahalliy birlik testlari - JVM da ishlashi mumkin bo'lgan testlar.
Asbob birligi testlari - Android tizimini talab qiladigan testlar.
Mahalliy birlik testlari Android qurilmasida testlarni o'rnatish va o'tkazish uchun zarur bo'lgan vaqtga nisbatan ancha tezroq ishlaydi. Agar sizga haqiqiy Android tizimi kerak bo'lsa, mahalliy birlik testlarini yozishni afzal ko'ring va faqat Androidda testlari o’tkaziladi.
Unit testi alohida komponentning ishlashini tekshiradi. Masalan, Android faoliyatidagi tugma boshqa faoliyatni boshlash uchun ishlatiladi, deylik. Unit testi ikkinchi faoliyat boshlanganligini emas, balki tegishli niyat chiqarilganligini aniqlaydi.
Unit test yaratish uchun birinchi navbatda android project yaratiladi. App/build.gradle faylida Junit-ga bog'liqligingiz borligiga ishonch hosil qilinadi.
app/src/test katalogingizda ConverterUtil sinfi uchun quyidagi ikkita test usuli yaratiladi.
Sinov testlarini o'tkazish orqali unit testlaringiz to'g'ri amalga oshirilganligiga ishonch hosil qilinadi. Ular muvaffaqiyatli amalga oshishi kerak.
Android test APIsi Android komponenti va ilovaning hayot aylanishiga ulanish imkonini beradi. Ushbu ilgaklar instrumentation API deb ataladi va sizning testlaringiz hayot aylanishini va foydalanuvchi o'zaro ta'sirini boshqarishga imkon beradi.
Oddiy sharoitlarda sizning ilovangiz hayot aylanish jarayonini boshqara olmaydi va foydalanuvchi dasturni boshqaradi. Masalan, agar Android sizning faoliyatingizni yaratsa, onCreate() usuli chaqiriladi.
Yoki foydalanuvchi tugmani bossa, sizga tegishli kod chaqiriladi. Asboblar orqali siz ushbu hodisalarni test kodingiz orqali boshqarishingiz mumkin. Masalan, sizning asbob-uskunalar testingiz faoliyatni boshlashi mumkin. Shundan so'ng, u tugatish() ni chaqirishi va faoliyatning namuna holati to'g'ri tiklanganligini tekshirish uchun faoliyatni qayta boshlashi mumkin.
Instrumental testlar - bu Java virtual mashinasida ishlash o'rniga Android qurilmalari va emulyatorlarida ishlaydigan birlik testlari. Ushbu testlar haqiqiy qurilmaga va uning resurslariga kirish huquqiga ega va masxara ramkalar bilan osonlikcha masxara qilib bo'lmaydigan funksionallikni sinash uchun foydalidir. Bunga misol Parcelable ilovasini tasdiqlovchi testdir.
Android ilovangiz uchun JUnit testlaridan foydalanish uchun Gradle qurilish fayliga JUnit-ga bog'liqlikni qo'shishingiz kerak. Qurilish faylida testInstrumentationRunner sifatida android.support.test.runner.AndroidJUnitRunner ni ham belgilashingiz kerak.
AndroidJUnitRunner va uning newApplication usulini bekor qilish orqali siz asbob-uskunalar testlari uchun dastur sinfini almashtirishingiz mumkin.
Testni run qilish.
Va siz ushbu test dasturini build.gradle faylida ro'yxatdan o'tkazishingiz kerak.
Ushbu mashq Android testlari uchun Mockito ramkasidan foydalanishni ko'rsatadi.
Quyidagi yordamchi dastur sinfini qo'shing.
Quyidagilarni tasdiqlovchi birlik testini yozing: * openFileOutput aynan bir marta chaqiriladi * write() usuli kamida ikki marta chaqiriladi.