testivus

Unit Test’lar haqida (1.2) Testivus Falsafasi.

Kod yozsang – test yoz
Shogird usta-dasturchidan so‘radi:
“Qachon men testlar yozishni to‘xtataman?”
Usta javob berdi:
“Qachonki kod yozishni to‘xtatganingda”
Shogird so‘radi:
“Qachon men kod yozishni to‘xtataman?”
Usta javob berdi:
“Qachonki menedjer bo‘lganingda”
Shogird titrab ketdi va so‘radi:
“Qachon men menedjer bo‘laman?”
Usta javob berdi:
“Qachonki testlar yozishni to‘xtatganingda”
Shogird testlar yozishga ketdi.
Faqat izlari qoldi…
Agarda kod yozilishga loyiq bo‘lsa, u testlarga ega bo‘lishga loyiq.

Kod va testlar haqida bir yaxlit narsadek fikr yurit
Kod yozgan vaqtda, test haqida o‘yla.
Test yozayotganda, kod haqida o‘yla.
Kod va test haqida xuddi ular yagonadek o‘ylasang,
testlash oson, kod chiroyli bo‘ladi.

Test yunitdan ko‘ra muximroq
Shogird buyuk dasturchidan so‘radi:
“Testni yunit-testga nima aylantiradi?”
Buyuk dasturchi javob berdi:
“Agarda u baza bilan ishlasa, u yunit-test emas.
Agarda u tarmoq bilan ishlasa, u yunit-test emas.
Agarda u fayl tizimi bilan ishlasa u yunit-test emas.
Agarda u boshqa testlar bilan bir vaqtni o‘zida bajarila olmasa, u yunit-test emas.
Agarda testni bajarilishi uchun muhitni o‘zgartirishing kerak bo‘lsa, demak u yunit-test emas”.
Shu vaqtda oraga boshqa buyuk-dasturchi aralashdi va ular orasida baxs boshlandi.
“So‘raganim uchun uzr so‘rayman”, – dedi shogird
Kechroq u buyuk-dasturchidan xat oldi. Unda:
“Birinchi Buyuk dasturchini javobi senga juda zo‘r “yo‘l boshchi” bo‘lsin.
Unga amal qil, shunda ko‘p xolatlarda afsuslanmaysan.
Ammo fikrda qotib qolma.
Yozilishi kerak bo‘lgan testni yoz”.
Shogird yaxshi uxladi
Ustalarni baxslashishi tun bo‘yi davom etdi.

Yangiligida test qil
Koding – loy kabi.
U yangiligida – yumshoq va o‘zgartirish oson.
Vaqt o‘tishi bilan u qotib, mo‘rtlashib boradi.
Kod xali yangi va o‘zgaruvchan vaqtida test yozsang – test qilish osonroq bo‘ladi, kod test bilan birgalikda esa baquvvatroq bo‘ladi.

Ishlamaydigan testlar – bekor ketgan vaqt
Testlarni tez-tez ishlat.
Ularni turib qolishiga yo‘l qo‘yma.
Ular o‘tganida, xursand bo‘l.
Ular o‘tmaganida, xursand bo‘l.

Bugungi nomukammal test keyinroq yozilgan mukammal testdan ko‘ra yaxshi
Mukammallik – yaxshilikni dushmani.
Mukammalroq qilish uchun, mukammallikdan umivdor bo‘lma.
Yaxshi qilish uchun, mukammallikdan umivdor bo‘lma.
Yoza olganingcha test yoz… bugun.

Daxshatli test, xech qandaydan ko‘ra yaxshi
Qachonki kod daxshatli bo‘lsa – testlar ham daxshali bo‘lishi mumkin.
Sen daxshatli testlarni yozishni yaxshi ko‘rmaysan,
Ammo daxshatli kod eng ko‘p muxtoj bo‘lgan narsa bu testlar.
Daxshatli kodni sen testlar yozishdan to‘sishiga ruxsat berma,
Ammo daxshatli kodga seni kelajakda daxshatli kod yozishdan to‘xtatishiga rozi bo‘l.

Ba’zan test vositani oqlaydi
Shogird ikkita buyuk dasturchilardan so‘radi:
“Men bu kodni Mock’larni yozmasdan va “inkapsulyatsiya”ni buzmasdan yoza olmayman. Nima qilay?”
Birinchi byuk dasturchi javob berdi:
” Mock’ lar – bu yomon, va sen hech qachon “inkapsulyatsiya”ni buzishing kerak emas.
Kodingini to‘g‘ri test qilish uchun uni qaytadan yoz”.
Ikkinchi buyuk dasturchi javob berdi:
” Mock’ lar – bu yaxshi, va test qilish “inkapsulyatsiya”dan ko‘ra muximroq”.

Faqat axmoqlar asboblarsiz ishlay oladi
Ketmonsiz dehqon – yomon dehqon.
“Kalkulyator”siz xisobchi – yomon hisobchi.
Ba’zi ishlar quruq qo‘l bilan yaxshi bajariladi.
Ba’zilari esa – asboblar bilan.
Asbob bilan yaxshiroq bajariladigan ishni qo‘l bilan bajarishda xech qanday mardlik yo‘q.
Bosh kerak bo‘lmagan joyda uni ishlatish aqilli ish emas.

Yaxshi test qulaydi
Shogird usta-dasturchi oldiga keldi va aytdi:
“Meni barcha testlarim har doim o‘tadi. Men o‘sishlikga loyiq emasmanmi?”
Usta javob berdi:
“Agarda seni hamma testlaring har doim o‘tayatgan bo‘lsa, sen testlarni yaxshiroq yozishing kerak”
Shogird HRga shikoyat qilish uchun ketdi.
Ammo bunisi boshqa voqea…

Testivusning yo‘li
Kod yozsang – test yoz
Kod va testlar xaqida yaxlitdek o‘yla
Test, yunitdan ko‘ra muximroq
Yangiligida test qil
Ishlamaydigan testlar – bekor ketgan vaqt
Bugungi nomukammal test keyinroq yozilgan mukammal testdan ko‘ra yaxshi
Daxshatli test, xech qandaydan ko‘ra yaxshi
Ba’zan test vositani oqlaydi
Faqat axmoqlar asboblarsiz ishlay oladi
Yaxshi test qulaydi

Maqolani asl nusxasi bu erda
Bu hikoyani ohirgi so’z deb o‘ylamang balki u haqida “yana bir nuqtai nazar” deb o‘ylang.

(428 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar: