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.