Proqram təminatının verifikasiyası
Proqram təminatının verifikasiyası proqram mühəndisliyinin nizam-intizamıdır və onun məqsədi proqramın bütün gözlənilən tələbləri təmin etməsindən əmin olmaqdır.
Proqram təminatının verifikasiyasına iki əsas yanaşma forması vardır:
- Dinamik verifikasiya, belə ki o test və ya təcrübə olaraq tanınır. Bu verifikasiya nöqsanların tapılması üçün yaxşıdır.
- Statik verifikasiya, belə ki o analiz etmə olaraq tanınır. Statik test icra olmadan bir sistemin və ya komponentin araşdırılmasıdır.
Dinamik verifikasiya (Test, təcrübə)
Dinamik verifikasiya proqramın həyata keçirilməsi (gedişatı) zamanı sərgilənir və dinamik olaraq onun davranış tərzi yoxlanılır və o bir qayda olaraq Test fazası olaraq bilinir.Verifikasiya baxış prosesidir. Testlərin çərçivəsindən aslı olaraq biz onu 3 növ kateqoriyaya bölə bilərik:
- Kiçik testlər: tək funksiyanı və ya klası yoxlayan test
- Böyük testlər: klaslar qrupunu yoxlayan test. Buna misal olaraq aşağıdakıları göstərmək olar
- Modul testi (tək modul)
- İnteqrasiya testi (birdən çox)
- sistem testi (bütün sistem)
- Qəbul testi: bir proqramın qəbul meyarlarını yoxlamaq üçün müəyyən edilmiş formal test
- Funksional test
- Qeyri-funksional test
Proqram təminatı verifikasiyası çox zaman proqram təminatı validasiya ilə qarışıq salınır. Bunlar arasındakı fərq:
- Proqram təminatının verifikasiyası soruşur ki, “Biz proqramı doğrumu qururuq?” bu o deməkdir ki, sistem öz spesifikasiyasına uyğun gəlirmi.
- Proqram təminatının validasiyası isə soruşur ki, “Biz doğrumu proqram qururuq?” bu o deməkdir ki, proqram istifadəçinin həqiqi istəklərini həyata keçirə bilirmi.
Proqram təminatı verifikasiyasının məqsədi fəaliyyət zamanı ortaya çıxan səhvləri tapmaqdır, yəni yoxlayır ki fəaliyyətin məhsulu fəaliyyətin başlanğıcında olduğu kimi doğrudurmu.
Statik verifikasiya (Analiz)
Statik verifikasiya proqram işə salınmazdan əvvəl kodu diqqətlə yoxlayaraq tələblərin yerinə yetirilməsinə nəzarət edən bir yoxlama prosesidir. Misal üçün:
- Kodu doğrulama verifikasiyası
- Səhv tətbiq etmələri ortaya çıxarmaq
- Proqram ölçülərini hesablama
- Formal yoxlama