Sobes.tech
Junior

Nəfərqli funksional olmayan test nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Funksional olmayan test, proqram təminatının qeyri-funksional tələblərini yoxlamağa yönəlmiş proqram təminatı test növüdür. Bu, sistemin xüsusiyyətlərini qiymətləndirir və bu xüsusiyyətlər birbaşa funksiyalara deyil, daha çox sistemin "nə şəkildə" işlədiyinə aiddir.

Funksional olmayan testlərin əsas məqsədləri:

  • Sistem istifadəçilərin və biznesin gözləntilərinə cavab verdiyindən əmin olmaq, performans, etibarlılıq, istifadə rahatlığı və digər aspektlərdə.
  • Sistem stabilliyi, miqyaslana bilmə və təhlükəsizliyinə təsir edə biləcək problemləri aşkar etmək.
  • Sistem standartlara və tələblərə uyğun olduğunu təsdiqləmək.

Funksional olmayan test növləri:

Test növü Qısa təsviri Yoxlanılan xüsusiyyət nümunələri
Performans testi Sistem sürəti, cavab müddəti, stabillik və miqyaslanma qabiliyyətinin qiymətləndirilməsi. Cavab vaxtı, keçid qabiliyyəti, CPU/yadda istifadə.
Yük testi Gözlənilən pik yüklənmə altında sistemin davranışı. Eyni vaxtda istifadəçi sayı, saniyədə əməliyyatlar.
Stres testi Gözlənilən pik yüklənmədən artıq yüklənmə və ya resurs çatışmazlığı zamanı sistemin davranışı. Sistem uğursuzluq nöqtəsi, yüklənmə zamanı davranış.
Stabillik testi (Endurance Testing) Sistem uzun müddət yüklənmə altında davamlı işləmək qabiliyyətinin yoxlanması. Yaddaş sızması, zamanla performansın pisləşməsi.
Təhlükəsizlik testi Xarici və daxili təhlükələrdən, icazəsiz girişdən sistemin qorunması. SQL inyeksiyaları, XSS hücumları, autentifikasiya, icazə.
İstifadə rahatlığı testi (Usability Testing) İstifadəçilər üçün sistemin nə dərəcədə asan və intuitiv olduğunu müəyyən etmək. Anlaşılan interfeys, asan naviqasiya, əlçatanlıq.
Uyğunluq testi Sistem müxtəlif mühitlərdə (brauzerlər, əməliyyat sistemləri, cihazlar) işləməsi. Müxtəlif brauzer və OS versiyalarının dəstəyi.
Etibarlılıq testi (Reliability Testing) Sistem müəyyən müddət ərzində öz funksiyalarını fasiləsiz yerinə yetirmək qabiliyyətinin qiymətləndirilməsi. Orta arızalanma vaxtı (MTBF), uğursuzluq ehtimalı.
Əlçatanlıq testi (Accessibility Testing) Məhdud imkanlara malik insanlar üçün sistemin istifadəsinin rahatlığı. WCAG standartlarına uyğunluq.
Lokallaşdırma/İnternasionalizasiya testi Sistem müxtəlif dillərə və regional parametrlərə uyğunlaşdırılması. Tərcümə olunmuş sətirlər, tarix/ədəd formatları.

Funksional olmayan test adətən proqram təminatının inkişaf dövrünün daha erkən mərhələlərində həyata keçirilir, lakin planlaşdırılması tələblərin formalaşması ilə başlayır. Bu, avtomatlaşdırılmış proseslərin bir hissəsi ola bilər, xüsusən performans və təhlükəsizlik testlərində.

Funksional olmayan test üçün alətlər:

  • Performans: JMeter, LoadRunner, Gatling, k6.
  • Təhlükəsizlik: OWASP ZAP, Burp Suite, Acunetix.
  • Uyğunluq: BrowserStack, Sauce Labs.
  • İstifadə rahatlığı: UserTesting.com, göz izləmə alətləri.

Funksional olmayan testin avtomatlaşdırılması nümunəsi kimi, səhifənin yükləmə vaxtını yoxlamaq üçün skript nümunəsi:

import time
import requests

def measure_page_load_time(url):
    """
    Verilən URL-in yükləmə vaxtını ölçür.
    """
    start_time = time.time()
    try:
        response = requests.get(url)
        response.raise_for_status()  # Yaxşı cavablar üçün HTTPError çağırır (4xx və ya 5xx)
        end_time = time.time()
        load_time = end_time - start_time
        print(f"{url} üçün yükləmə vaxtı: {load_time:.2f} saniyə")
        return load_time
    except requests.exceptions.RequestException as e:
        print(f"{url} yüklənərkən xəta: {e}")
        return None

# İstifadə nümunəsi
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)

Funksional olmayan test nəticələri tez-tez hesabatlar, qrafiklər və metriklər şəklində təqdim olunur və sistemin xüsusiyyətlərini qiymətləndirməyə və təkmilləşdirmə üçün qərarlar qəbul etməyə imkan verir.