Guruh: 650-20 Laboratoriya ishlari Fan nomi


Download 50.77 Kb.
Sana31.01.2024
Hajmi50.77 Kb.
#1833262
Bog'liq
CKt4PXLvUUgLt43pW7pm


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:**
- Tizimni sinovdan o'tkazishning asosiy maqsadi, belgilangan talablarga muvofiq ishlashi va uning amaliyot muhitida talab etilayotgan shaklda ishlashi bo'yicha baholashdir.

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 1: Qo'shish
def sonlarni_qoshish(a, b):
return a + b

# 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'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling