Guruh: 650-20 Laboratoriya ishlari Fan nomi
Download 50.77 Kb.
|
CKt4PXLvUUgLt43pW7pm
- Bu sahifa navigatsiya:
- Tayyorlagan
O´ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI Muhammad al-Xorazmiy nomidagi Toshkent axborot texnalogiyalari universiteti Farg‘ona filiali Yo'nalish: Daturiy injinering va Raqamli texnologiya Guruh: 650-20 Laboratoriya ishlari Fan nomi: Dasturiy ta’minotni testlash Tayyorlagan: Nuriddinov A Qabul qilgan: Xolmatov A Farg‘ona 2023 System testing Tizim testlash (system testing), dasturiy tuzilma yaratish jarayonida bir bosqichni ifodalaydi. Bu bosqichda, butun tizim, uning barcha integral qismlari, modullari, va ulardagi o'zaro aloqalar birgalikda sinovdan o'tkaziladi. Ushbu sinov dasturlarning belgilangan talablarga muvofiq ishlashi va amaliyotda to'g'ri ishlashini tekshirish uchun amalga oshiriladi. Tizim testlash, modul testlash va integratsiya testlashdan keyin keladi va qabul qilish testlashi oldida keladi. Bu bosqichning asosiy xususiyatlari quyidagilardir: 1. **Maqsad:**
2. **Hudud:** - Tizim testlash, tizimning barcha qismlarini, ularning aloqalarini o'z ichiga olgan holda tekshirishni o'z ichiga oladi. 3. **Tizim Testlash Turlovlari:** - **Funksional Testlash:** Tizimning funksiyalarining talablarga muvofiq ishlashini tekshirishni o'z ichiga oladi. - **Performans Testlash:** Tizimning amaliyoti va boshqarilishi uchun o'zining samaradorligini baholashni o'z ichiga oladi. Bu tur testlar, tizimning yuklanish va ish davomiyligi, to'liq joylashtirilgan foydalanuvchi miqdori va boshqa amaliyotlarni o'z ichiga oladi. 4. **Tizim Testlash Javobgarliklari:** - Tizim testlash javobgarligi, sinov natijalarini, xato ma'lumotlarini yoki boshqa muammolarini ma'lum qilish va to'g'rilash imkoniyatlarini o'z ichiga oladi. 5. **Boshqarish va Reporting:** - Tizim testlash natijalarini dokumentlash va tarqatish, muammolar haqida xabarnomalar tuzish, dastur muhiti va xususiyatlarining barchasini tekshirib chiqishning muvofiq bo'limlarini tashkil etishga yordam beradi. Tizim testlashning bajarilishi bilan tizimni qo'llash uchun to'liq va ishonchli bo'lishini ta'minlash muhimdir. 1. **Testlar yozish:** Dastur qismi (funktsiya, klass, metod, va h.k.) uchun testlar yoziladi. Bu testlar dastur qismining kiritilgan ma'lumotlarni ishlayotgan va qaytaradigan natijalarni tekshiradi. 2. **Testni bajarish:** Yozilgan testlar avtomatik ravishda ishga tushiriladi. Testlar dastur qismi (unit) uchun kiritilgan ma'lumotlar va kutilgan natijalarni olish uchun testlar to'plamini yaratadi. 3. **Natijalar olish va tekshirish:** Testlar dastur qismi ni aniqlaydi va u bajarilgach natijalarni olish uchun testlar ishga tushadi. Natijalarni testlar qo'llab-quvvatlagan muqova yordamida tekshiradi. 4. **Xatolar aniqlanishi:** Agar testlar dastur qismida xato aniqlasa, bu xato haqida ma'lumot beriladi. Dasturchi bu xatoni tuzatish uchun yordam beradi. Unit testing ni amalga oshirishning avval, sizni qiziqtirgan qismlaringizni (unitlar) aniqlash va ularni ishlab chiqarish, keyingi bosqichlarda yordam bera olishingiz uchun kerakli bo'lishi lozim. Unit testing dasturchilar uchun dastur qismi aniqlashni osonlashtiradi va o'z vaqt va energiyangizni tejashga imkon beradi. Unit testing vositalari, masalan, xunit, JUnit, va pytest kabi, o'rganilgan kodlarni tekshirish uchun ishlatiladi. Unit testing bilan kodlaringizni sifatli va to'g'ri yaratish, xatolarni eng qisqa vaqt ichida aniqlash va tuzatish uchun qo'llanishingiz mumkin. System testlash Python tilida oddiy funksiyalarni tekshirish va ularni bir-biriga qo'shish orqali amalga oshiriladi. Quyidagi misollarni ko'rib chiqamiz: # System Function 1: Addition def add_numbers(a, b): return a + b # System Function 2: Multiply by 2 def multiply_by_two(num): return num * 2 # System Function 3: Use Both Functions def perform_operations(x, y): sum_result = add_numbers(x, y) multiplied_result = multiply_by_two(sum_result) return multiplied_result # System Testing def test_system_operations(): assert perform_operations(3, 5) == 16 # (3 + 5) * 2 = 16 assert perform_operations(0, 0) == 0 # (0 + 0) * 2 = 0 test_system_operations() ### Misol 1: Funksional Testlash Ma'lum bo'lgan ikkita sonni qo'shuvchi oddiy funksiyangiz bor va sizning tizimingizda bu qo'shish funksiyasidan foydalanadigan ko'p qo'shimcha funksiyalar mavjud. Siz umuman tizimingizning to'g'ri ishlashini tekshirishni istaysiz. ```python
# Tizim Funksiyasi 2: Ikkitaga ko'paytirish def ikkitaga_kopaytirish(son): return son * 2 # Tizim Funksiyasi 3: Har ikki funksiyadan foydalanish def operatsiyalarni_bajarish(x, y): qoshilgan_natija = sonlarni_qoshish(x, y) ikkitaga_kopaytirilgan_natija = ikkitaga_kopaytirish(qo'shilgan_natija) return ikkitaga_kopaytirilgan_natija # Tizim Testlash def test_tizim_operatsiyalari(): assert operatsiyalarni_bajarish(3, 5) == 16 # (3 + 5) * 2 = 16 assert operatsiyalarni_bajarish(0, 0) == 0 # (0 + 0) * 2 = 0 test_tizim_operatsiyalari() ``` Ushbu misolda, `test_tizim_operatsiyalari` tizimni boshqarish uchun bir nechta funksiyalarni bir-biriga qo'shish orqali sinovdan o'tkazadi va natijaning kutilgan natija bo'lishini tekshiradi. ### Misol 2: Performans Testlash Performans testlash uchun, tizimingizning katta ma'lumotlar to'plamini qanday tez va samarali tarzda qayta ishlashini baholashni istaysiz. ```python # Tizim Funksiyasi: Ma'lumotlarni Ishlash import time def malumotlarni_islash(malumotlar): time.sleep(2) # Vaqt sarfiylovchini emulyatsiya qilish return [x * 2 for x in malumotlar] # Performans Testlash uchun Tizim Testi def test_tizim_perfomansi(): boshlash_vaqtı = time.time() malumotlar = [1, 2, 3, 4, 5] * 10**6 # Katta malumotlar toplami natija = malumotlarni_islash(malumotlar) otgan_vaqt = time.time() - boshlash_vaqtı assert len(natija) == len(malumotlar) assert otgan_vaqt < 5 # Ishlash vaqti maqbul chegarada bolishini tekshirish test_tizim_perfomansi() ```
Ushbu misolda, `test_tizim_perfomansi` tizimingizning katta ma'lumotlar to'plamini maqbul muddat ichida qanday tez va samarali ishlay olishini tekshiradi. Ushbu odatiy misollar, vaqtincha katta tizimlarning qanday testlanishi kerakligini ko'rsatish uchun taqdim etilgan. Real dunyo misollari ko'rsatib berilgan tizim testlashida ko'plab testlarni, chegaralarni va boshqa aspekrlarni ko'rish odatiydir. Hozirda, o'zgartirishlar va boshqa tuzatishlar qo'llanuvchi testlar o'tkazish uchun `unittest` yoki `pytest` kabi sinovlarni tuzishda mashxur kerak bo'ladi. Download 50.77 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling