Sobes.tech
Junior

Нефункционалдык тест деген эмне?

sobes.tech AI

AIден жооп

Нефункционалдык тестирлөө — бул программалык камсыздоонун тестирлөө түрү, анын нефункционалдык талаптарын текшерүүгө багытталган. Ал системанын өзгөчөлүктөрүн баалайт, алар түздөн-түз конкреттүү функциялар менен байланыштуу эмес, тескерисинче, системанын иштешинин ыкмасы менен байланыштуу.

Нефункционалдык тестирлөөнүн негизги максаттары:

  • Система колдонуучу жана бизнес күтүүлөрүнө ылайык келерин камсыз кылуу, аткаруу, ишенимдүүлүк, колдонуучу үчүн ыңгайлуулук жана башка аспектилер боюнча.
  • Системанын туруктуулугуна, масштабдуулугуна жана коопсуздугуна таасир эте турган көйгөйлөрдү аныктоо.
  • Системанын белгиленген стандарттарга жана талаптарга ылайык келүүсүн тастыктоо.

Нефункционалдык тестирлөө түрлөрү:

Тест түрү Кыскача сүрөттөө Текшерилүүчү өзгөчөлүктөрдүн мисалдары
Өнүмдүүлүк тестирлөөсү Системанын ылдамдыгын, жооп берүү убактысын, туруктуулугун жана масштабдуулугун баалоо. Жооп убактысы, өткөрүмдүүлүк, CPU/жад жүктөөсү.
Жүктөө тестирлөөсү Күтүлгөн чокулук жүктөмдө системанын жүрүм-турумун текшерүү. Бир мезгилде колдонулуп жаткан колдонуучулардын саны, секундасына транзакциялар.
Стресс тестирлөөсү Күтүлгөн чокулук жүктөмдөн ашып кеткенде же ресурстар жетишпегенде системанын жүрүм-турумун текшерүү. Системанын иштен чыгуу чекити, жүктөм астында жүрүм-турум.
Туруктуулук тестирлөөсү (Endurance Testing) Жүктөм астында узак мөөнөттүү үзгүлтүксүз иштөө жөндөмүн текшерүү. Жадынын агып кетиши, убакыт өткөн сайын иштөө көрсөткүчүнүн төмөндөшү.
Коопсуздук тестирлөөсү Системанын тышкы жана ички коркунучтардан, уруксатсыз кирүүдөн корголушун текшерүү. SQL-инъекциялар, XSS-карат, аутентификация, уруксат берүү.
Колдонуучу үчүн ыңгайлуулук тестирлөөсү (Usability Testing) Колдонуучулар үчүн системаны канчалык оңой жана интуитивдүү колдонуу мүмкүнчүлүгүн аныктоо. Аңгыраак интерфейс, жеңил навигация, жеткиликтүүлүк.
Жарактуулук тестирлөөсү Системанын ар башка чөйрөлөрдө (браузерлер, ОЖ, түзмөктөр) иштөө жөндөмүн текшерүү. Төртүнчү браузерлердин, ОЖ версияларынын колдоосу.
Ишенимдүүлүк тестирлөөсү (Reliability Testing) Системанын белгиленген убакыт аралыгында каталарсыз иштөө жөндөмүн баалоо. Орточо иштөө убактысы (MTBF), каталардын мүмкүнчүлүгү.
Жеткиликтүүлүк тестирлөөсү (Accessibility Testing) Мүмкүнчүлүгү чектелген адамдар үчүн системанын колдонулушу ыңгайлуулугун текшерүү. WCAG стандарттарына ылайыктык.
Локализация/интернационализация тестирлөөсү Системанын ар башка тилдерге жана регионалдык жөндөөлөргө ылайыкташтырылышын текшерүү. Аударылган саптар, даталар/сандык форматтар.

Нефункционалдык тестирлөө адатта программалык камсыздоонун өнүгүү циклинин эрте этаптарында жүргүзүлөт, функционалдык тестирлөөгө караганда, бирок анын пландоосу талаптарды түзүү менен башталат. Ал автоматташтырылган процесстердин бир бөлүгү болушу мүмкүн, өзгөчө продуктивдүүлүк жана коопсуздук тесттеринде.

Нефункционалдык тестирлөө үчүн инструменттер:

  • Өнүмдүүлүк: JMeter, LoadRunner, Gatling, k6.
  • Коопсуздук: OWASP ZAP, Burp Suite, Acunetix.
  • Сүйлөшүү: BrowserStack, Sauce Labs.
  • Колдонуучу үчүн ыңгайлуулук: UserTesting.com, көздүн кыймылын көзөмөлдөө инструменттери.

Нефункционалдык тестирлөөнүн автоматташтырылган мисалы — баракчаны жүктөө убактысын текшерүү үчүн скрипт:

import time
import requests

def measure_page_load_time(url):
    """
    URL көрсөтүлгөн убакытта жүктөлгөнүн өлчөө.
    """
    start_time = time.time()
    try:
        response = requests.get(url)
        response.raise_for_status()  # 4xx жана 5xx жооптор үчүн HTTPError жогорулайт
        end_time = time.time()
        load_time = end_time - start_time
        print(f"{url} үчүн жүктөө убактысы: {load_time:.2f} секунд")
        return load_time
    except requests.exceptions.RequestException as e:
        print(f"{url} жүктөлгөндө ката: {e}")
        return None

# Колдонуу мисалы
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)

Нефункционалдык тестирлөөнүн натыйжалары көбүнесе отчеттор, графиктер жана метрикалар түрүндө берилет, алар системанын өзгөчөлүктөрүн баалоого жана жакшыртуулар жөнүндө чечим кабыл алууга мүмкүндүк берет.