Sobes.tech
Junior

Test prosesinin necə başladığına dair nümunələr verin.

sobes.tech Süni İntellekt

AI-dan cavab

Proqram təminatının həyat dövrünün müxtəlif mərhələlərində test prosesinə başlanıla bilər, bu, seçilmiş metodologiyadan və layihənin xüsusiyyətlərindən asılıdır.

Nümunələr:

  • Erkən Testlər (və ya Shift-Left Testing):

    • Kod yazılmadan əvvəlki mərhələlərdə başlayır: tələblərin toplanması və analizi, memarlıq və istifadəçi interfeysinin dizaynı.
    • QA sənədlərin (tələblər, spesifikasiyalar) nəzərdən keçirilməsində iştirak edir, erkən mərhələdə qeyri-müəyyənlikləri, ziddiyyətləri və potensial problemləri müəyyən edir.
    • Test halları, yoxlama siyahıları yazılır və inkişaf ilə paralel olaraq test strategiyaları formalaşdırılır.
    • Agile və DevOps yanaşmalarında tətbiq oluna bilər.
  • İnkişaf mərhələsində testlər (Unit Testing, Integration Testing):

    • Proqramçılar kod yazmağa başladıqda başlayır.
    • Proqramçılar müstəqil modulları və ya funksiyaları yoxlamaq üçün birim testləri yazır.
    • QA inteqrasiya testlərinin planlaşdırılmasında, test halları yazılmasında və ya hətta inteqrasiya testlərinin özünü yazılmasında iştirak edə bilər, əgər onlar eyni çərçivələrdən istifadə edirlərsə (Automation QA-də).
  • Yerləşdirmədən sonra testlər (System Testing, Acceptance Testing, Regression Testing):

    • Müəyyən bir funksionallıq və ya modul tamamlandıqdan və inteqrasiya olunduqdan sonra başlayır.
    • Sistem ümumi şəkildə geniş test edilir.
    • İstifadəçilər və ya müştəri nümayəndələri qəbul testləri keçirir.
    • Dəyişikliklərdən sonra, yeni dəyişikliklərin mövcud funksionallığı pozmadığından əmin olmaq üçün regresiya testi keçirilir.
  • İstehsalda defektlərin aşkarlanması üçün testlər:

    • Test prosesi, istifadəçi və ya monitorinq alətləri tərəfindən işləyən sistemdə defekt aşkarlandıqdan sonra başlaya bilər.
    • QA defekti analiz edir, onu təkrarlayır, lokalizə edir və defekt haqqında hesabat hazırlayır.
    • Düzəliş və düzəliş edilmiş versiyanın testinə başlanır.
# QA-nın erkən testlərdə iştirakı nümunəsi (tələblərin nəzərdən keçirilməsi)
def review_requirements(requirements_doc):
    """
    QA mütəxəssisi tərəfindən tələblər sənədinin nəzərdən keçirilməsi üçün pseudo-kod funksiyası.
    """
    issues_found = []
    # Tamamlıq yoxlaması
    if not all_requirements_are_clear(requirements_doc):
        issues_found.append("Bəzi tələblər aydın deyil və ya çoxmənalıdır.")
    # Ziddiyyətlərin yoxlanması
    if has_conflicting_requirements(requirements_doc):
        issues_found.append("Ziddiyyətli tələblər aşkar edildi.")
    # Test edilə bilənlik yoxlaması
    if not are_all_requirements_testable(requirements_doc):
        issues_found.append("Bəzi tələblər test etmək üçün çətindir və ya mümkün deyil.")
    
    return issues_found

# Yaxınlaşdırılmış köməkçi funksiyalar
def all_requirements_are_clear(doc):
    pass # Aydınlığın yoxlanması üçün məntiq
def has_conflicting_requirements(doc):
    pass # Ziddiyyətlərin yoxlanması üçün məntiq
def are_all_requirements_testable(doc):
    pass # Test edilə bilənliyin yoxlanması üçün məntiq

Layihənin strategiyasına görə testlərin başlanğıc vaxtı seçilir; lakin, testləri daha erkən mərhələlərə keçirmə meyili (erkən testlər) keyfiyyəti artırmaq və defektlərin düzəldilməsi xərclərini azaltmaq üçün getdikcə daha çox yayılır.