Məqalələr

Proqram Testi nədir, proqram təminatını yoxlamaq nə deməkdir

Proqram təminatının yoxlanılması kompüterlər üçün yazılmış proqram təminatının tamlığını və keyfiyyətini araşdırmaq, qiymətləndirmək və müəyyən etmək üçün proseslər toplusudur. Proqram məhsulunun normativ, biznes, texniki, funksional və istifadəçi tələblərinə uyğunluğunu təmin edir.

Proqram testi və ya proqram testi tətbiq testi kimi də tanınır.

Proqram təminatının sınaqdan keçirilməsi, ilk növbədə, bir-biri ilə əlaqəli bir neçə prosesdən ibarət böyük bir prosesdir. Proqram təminatının sınaqdan keçirilməsinin əsas məqsədi proqram təminatının tamlığı ilə yanaşı onun fundamental tələbləri baxımından tamlığını ölçməkdir. Proqram təminatının sınağı müxtəlif sınaq prosesləri vasitəsilə proqram təminatının yoxlanılmasını və sınaqdan keçirilməsini əhatə edir. Bu proseslərin məqsədləri aşağıdakıları əhatə edə bilər:

Funksional/biznes tələblərinə uyğun olaraq proqram təminatının tamlığının yoxlanılması
Səhvlərin/texniki xətaların müəyyən edilməsi və proqram təminatının səhvsiz olmasını təmin etmək
İstifadənin, performansın, təhlükəsizliyin, lokalizasiyanın, uyğunluğun və quraşdırılmasının qiymətləndirilməsi
Test edilmiş proqram tam və ya istifadəyə yararlı olmaq üçün bütün testlərdən keçməlidir. Müxtəlif növ proqram test üsullarından bəzilərinə ağ qutu sınağı, qara qutu sınağı və boz qutu sınağı daxildir. Bundan əlavə, proqram bütövlükdə, komponentlərdə/vahidlərdə və ya canlı sistem daxilində sınaqdan keçirilə bilər.

Qara qutu sınağı

Qara Qutu Testi, sistemin daxili işlərinə münasibətdə proqram təminatının funksionallığını təhlil etməyə yönəlmiş bir proqram test üsuludur. Qara Qutu Testi müştəri tələblərini, spesifikasiyaları və yüksək səviyyəli dizayn strategiyalarını təhlil etmək üçün bir üsul kimi hazırlanmışdır.

Qara Qutu Testi test cihazı etibarlı və etibarsız kod icrası və daxiletmə şərtləri toplusunu seçir və etibarlı çıxış cavablarını yoxlayır.

Qara qutu testi funksional test və ya qapalı qutu testi kimi də tanınır.

Axtarış motoru qara qutu sınağına məruz qalan tətbiqin sadə nümunəsidir. Axtarış motorunun istifadəçisi veb brauzerin axtarış çubuğuna mətn daxil edir. Axtarış motoru daha sonra istifadəçi məlumatlarının nəticələrini (çıxışını) tapır və götürür.

Qara Qutu Testinin üstünlüklərinə aşağıdakılar daxildir:

  • Sadəlik: Yüksək səviyyəli layihələrin və mürəkkəb tətbiqlərin sınaqdan keçirilməsini asanlaşdırır
  • Resurslara qənaət edin: Testçilər proqramın funksionallığına diqqət yetirirlər.
  • Test nümunələri: Test işlərinin sürətli inkişafını asanlaşdırmaq üçün proqramın funksionallığına diqqət yetirin.
  • Çeviklik təmin edir: heç bir xüsusi proqramlaşdırma biliyi tələb olunmur.

Qara Qutu Testinin də aşağıdakı kimi çatışmazlıqları var:

  • Test işi/skript dizaynı və texniki xidmət çətin ola bilər, çünki Qara Qutu Test alətləri məlum girişlərdən asılıdır.
  • Qrafik istifadəçi interfeysi (GUI) ilə qarşılıqlı əlaqə test skriptlərini korlaya bilər.
  • Testlər yalnız tətbiqin funksiyalarına aiddir.

Ağ Qutu Testi

Ağ qutu sınağı zamanı kod əvvəlcədən seçilmiş çıxış dəyərlərini təsdiqləmək üçün əvvəlcədən seçilmiş giriş dəyərləri ilə işlədilir. Ağ qutu testi tez-tez stub kodunun (müəyyən funksiyanı əvəz etmək üçün istifadə edilən kod parçası. Köpük uzaq maşındakı prosedur kimi mövcud kodun davranışını simulyasiya edə bilər.) və həmçinin sürücülərin yazılmasını əhatə edir.

Ağ qutu testinin üstünlüklərinə aşağıdakılar daxildir:

  • Test hadisələrinin təkrar istifadəsinə imkan verir və daha çox sabitlik təklif edir
  • Kodun optimallaşdırılmasını asanlaşdırır
  • İnkişafın ilkin mərhələlərində gizli səhvlərin yerlərini tapmağı asanlaşdırır
  • Effektiv tətbiq testini asanlaşdırır
  • Lazımsız kod sətirlərini silin


Dezavantajlara aşağıdakılar daxildir:

  • Daxili strukturu biliyi olan təcrübəli tester tələb olunur
  • Vaxt alır
  • Yüksək xərclər
  • Bit kodunun doğrulanması çətindir.
  • Ağ qutu testinə vahid testi, inteqrasiya testi və reqressiya testi daxildir.

Vahid testi

Vahid Testi Proqram İnkişafı Həyat Dövrünün (SDLC) komponentidir ki, burada hərtərəfli test proseduru fərdi olaraq proqram proqramının ən kiçik hissələrinə istənilən uyğunluq və ya davranış üçün tətbiq edilir.


Vahid testi əksər müəssisə proqram təminatının yaradılması fəaliyyətlərində tətbiq olunan keyfiyyətin ölçülməsi və qiymətləndirilməsi prosedurudur. Ümumiyyətlə, vahid testi proqram kodunun proqram təminatının/tətbiqin/proqramın ümumi məqsədinə nə dərəcədə uyğun olduğunu və onun uyğunluğunun digər kiçik vahidlərə necə təsir etdiyini qiymətləndirir. Vahid testləri əl ilə - bir və ya daha çox tərtibatçı tərəfindən və ya avtomatlaşdırılmış proqram həlli vasitəsilə edilə bilər.

Test zamanı hər bir bölmə əsas proqramdan və ya interfeysdən təcrid olunur. Vahid testləri adətən inkişafdan sonra və yerləşdirmədən əvvəl həyata keçirilir, beləliklə inteqrasiya və problemlərin erkən aşkarlanması asanlaşır. Vahidin ölçüsü və ya əhatə dairəsi proqramlaşdırma dilindən, proqram təminatından və test məqsədlərindən asılı olaraq dəyişir.

Funksional test

Funksional test proqram təminatının bütün tələblərə uyğunluğunu təmin etmək üçün sınaqdan keçirildiyi proqram təminatının hazırlanmasında istifadə edilən sınaq prosesidir. Bu, proqram təminatının funksional tələblərində göstərilən bütün tələb olunan funksiyalara malik olmasını yoxlamaq üçün bir üsuldur.


Funksional test, əsasən, bir proqram parçasının son istifadəçi və ya biznes tərəfindən tələb olunan eyni nəticəni təmin etdiyini yoxlamaq üçün istifadə olunur. Tipik olaraq, funksional test hər bir proqram funksiyasının biznes tələbləri ilə qiymətləndirilməsini və müqayisəsini əhatə edir. Proqram təminatı ona bəzi əlaqəli daxiletmələr verməklə sınaqdan keçirilir ki, çıxış onun əsas tələblərə necə uyğun gəldiyini, onlarla əlaqəli olduğunu və ya onlardan fərqli olduğunu görmək üçün qiymətləndirilə bilsin. Bundan əlavə, funksional testlər həmçinin proqram təminatının yararlılığını yoxlayır, məsələn, naviqasiya funksiyalarının tələb olunduğu kimi işlədiyini yoxlayır.

İnnovasiya bülleteni
Yeniliklərlə bağlı ən vacib xəbərləri qaçırmayın. Onları e-poçtla almaq üçün qeydiyyatdan keçin.

Reqressiya testi

Reqressiya testi yeni problemlərin proqram dəyişikliklərinin nəticəsi olub-olmadığını müəyyən etmək üçün istifadə edilən proqram testinin bir növüdür.

Dəyişikliyi tətbiq etməzdən əvvəl proqram sınaqdan keçirilir. Dəyişiklik tətbiq edildikdən sonra proqram dəyişikliyin yeni səhvlər və ya problemlər yaradıb-yaratmadığını və ya faktiki dəyişikliyin nəzərdə tutulmuş məqsədə xidmət edib-etmədiyini aşkar etmək üçün seçilmiş sahələrdə yenidən sınaqdan keçirilir.


Reqressiya testi böyük proqram təminatı tətbiqləri üçün vacibdir, çünki problemin bir hissəsinin dəyişdirilməsinin tətbiqin fərqli hissəsi üçün yeni problem yaradıb-yaratmadığını bilmək çox vaxt çətindir. Məsələn, bank müraciəti kredit formasına edilən dəyişiklik aylıq əməliyyat hesabatının uğursuzluğu ilə nəticələnə bilər. Əksər hallarda problemlər bir-biri ilə əlaqəsiz görünə bilər, lakin əslində proqram tərtibatçıları arasında məyusluğun səbəbi ola bilər.

Reqressiya testini tələb edən digər vəziyyətlərə müəyyən dəyişikliklərin müəyyən edilmiş məqsədə nail olub-olmadığını aşkar etmək və ya problemsiz bir müddətdən sonra yenidən üzə çıxan problemlərlə bağlı yeni təhlükələrin yoxlanılması daxildir.

Müasir reqressiya testi, ilk növbədə, mövcud proqram təminatının anlıq görüntülərini çəkən və sonra müəyyən dəyişiklik tətbiq edildikdən sonra müqayisə edilən xüsusi kommersiya test alətləri vasitəsilə idarə olunur. İnsan sınayıcılarının avtomatlaşdırılmış proqram təminatı testçiləri ilə eyni tapşırıqları səmərəli şəkildə yerinə yetirməsi demək olar ki, mümkün deyil. Bu, xüsusilə banklar, xəstəxanalar, istehsal şirkətləri və böyük pərakəndə satış şirkətləri kimi böyük İT mühitlərindəki iri və mürəkkəb proqram təminatı tətbiqləri üçün doğrudur.

Stress testi

Stress testi, ağır şəbəkə trafiki, prosesin yüklənməsi, sürətin aşılması, sürət həddinin aşılması və resursların pik istifadə tələbləri nəticəsində baş verə bilən ekstremal və əlverişsiz şəraitdə onun performansının qənaətbəxş olub-olmadığını müəyyən etmək üçün proqram və ya aparat vasitələrinin sınaqdan keçirilməsinə aiddir.

Əksər sistemlər normal iş şəraiti nəzərə alınmaqla hazırlanmışdır. Buna görə də, həddi aşsa belə, sistem inkişaf zamanı stress testindən keçirsə, səhvlər əhəmiyyətsizdir.


Stress testi aşağıdakı kontekstlərdə istifadə olunur:

  • Proqram təminatı: Stress testi proqram təminatının qeyri-kafi resurslar səbəbindən qəzaya uğramamasını təmin etmək üçün son dərəcə ağır yüklər altında mövcudluğu və səhvlərin idarə edilməsini vurğulayır. Proqram təminatının stress testi, hətta verilənlər bazası yüklənmədikdə belə, sınaq zamanı çox gərgin olan əməliyyatları dayandırmaq üçün müəyyən edilmiş əməliyyatlara diqqət yetirir. Stress test prosesi sistemdəki ən zəif əlaqəni tapmaq üçün eyni vaxtda işləyən istifadəçiləri normal sistem səviyyələrindən kənara yükləyir.
  • Avadanlıq: Stress testləri normal hesablama mühitlərində sabitliyi təmin edir.
  • Vebsaytlar: Stress testləri saytın istənilən funksionallığının sərhədlərini müəyyən edir.
  • CPU: Həddindən artıq gərginlik, zəif gərginlik, aşağı bloklama və overlok kimi dəyişikliklər, sistemin çökmələrini və ya donmalarını yoxlamaq üçün CPU-intensiv proqramı işlədərək ağır yükləri idarə edə biləcəyini müəyyən etmək üçün yoxlanılır. CPU stress testi işgəncə testi kimi də tanınır.

Avtomatik Testlər

Avtomatlaşdırılmış test (proqram testinin avtomatlaşdırılması) testləri avtomatik həyata keçirən və sonra faktiki test nəticələrini gözlənilən nəticələrlə müqayisə edən xüsusi proqram vasitələrindən istifadə edən kod testinə yanaşmadır.

Avtomatlaşdırılmış test Davamlı Çatdırılma (CD), Davamlı İnteqrasiya (CI), DevOps və DevSecOps-da mühüm rol oynayır. Avtomatlaşdırılmış testin əsas üstünlüklərinə aşağıdakılar daxildir:

  • Avtomatlaşdırılmış sınaq sınaq prosesini daha səmərəli etməklə tərtibatçıların vaxtına və puluna qənaət edir.
  • Avtomatlaşdırılmış testlər səhvləri manuel testlərdən daha səmərəli şəkildə müəyyən edir.
  • Testlər avtomatlaşdırıldıqda, bir neçə test aləti paralel olaraq həyata keçirilə bilər.


Proqram təminatının işlənib hazırlanmasında, proqramın qurma xətalarından azad olmasını və nəzərdə tutulan funksiyanı yerinə yetirməsini təmin etmək üçün qurma prosesi zamanı avtomatlaşdırılmış testlərin aparılması xüsusilə faydalıdır.

Proqram təminatının sınaqdan keçirilməsini avtomatlaşdırmaq üçün vaxt ayırmaq, kod dəyişikliyinin mövcud funksionallığı pozması riskini azaltmaqla, nəticədə tərtibatçıların vaxtına qənaət edəcək.


Test inkişaf prosesində çox vacib bir mərhələdir. Bütün səhvlərin düzəldilməsini və məhsulun, proqram təminatının və ya aparatın nəzərdə tutulduğu kimi və ya hədəf performansına mümkün qədər yaxın işləməsini təmin edir. İstifadəçi ehtiyaclarını vaxtında və minimum qüsurlarla təmin edən səmərəli proqram təminatını ardıcıl şəkildə təqdim etmək üçün əllə sınaqdan çox avtomatlaşdırılmış sınaq vacibdir.

Proqram təminatının hazırlanmasında istifadə olunan avtomatlaşdırılmış testlərin növləri
  • Vahid sınağı: Digər vahidlərlə inteqrasiyasını yoxlamadan əvvəl tək bir aşağı səviyyəli proqramı təcrid olunmuş mühitdə sınaqdan keçirin.
  • İnteqrasiya Testi: Vahid testləri və digər tətbiq komponentləri birləşmiş obyekt kimi sınaqdan keçirilir.
  • Funksional testlər: Proqram sisteminin lazım olduğu kimi davranıb-rəftar etmədiyini yoxlayın.
  • Performans Testi: Gözləniləndən daha yüksək yüklər altında tətbiqin möhkəmliyini qiymətləndirin. Performans testləri tez-tez darboğazları aşkar edir.
  • Duman Testi: Quraşdırmanın əlavə sınaqlara davam etmək üçün kifayət qədər sabit olub olmadığını müəyyən edir.
  • Brauzer Testi: Proqram komponentlərinin müxtəlif brauzerlərə uyğun olduğunu yoxlayın.

Manual test hələ də inkişaf zamanı müxtəlif vaxtlarda aparılır, lakin bu, əsasən tərtibatçılar və ya aparat mühəndisləri tərəfindən etdikləri dəyişikliklərin istənilən effekti verib-vermədiyini tez bir zamanda görmək üçün edilir.

Ercole Palmeri

İnnovasiya bülleteni
Yeniliklərlə bağlı ən vacib xəbərləri qaçırmayın. Onları e-poçtla almaq üçün qeydiyyatdan keçin.

Articoli recenti

Veeam müdafiədən tutmuş cavab və bərpaya qədər ransomware üçün ən əhatəli dəstəyi təqdim edir

Coveware by Veeam kiber qəsb hallarına cavab xidmətləri göstərməyə davam edəcək. Coveware məhkəmə və remediasiya imkanları təklif edəcək...

23 Aprel 2024

Yaşıl və Rəqəmsal İnqilab: Proqnozlaşdırılan Baxım Neft və Qaz Sənayesini necə çevirir?

Proqnozlaşdırılan texniki xidmət zavodun idarə edilməsinə innovativ və proaktiv yanaşma ilə neft və qaz sektorunda inqilab edir.…

22 Aprel 2024

Böyük Britaniyanın antiinhisar tənzimləyicisi GenAI üzərində BigTech həyəcanını qaldırır

Böyük Britaniyanın CMA süni intellekt bazarında Big Tech-in davranışı ilə bağlı xəbərdarlıq edib. Orada…

18 Aprel 2024

Casa Green: İtaliyada davamlı gələcək üçün enerji inqilabı

Avropa İttifaqı tərəfindən binaların enerji səmərəliliyini artırmaq üçün tərtib edilən "Yaşıl Evlər" Fərmanı qanunvericilik prosesini yekunlaşdırdı ...

18 Aprel 2024