TGViewer
Engineering Notes Engineering Notes @boboshersnotes · 2.6K subscribers
Post #544 3.18K
Jahongir akaning mana bu postini o'qib bir holat esimga tushdi. Qisqasi, eskiroq bir servisimizning funksionalligini o'zgartirmagan holda qayta yozib chiqishimiz kerak edi. Yaxshiki, bu servis uchun anchagina testlar yozilgan ekan. Codebaseni boshqa tilga o'tkazmayotganimiz uchun servis funksionalligini tekshirish osonroq bo'lishi kerak: eski servisdagi testlar refactoringdan keyin ham yaxshi o'tsa, demak servis to'g'ri ishlayapti.

Aniqrog'i, boshida shunday o'ylagandik. Lekin keyin savol tug'ildi: aslida funksionallik o'zgarib, lekin testlardan baribir o'tsachi? Ya'ni bizdagi testcaselar kichkina o'zgarishni ham seza oladigan darajada aniqmi? Masalan, bir koddagi if a < b joyi refactoringda if a <= b ga o'zgarib ketsa testlarimiz bu o'zgarish sabab fail bo'ladimi yoki o'tkazib yuboradimi?

Odatda, dasturchilar kodni test qilishadi. Lekin biz oldin testlarning o'zini test qilishimiz kerak edi. Biroz izlanganimizdan keyin bir jamoadoshimiz mutation test haqida gapirib qoldi (shunday test turi borligini o'sha vaqt bildim). Mutation test bu kodda kichkina o'zgarish (mutation)lar qilib, yozilgan testcaselardan qayta-qayta o'tkazish. Bundan maqsad kodni emas, testcaselarning o'zini tekshirish. Agar testlar yaxshi yozilgan bo'lsa, kod funksionalligi ozgina o'zgarganda ham qaysidir testcase fail bo'lishi kerak. O'zgartirilgan (mutant) kod hamma testlardan o'ta olsa mutation test fail bo'ladi. Dasturchilar natijani analiz qilib, testcaselarni o'zgartirishi, yangi testcase yozishi yoki shunchaki hech narsa qilmasligi mumkin.

Oldik☕️
  • 👍 34
  • 👎 1
More from @boboshersnotes
  1. Oct 5, 2026I pinch the airpods once, Youtube video on my laptop is paused. I pinch it again, the vide…
  2. Oct 5, 2026The smartest kids in Kazakhstan should not be doing AI or maxxing out Claude. AI products…
  3. Sep 28, 2026https://www.youtube.com/watch?v=9HIy5dJE-zQ
  4. Sep 22, 2026spa-net.com qiziq challange ekan, kun bo'yi "enter" bosishdan zerikkanda bosh qotirib ko'r…
  5. Sep 21, 2026Bizda odatda juma kunlarining ikkinchi yarmi ishga to'g'ridan-to'g'ri aloqador bo'lmagan n…
  6. Sep 15, 2026Yandex to’lov tizimi 2-3 oydan beri stabil ishlamayotgandi o’zi, butun to’liq o’chibdi she…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →