Sobes.tech
Junior

Noma'lum funktsional bo'lmagan test nima?

sobes.tech AI

AIdan javob

Nofunksional testlar, dasturiy ta'minotning nofunksional talablarini tekshirishga qaratilgan turdagi testlardir. Ular tizimning xususiyatlarini baholaydi, ular aniq funksiyalar bilan to'g'ridan-to'g'ri bog'liq bo'lmagan, balki "qanday" ishlashiga qaratilgan.

Nofunksional testlarning asosiy maqsadlari:

  • Tizim foydalanuvchi va biznesning kutganlariga muvofiq kelishini ta'minlash, masalan, ishlash, ishonchlilik, qulaylik va boshqa jihatlar.
  • Tizimning barqarorligi, kengaytirilishi va xavfsizligiga ta'sir qilishi mumkin bo'lgan muammolarni aniqlash.
  • Tizimning belgilangan standartlar va talablarga mos kelishini tasdiqlash.

Nofunksional test turlari:

Test turi Qisqa tavsifi Tekshiriladigan xususiyatlar misollari
Ishlashga oid testlar Tizimning tezligi, javob berish vaqti, barqarorligi va kengaytirilishini baholash. Javob vaqti, kenglik, CPU/memory yuklamasi.
Yuk testlari Tizimning kutilgan maksimal yuk ostidagi xatti-harakatini tekshirish. Bir vaqtning o'zida ishlayotgan foydalanuvchilar soni, sekundiga tranzaktsiyalar.
Stress testlar Tizimning kutilgan maksimal yukdan oshib ketishi yoki resurslar yetishmasligi holatidagi xatti-harakatini tekshirish. Tizimning nosozlik nuqtasi, ortiqcha yuk ostidagi xatti-harakat.
Barqarorlik testlari (Endurance Testing) Tizimning uzoq davom etadigan yuk ostida ishlash qobiliyatini tekshirish. Xotira oqishi, vaqt o'tishi bilan ishlashning pasayishi.
Xavfsizlik testlari Tizimning tashqi va ichki tahdidlarga, ruxsatsiz kirishga qarshi himoyasini tekshirish. SQL in'ektsiyalaridan, XSS hujumlaridan himoya, autentifikatsiya, ruxsat berish.
Foydalanuvchanlik testlari Foydalanuvchilarga tizimni qanday oson va intuitiv ishlatish mumkinligini aniqlash. Tushunarli interfeys, oson navigatsiya, kirish imkoniyati.
Moslik testlari Tizimning turli muhitlarda (brauzerlar, OS, qurilmalar) ishlashini tekshirish. Turli brauzer versiyalarini, OSlarni qo'llab-quvvatlash.
Ishonchlilik testlari Tizimning belgilangan vaqt davomida xatoliklarsiz ishlash qobiliyatini baholash. O'rtacha nosozlik vaqti (MTBF), nosozlik ehtimoli.
Kirish imkoniyati testlari (Accessibility Testing) Cheklovlari bo'lgan odamlar uchun tizimdan foydalanish qulayligini tekshirish. WCAG standartlariga moslik.
Lokatsiya/xalqaroizatsiya testlari Tizimning turli tillar va mintaqaviy sozlamalarga moslashuvini tekshirish. Tarjimalar, sana/raqam formatlari.

Nofunksional testlar odatda dasturiy ta'minotni ishlab chiqishning dastlabki bosqichlarida o'tkaziladi, lekin ularning rejalashtirilishi talablarni belgilash bilan boshlanadi. Ular avtomatlashtirilgan jarayonlarning bir qismi bo'lishi mumkin, ayniqsa ishlash va xavfsizlik testlarida.

Nofunksional testlar uchun vositalar:

  • Ishlash uchun: JMeter, LoadRunner, Gatling, k6.
  • Xavfsizlik uchun: OWASP ZAP, Burp Suite, Acunetix.
  • Moslik uchun: BrowserStack, Sauce Labs.
  • Foydalanuvchanlik uchun: UserTesting.com, ko'z izchilash vositalari.

Nofunksional testlarning avtomatlashtirilishiga misol sifatida, sahifa yuklash vaqtini tekshirish uchun skript keltirilishi mumkin:

import time
import requests

def measure_page_load_time(url):
    """
    Ko'rsatilgan URLning yuklanish vaqtini o'lchaydi.
    """
    start_time = time.time()
    try:
        response = requests.get(url)
        response.raise_for_status()  # Yomon javoblar uchun HTTPError chiqaradi (4xx yoki 5xx)
        end_time = time.time()
        load_time = end_time - start_time
        print(f"Yuklanish vaqti {url}: {load_time:.2f} sekund")
        return load_time
    except requests.exceptions.RequestException as e:
        print(f"Yuklashda xato {url}: {e}")
        return None

# Foydalanish misoli
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)

Nofunksional testlarning natijalari odatda hisobotlar, grafiklar va metrikalar shaklida taqdim etiladi, bu tizimning xususiyatlarini baholash va zarur bo'lsa, yaxshilash uchun qarorlar qabul qilish imkonini beradi.