Vahid 8 / 11

Test Əhatəsinin Təhlili və Risk Əsaslı Test: Süni İntellektlə Doğru Məqsəd

Qazanclar:

  • Xətt, budaq və vəziyyət əhatəsi kimi ölçüləri güvən deyil, xəritə kimi oxumaq və yüksək əhatə dairəsinin psevdo-etibar verə biləcəyini başa düşmək bacarığı
  • Tələb dairəsini kod sahəsinin yanına qoymaq və izlənilən boşluqları süni intellektlə görünən etmək bacarığı
  • Risk = ehtimal × təsir düsturu ilə xüsusiyyətləri qiymətləndirmək bacarığı, məhdud sınaq səylərini ən yüksək riskə yönəltmək və qəsdən əhatə dairəsindən kənar sənədləşmə

Siz hər proqram təminatını əbədi olaraq sınaqdan keçirə bilməzsiniz; Vaxt və resurslar məhduddur. Beləliklə, əsl sual budur: məhdud sınaq səylərini hara qoymaq lazımdır? Bu suala iki anlayış cavab verir. Test əhatə dairəsi - kodun və ya tələblərin testlər tərəfindən nə qədər toxunulduğunu ölçən metrik - yoxlanılanları təmsil edir. Risk əsaslı test - ərazinin pisləşmə ehtimalına və onun pisləşdiyi zaman vuracağı zərərə görə sınaq prioritetinin müəyyən edilməsi yanaşması - səyləri ən çox riskə yönəldir. Süni intellekt (AI) hər ikisində güclü analiz tərəfdaşıdır: əhatə dairəsi boşluqlarını görünən edir, risk sahələrini təklif edir. Ancaq mərkəzi xəbərdarlıq qalır: AI-nin gördüyü əhatə dairələrinin sayı yanıltıcı ola bilər; Heç bir şeyi təsdiqləməyən testlərlə hətta 100% sıra əhatəsinə nail olmaq olar. Sizin işiniz əhatə dairəsini güvən deyil, xəritə kimi oxumaqdır.

Əhatə göstəricilərinin düzgün oxunması

Bir neçə növ əhatə dairəsi var və hamısı eyni dərəcədə mənalı deyil:

  • Xəttin əhatə dairəsi: Ən azı bir dəfə neçə sətir kod icra edilmişdir. Ən ümumi, lakin ən zəif meyar; Bir xəttin işləməsi onun düzgün davranmasının sübutu deyil.
  • Filial əhatə dairəsi: Hər if filialının (həm doğru, həm də yanlış) sınaqdan keçirilməməsi. Bir xəttdən daha mənalı.
  • Vəziyyətin əhatə dairəsi: Mürəkkəb şəraitdə hər bir alt şərtin ayrıca sınaqdan keçirilməsi.
  • Yol əhatəsi: Kod daxilində məntiqi yolların birləşmələri. Bu, ən əhatəli, lakin praktikada tam nail olmaq çətindir.
Diqqət: Əhatə faizi "keyfiyyət balı" deyil. 100% sıra əhatəsi sizə satırların işlədiyini bildirir; düzgün nəticə verməsi deyil (1-ci vahiddə psevdo-pass). Əhatə dairəsini "hər şeyin sınaqdan keçirildiyinə" əminlik kimi deyil, "heç vaxt hara baxmamışam" sualına cavab kimi istifadə edin.

Kor nöqtələri əhatə edir

Əhatə göstəriciləri yalnız kodun nə qədər icra olunduğunu ölçür; görə bilmir: (1) sınaqdan keçirilməmiş tələblər (kod mövcuddur, lakin biznes qaydası səhvdir), (2) çatışmayan kod (heç vaxt yazılmamış nəzarət üçün əhatə dairəsi yoxdur), (3) məlumat/dövlət birləşmələri, (4) istifadə imkanları, performans, təhlükəsizlik. Buna görə də, tələblərin əhatə dairəsi (hər bir qəbul meyarı ən azı bir testlə qarşılanmalıdır) kod əhatə dairəsinin yanında yerləşdirilməlidir. Süni intellekt tələb-test xəritəsinin (izlənmə matrisi) istehsalında çox faydalıdır.

Risk əsaslı test: səyləri hara sərf edirik?

Risk = ehtimal (qırılma ehtimalı) × təsir (sınma zamanı zərər). Süni intellekt ilə siz bu iki oxda bir xüsusiyyət siyahısı əldə edə və istilik xəritəsi yarada bilərsiniz. Yüksək ehtimal × yüksək domenlər (ödəniş, autentifikasiya, məlumatların bütövlüyü) ən gərgin sınaqlara layiqdir; aşağı × aşağı sahələr (nadir hallarda istifadə olunan üstünlük ekranı) işıq sınağı kifayətdir.

sahə

ehtimal

Təsir

Risk

Test sıxlığı

Ödəniş axını

orta

çox yüksək

yüksək

Dərin + avtomatlaşdırma

autentifikasiya

orta

çox yüksək

yüksək

Dərin + təhlükəsizlik

Məhsul axtarışı

yüksək

orta

Orta-Yüksək

Avtomatlaşdırma + kəşf

Profil şəkli

aşağı

aşağı

aşağı

işıq nəzarəti

Yardım səhifəsi

aşağı

çox aşağı

çox aşağı

nəzərdən keçirin

Ətrafı təqib etmək tələsi

Əhatə faizini məqsədə çevirmək (məsələn, “komanda 90% əhatə dairəsini keçməlidir” qaydası) təhlükəli yan təsirə malikdir: tərtibatçılar və sınaqçılar faktiki riski həll etmək əvəzinə faizi artırmağa diqqət yetirirlər. Nəticə tez-tez heç bir təsdiq və ya əhəmiyyətsiz testlər olmayan şişirilmiş əhatə dairəsidir - rəqəm gözəl görünür, lakin heç bir qorunma yoxdur. Bu, meyarın özü məqsədə çevrildikdə pozulma hadisəsidir: “ölçü məqsədə çevriləndə o, yaxşı ölçü olmaqdan çıxır”. Əhatə dairəsini performans hesabatı kartı kimi deyil, diaqnostika vasitəsi kimi istifadə edin.

Daha sağlam yanaşma əhatə dairəsini istiqamətli oxumaqdır: "Niyə filialın əhatə dairəsi kritik ödəniş modulunda 40% səviyyəsində qalıb?" Sual "ümumi əhatə dairəsi 90% təşkil edirmi?" Sualdan qat-qat dəyərlidir. AI-nın əhatə dairəsi hesabatını modul və risk səviyyəsinə görə bölməlidir; Aşağı əhatə dairəsi ilə yüksək riskli sahələri vurğulayın. Beləliklə, əhatə dairəsi kor faizdən çox əməyi istiqamətləndirən bir kompasa çevrilir.

Diqqət: "100% əhatə" şüarı tələdir. Bəzi kodun sınaqdan keçirilməsi (sadə girişlər, avtomatik yaradılan hissələr) aşağı qiymətə malikdir; orada sərf olunan səy yüksək riskli biznes qaydalarından oğurlanır. Məqsəd hər sətir yox, hər mühüm davranış və riski sınamaqdır.

Zəif məlumat / Güclü göstəriş

Zəif: "Test əhatə dairəmi artırın."
Güclü: "Qəbul meyarlarının bu siyahısını və mövcud sınaq hallarını nəzərə alaraq. (1) Qəbul meyarlarının heç bir test tərəfindən qarşılanmadığı cədvəl (tələb əhatə dairəsi boşluğu). (2) Ehtimal və təsir oxları üzrə hər bir xüsusiyyəti 1-5 qiymətləndirin; riskə görə sıralayın = ehtimal × təsir. (3) Məhdud vaxtım üçün ən yüksək 5-ci sətirlə risk almamağı təklif edirəm. yeganə meyar kimi əhatə dairəsi biznes riskinə üstünlük verir: [...] Testlər: [...]".

Güclü tez; əhatə dairəsini biznes riski ilə birləşdirir və məhdud əməyə üstünlük verir.

Dörd kopyalana bilən şablon

1) Tələblərin əhatə dairəsi boşluğu:

Aşağıdakı qəbul meyarlarını və bu sınaq hallarını nəzərə alaraq. İzləmə cədvəli hazırlayın: hər bir meyar -> ona cavab verən test(lər). Heç bir testi olmayan kriteriyalar “ƏHAT BAŞLIĞI” adlanır və heç bir kriteriyaya qoşulmayan testlər “LƏZƏTLİ?” adlanır. İşarə: Meyarlar: [...] / Testlər: [...]

2) Risk qiymətləndirməsi:

Ehtimal (sınma ehtimalı) və təsir (sındırıldıqda zərər) baltaları üzrə bu xüsusiyyətlərin/modulların siyahısını 1-5 qiymətləndirin. Risk = ehtimal × təsir. Cədvəldə çeşidləyin və hər bir yüksək riskli sahə üçün tövsiyə olunan sınaq növünü (vahid/API/UI/kəşfiyyat/təhlükəsizlik) təyin edin. Siyahı: [...]

3) Əhatə dairəsinin təfsiri:

Aşağıdakı əhatə hesabatı verilmişdir (sətir %, filial %). Mənə bunu deyin:- Bu rəqəmlər nəyi sübut etmir?- Yüksək sıra əhatəsinə baxmayaraq risk altında ola biləcək sahələr hansılardır?- Əhatənin görmədiyi boşluqlar üçün hansı əlavə testi tövsiyə edərdiniz (tələb, məlumat birləşməsi, təhlükəsizlik)? Hesabat: [yapışdırın]

4) Məhdud vaxt planı:

Yayımına [X saat] qalıb. Aşağıdakı risk sıralaması və əhatə boşluqları verilmişdir. Bu dövrdə maksimum riski azaldacaq sınaq planı prioritet sırasına görə hazırlanır. Nəyi şüurlu şəkildə sınamamaq lazım olduğunu və bunun üçün qəbul edilmiş riski açıq şəkildə bildirin. Məlumat: [...]

üç mini qutu

1-ci hal - 100% əhatə, sıfır etibar. Bir komanda 94% xətt əhatəsi ilə öyünür. "Əhatə dairəsinin şərhi" təhlili göstərdi ki, testlərin əksəriyyəti təsdiqsiz olub, yəni onlar xətləri keçiblər, lakin heç nəyi yoxlamayıblar. Faktiki qoruyucu əhatə daha aşağı idi. Komanda rəqəmlərə deyil, mutasiya testlərinə diqqət yetirdi (vahid 10); faktiki səhv tutma dərəcəsi iki dəfə artdı.

Case 2 — Risk xəritəsi düzəldilmiş prioritet. Bir komanda sınaq səylərinin 40%-ni nadir hallarda istifadə olunan hesabat ekranına xərcləyirdi və ödəniş axınını atlayırdı, çünki o, “sadəcə işləyir”. AI risk qiymətləndirməsi bu balanssızlığı göstərdi. Əmək yenidən bölüşdürüldü; İki həftə sonra ödəniş axınında yüksək təsirli səhv aşkar edildi və canlı yayımdan əvvəl bağlandı.

3-cü hal - Şüurlu şəkildə əhatə dairəsindən kənarda. Buraxılışdan 4 saat sonra komanda “məhdud cədvəl” şablonu ilə nəyi sınamağa və nəyi şüurlu şəkildə atmağa qərar verdi. İki yüksək riskli axın dərin sınaqdan keçirildi; aşağı riskli üstünlük ekranı “qəbul edilmiş risk” kimi sənədləşdirildi və atlandı. Qərar şəffaf və əsaslandırılmışdır; Versiya təhlükəsiz şəkildə çıxdı.

Ümumi səhvlər

  • Keyfiyyət üçün səhv əhatə faizi. Yüksək sıra əhatə dairəsini "sınaq edilmiş" təminat kimi oxumaq.
  • Sadəcə kodun əhatə dairəsinə baxırıq. Atlama tələblərinin əhatə dairəsi (hər bir qəbul meyarının sınaqdan keçirilməsi).
  • Risk nəzərə alınmadan bərabər şəkildə sınaqdan keçirilməsi. İşçi qüvvəsini aşağı riskli ərazilərə ayırmaq və kritik axınlara məhəl qoymamaq.
  • Ətrafdan gizlənmək. Kifayət qədər vaxt olmadığı zaman sınaqdan keçirilməyənləri sənədləşdirməmək; Buraxılışdan sonrakı sürprizlər.
  • Süni intellektin risk xalını sualsız qəbul etmək. AI məhsulun kontekstini tam bilmir; Hesabları ekspert gözü ilə tənzimləyin.

Xülasə

Test əhatə dairəsi və riskə əsaslanan test məhdud səyləri doğru yerə yönəltmək üçün iki vasitədir. Əhatə ölçüləri (xətt, budaq, vəziyyət, yol) toxunulanları göstərir, lakin onun düzgün davrandığını sübut etmir; Sahə xəritədir, güvən deyil. Kod əhatə dairəsinin yanında tələblərin əhatə dairəsini qoyun. Risk = ehtimal × təsir və ən çox riskə birbaşa səy düsturu ilə xüsusiyyətləri qiymətləndirin. AI boşluqları görünən edir, riskləri qiymətləndirir, məhdud vaxtı planlaşdırır; lakin son prioritet və “şüurlu şəkildə imtina” qərarı biznes kontekstini bilən ekspertdir.

Tətbiq tapşırığı

Öz layihənizdən modul seçin. Süni intellekt ilə “tələblərin əhatə dairəsi boşluğu” şablonunu işə salın və hansı qəbul meyarlarının sınaqdan keçirilmədiyini öyrənin. Sonra modulun alt xüsusiyyətlərini “risk qiymətləndirməsi” ilə ehtimal × təsir oxları üzrə sıralayın. Sahib olduğunuz (fərziyyə) 3 saatlıq test vaxtını "məhdud cədvəl"lə bölüşdürün; Şüurlu olaraq sınamayacağınız şeyi və qəbul edilmiş riski yazın. Tapdığınız ən yüksək riskli əhatə dairəsini bağlayacaq konkret bir test əlavə edin.

yoxlama siyahısı

  • [ ] Mən keyfiyyət deyil, əhatə dairəsini xəritə kimi oxuyuram.
  • [ ] Kod əhatə dairəsi ilə yanaşı, tələbin əhatə dairəsini də sildim.
  • [ ] Mən xüsusiyyətləri ehtimal × təsirə görə qiymətləndirdim və riskə görə sıraladım.
  • [ ] Mən sınaq səylərini ən yüksək riskə yönləndirdim.
  • [ ] Mən şüurlu şəkildə sınaqdan keçirilməmiş və riski qəbul etməmiş əraziləri sənədləşdirmişəm.
  • [ ] Mən məhsul konteksti əsasında AI-nin risk ballarını nəzərdən keçirdim.