Junior
Yuklama testlari haqida gapiring.
sobes.tech AI
AIdan javob
Yuklamali testlar — bu turdagi testlar bo‘lib, ular ilova (tizim)ning turli yuklamarda ishlash samaradorligi, barqarorligi va kengaytirilishini aniqlashga qaratilgan.
Yuklamali testlarning vazifalari:
- Tizim qanchalik yukni chidashini aniqlash.
- "Tor" joylarni (bottlenecks) aniqlash.
- Belgilangan yuklamada tizim javob vaqtini baholash.
- Yuklama ostida tizimning uzoq muddatli barqarorligini tekshirish.
- Tizimning kengaytirilishini tekshirish.
Yuklamali test turlari:
- Yuklama testi (Load Testing): Tizimning kutilgan (standart) yuklamada qanday ishlashini tekshirish.
- Stress testi (Stress Testing): Tizimni standartdan oshgan yuklama bilan sinash, nosozliklar yuzaga kelguncha. Maqsad — chidamlilik chegarasini aniqlash.
- Chidamlilik/uzoq muddatli test (Endurance/Soak Testing): Tizimning o‘rtacha yoki yuqori yuklama ostida uzoq vaqt davomida barqarorligini tekshirish, xotira oqiblarini, ishlash degradatsiyasini aniqlash.
- Pik yuklama testi (Spike Testing): Yuklamaning keskin va bir vaqtning o‘zida oshirilishini tekshirish.
- Kengaytirilish testlari (Scalability Testing): Tizimning resurslarni kengaytirish orqali ortib borayotgan yuklamani qanday qabul qilishini baholash.
- Hajm testi (Volume Testing): Ma’lumotlar hajmi oshganda tizimning qanday ishlashini tekshirish.
Yuklamali testlarni o'tkazish bosqichlari:
- Ma’goalarning aniqlanishi: Ishlash metrikalari (javob vaqti, o'tkazuvchanlik, xato soni) va muvaffaqiyat mezonlarini aniq belgilash.
- Ssenariylarni rejalashtirish va loyihalash: Foydalanuvchi ssenariylarini tahlil qilish, yuklama profili (virtual foydalanuvchilar soni, so‘rovlar intensivligi)ni belgilash.
- Test skriptlarini ishlab chiqish: Yuklamali test vositalaridan foydalanib, foydalanuvchilarning harakatlarini imitatsiya qiluvchi skriptlar yozish.
- Test muhitini tayyorlash: Ishlab chiqarish muhitini simulyatsiya qiluvchi test stendini sozlash.
- Testlarni bajarish: Turli yuklamalar bilan testlarni ishga tushirish.
- Monitoring va ma’lumotlarni yig‘ish: Tizim, serverlar, ma’lumotlar bazasi metrikalarini yig‘ish.
- Natijalarni tahlil qilish va hisobot tayyorlash: Olingan natijalarni maqsadlar bilan solishtirish, muammolarni aniqlash, hisobot tayyorlash.
Yuklamali testlar uchun vositalar:
- JMeter
- LoadRunner
- Gatling
- k6
- Locust
JMeter uchun oddiy skript namunasi (HTTP so‘rovi):
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.2">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Misol uchun yuklamali test">
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group">
<intProp name="ThreadGroup.num_threads">100</intProp>
<intProp name="ThreadGroup.ramp_time">10</intProp>
<longProp name="ThreadGroup.duration">60</longProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP So‘rovi misoli">
<stringProp name="HTTPSampler.domain">example.com</stringProp>
<stringProp name="HTTPSampler.path">/</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
<boolProp name="HTTPSampler.embedded_url_report">true</boolProp>
<boolProp name="HTTPSampler.connect_timeout"></boolProp>
<boolProp name="HTTPSampler.response_timeout"></boolProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.comment"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.image_parser">true</stringProp>
<stringProp name="HTTPSampler.concurrentDwn">Both</stringProp>
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
<stringProp name="HTTPSampler.implementation_status">OK</stringProp>
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
<listProp name="HTTPSampler.HTTP_HEADERS"></listProp>
</HTTPSamplerProxy>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</TestPlan>
</hashTree>
</jmeterTestPlan>
Yuklamali testlar davomida yig‘iladigan metrikalar:
- Javob vaqti
- O‘tish tezligi
- Xato soni sekundiga
- So‘rovlar soni sekundiga
- CPU foydalanish
- Xotira foydalanish
- Disk I/O faoliyati
- Tarmoq faoliyati
- Ma’lumotlar bazasi metrikalari
Yuklamali testlar tizimning ishlab chiqarishdagi uzilishlarini oldini olishga yordam beradi va yakuniy foydalanuvchilar uchun qabul qilinadigan sifat darajasini ta’minlaydi.