Mavzu: Testlash usullari


Download 99.71 Kb.
Sana19.06.2023
Hajmi99.71 Kb.
#1622123
Bog'liq
3-amaliy ish testlash usullari dasturiy taminot sifatini taminlash


3-Amaliy ish.

Mavzu:Testlash usullari


Dasturiy ta'minotni sinab ko'rish uchun ishlatilishi mumkin bo'lgan turli xil sinov usullari mavjud. Eng keng tarqalgan usullardan ba'zilari:



  • Unit test: Birlik testi - bu funktsiyalar yoki sinflar kabi alohida kod birliklarini sinab ko'rish usuli. Ushbu turdagi sinov ko'pincha ishlab chiquvchilar tomonidan kod yozishda amalga oshiriladi va bu xatolarni erta aniqlashga yordam beradi.

  • Integratsiya testi: Integratsiya testi - bu turli xil kod birliklarining bir-biri bilan o'zaro ta'sirini tekshirish usuli. Ushbu turdagi sinov ko'pincha kod ishlab chiqilgandan so'ng testerlar tomonidan amalga oshiriladi va bu dasturiy ta'minotning turli qismlarining to'g'ri ishlashini ta'minlashga yordam beradi.

  • Tizim testi: Tizim testi - bu butun dasturiy ta'minot tizimini bir butun sifatida sinab ko'rish usuli. Ushbu turdagi test ko'pincha dasturiy ta'minot integratsiyalashgandan so'ng testerlar tomonidan amalga oshiriladi va bu dasturiy ta'minot uning barcha talablariga javob berishini ta'minlashga yordam beradi.

  • Qabul qilish testi: Qabul qilish testi - bu dasturiy ta'minotni foydalanuvchilarning ehtiyojlariga javob berishini tekshirish usuli. Ushbu turdagi test ko'pincha foydalanuvchilar yoki foydalanuvchilar vakillik guruhi tomonidan amalga oshiriladi va bu dasturiy ta'minotning foydalanishga yaroqliligini va foydalanuvchilarning kutganlarini qondirishga yordam beradi.

Ushbu keng tarqalgan sinov usullariga qo'shimcha ravishda, muayyan turdagi xatolarni tekshirish yoki dasturiy ta'minotning o'ziga xos jihatlarini sinab ko'rish uchun ishlatilishi mumkin bo'lgan boshqa ko'plab maxsus test usullari mavjud. Misol uchun, unumdorlik testi dasturiy ta'minot yuk ostida qanchalik yaxshi ishlashini tekshirish uchun ishlatilishi mumkin, xavfsizlik testi xavfsizlik zaifliklarini tekshirish uchun ishlatilishi mumkin va foydalanish imkoniyati testi dasturiy ta'minotdan foydalanish qanchalik osonligini tekshirish uchun ishlatilishi mumkin.
Qaysi sinov usullarini tanlash ishlab chiqilayotgan maxsus dasturiy ta'minotga va foydalanuvchilarning ehtiyojlariga bog'liq bo'ladi. Biroq, barcha dasturiy ta'minot xatolarsiz va foydalanuvchilarning ehtiyojlarini qondirish uchun turli usullardan foydalangan holda sinovdan o'tkazilishi kerak.
Sinov usullarini tanlash va ulardan foydalanish bo'yicha ba'zi qo'shimcha maslahatlar:

  • Sinovni erta boshlang: testni qanchalik erta boshlasangiz, xatolarni topish va tuzatish shunchalik oson bo'ladi.

  • Turli xil sinov usullaridan foydalaning: Hech bir test usuli barcha xatolarni topa olmaydi. Barcha xatolarni topish imkoniyatini oshirish uchun turli usullardan foydalaning.

  • Dasturiy ta'minotni real sharoitlarda sinab ko'ring: Dasturiy ta'minotni haqiqiy dunyoda qo'llash uchun sinab ko'ring. Bu sizga boshqariladigan sinov muhitida ko'rinmasligi mumkin bo'lgan xatolarni topishga yordam beradi.

  • Foydalanuvchilarning fikr-mulohazalarini oling: test jarayonida foydalanuvchilarning fikr-mulohazalarini oling. Bu sizga dasturiy ta'minot foydalanuvchilarning ehtiyojlariga javob berishiga yordam beradi.

Ushbu maslahatlarga rioya qilish orqali siz yuqori sifatli dasturiy ta'minotni yetkazib berish imkoniyatini oshirishingiz mumkin.

Endi esa face_detected_img modulini testlab ko’ramiz


face_detected_img.py fayli

import cv2


pathImg='source/3.jpg'
img = cv2.imread(pathImg)
face_cascade_db = cv2.CascadeClassifier('xml/haarcascade_frontalface_default.xml')
faces = face_cascade_db.detectMultiScale(img,1.1,5)

if __name__=='__main__':


for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imshow('window',img)
cv2.waitKey()

ushbu modulni o’zimiz yozgan name_test moduli orqali unit testing va integration testlarini o’tkazamiz.

name_test.py fayli

import unittest


try:
import face_detected_img as f
print('face_detected_img loading succes')
except:
print('face_detected_img not found')
print('face_detected_img modulni yuklab oling')

try:
import cv2


print('cv2 loading succes')
except:
print('cv2 not found')
print('cv2 modulni yuklab oling')

class NameTest(unittest.TestCase):


def test_yuzlar_soni(self):
yuzlar = 1
self.assertEqual(yuzlar,len(f.faces))
def test_yuz_kord(self):
kord = [170 ,112, 285, 285]
self.assertEqual(len(kord),len(f.faces[0]))

unittest.main()





Suniy intelekt uchun modular integratsiyasi alo darajada ishlamoqda .Modulni o’ziga murojat va modul funksiyalari bilan integratsiya muoffaqiyatli amalga oshirildi.
Download 99.71 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling