Dasturiy ta'minotni testlash β 0 dan Expertgacha¶
Bu kitob sizni dasturiy ta'minotni testlash bo'yicha mutlaqo noldan β "nega test yozamiz?"
degan savoldan β ekspert darajasiga olib chiqadi. Birinchi assertdan boshlab, test piramidasi,
unit / integratsiya / E2E testlar, test dublyorlari (mock, stub, fake, spy), TDD
(Red-Green-Refactor), BDD, ma'lumotlar bazasi va API testlash, kontrakt testlar,
code coverage, property-based va mutation testing, flaky testlar, performance
va xavfsizlik testlari, CI/CD, test strategiyasi va eski (legacy) kodni testlashgacha β
nihoyat real loyihani noldan test bilan qoplaydigan kapstonga yetadi.
π§ Til-mustaqil kitob. Test yozish β bu sintaksis emas, fikrlash tarzi. Shuning uchun bu
kitob biror tilga bog'lanmaydi: asosiy yuk tamoyillar, diagramma va psevdokodda. Lekin har bir
texnika yonida ishlaydigan Python + pytest namunasi beriladi (Python o'qishga eng oson va
psevdokodga yaqin til). G'oyalar har qanday tilda bir xil: JavaScript'da Jest/Vitest,
PHP'da PHPUnit/Pest, Java'da JUnit, Go'da testing β atamalar va naqshlar deyarli aynan.
βοΈ HALOL eslatma. Bu kitob testlashni yodlatmaydi, balki qachon, nimani va qanchalik
test qilishni β va eng muhimi, nega β o'rgatadi. "100% coverage = xatosiz kod", "test yozish
vaqtni behuda sarflaydi", "mock'lab hammasini testlash mumkin" kabi keng tarqalgan afsonalarni
ataylab buzamiz. Barcha Python namunalari haqiqatan ishga tushirib, chiqishi tekshirilgan.
βΉοΈ Bu kitob siz kamida bitta tilda asosiy kod yoza olasiz deb hisoblaydi (o'zgaruvchi, funksiya,
shart, sikl, klass tushunchasi). Agar yangi bo'lsangiz, avval Python yoki
JavaScript kitobini ko'rib chiqing. Testlash uchun maxsus matematika kerak emas.
Boblarni tartib bilan o'qing (01 β 02 β ...). Har qism oldingisiga tayanadi: asoslar β
unit testing β TDD β integratsiya β sifat o'lchovlari β funksional bo'lmagan testlar β jarayon va kapston.
Har bobdagi diagramma va kod namunalarini diqqat bilan kuzating, kodni o'zingiz ishlatib ko'ring.
Eng muhimi β o'z loyihangizda test yozib ko'ring. Testlash faqat amaliyot bilan o'rganiladi.
Har bobning "Mashqlar" bo'limini ishlang: avval o'zingiz urinib, keyin yechimni oching.