Testing Best Practices
Testlashning yaxshi amaliyotlari
Shu kursda o'rgangan barcha vositalarni (jadval testlari, subtestlar, mocking) qachon va qanday ishlatishni jamlab, kursni yakunlaymiz.
Yaxshi testning belgilari
- •Tez — testlar soniyalar ichida o'tishi kerak, aks holda ularni ishga tushirishga erinib qolasiz.
- •Mustaqil — bitta test boshqa testning natijasiga yoki tartibiga bog'liq bo'lmasligi kerak.
- •Aniq nom — test nomi (yoki subtest nomi) nima tekshirilayotganini o'zi aytib turishi kerak:
TestAbs/manfiy_son—TestCase3dan ancha tushunarli. - •Chegara holatlarni qamrab olish — faqat "oddiy" holatni emas, bo'sh qiymat, nol, manfiy son, eng katta/kichik qiymatlarni ham tekshiring.
Keng tarqalgan xatolar
- •Faqat "baxtli yo'l"ni (happy path) tekshirish — xato holatlarni unutish.
- •Testni juda ko'p tafsilotga bog'lash (implementatsiya detali), natijada kodni biroz o'zgartirsangiz ham testlar buziladi — funksiyaning natijasini, ichki ishlash usulini emas, tekshiring.
- •
t.Fatalfo'rniga har doimt.Errorfishlatish — davom etib bo'lmaydigan xatolarda (masalan setup muvaffaqiyatsiz bo'lsa)t.Fatalfishlatib, keyingi tekshiruvlar ma'nosiz ishlashining oldini oling.
Yaxshi test to'plami — loyihangizga qo'shimcha ishonch beradigan, uni o'zgartirishdan qo'rqmaslikka yordam beradigan "xavfsizlik to'ri". Kodni yozishdan oldin testni yozish ("test-driven development", TDD) ba'zilar uchun yaxshi ishlaydi, lekin majburiy emas — muhimi, kodni tugatgach testlarsiz qoldirmaslik.
Key Takeaway
Key Takeaway:
Yaxshi testlar tez, mustaqil, aniq nomlangan va chegara holatlarni qamrab oladi; ular implementatsiya detalini emas, funksiyaning haqiqiy natijasini tekshiradi.