Цомпарисон Цхарт
Основа за поређење | Тестирање јединица | Тестирање система |
---|---|---|
Басиц | Фокусира се на функционалну верификацију компоненти. | Валидира систем након што је интегрисан у већи систем. |
У наставку | Спецификација модула | Спецификација захтева |
Видљивост детаља кода | Провидед | Није обезбеђено |
Скеле | Потребан | Нема потребе за драјверима |
Истицање | О понашању појединачног модула. | Функционалности система. |
Дефиниција тестирања јединица
Јединично тестирање је техника доказивања најмањих јединица у софтверу. Ове најситније компоненте софтвера се тестирају изоловано. Компонента управљачког програма одговорна је за генерисање позива метода за компоненте које се тестирају. Компонента која користи метод је имитирана као стуб . Ови стубови су почетна замена за погрешне методе.
Јединични тест је усмјерен тестирањем у бијелој кутији, а кораци у тестирању јединице проводе се за више компоненти истовремено. Наглашава се, тестирање исправног протока података дуж интерфејса модула, јер ако се игноришу други тестови ће постати неизвјесни.
Операције стуб
- Стуб може извршити јасно писану имитацију задатка компоненте.
- Може приказати поруку након извршења компоненте.
Било која од горе наведених операција могла би се извршити одједном. Тестирање јединице је витални дио тестирања софтвера који осигурава бржи развој, отклањање погрешака, дизајн звука, документацију и механизам повратних информација, те додатно смањује укупне трошкове.
Дефиниција тестирања система
Тестирање система у потпуности потврђује понашање система. Проводи различите тестове у прогресији. Међутим, ови тестови имају јасну намеру и проверавају да ли све компоненте система исправно раде на интегрисан начин или не.
У овом тестирању, тест случајеви су дизајнирани у складу са спецификацијом захтева, а за његову шифру се каже да је слична црној кутији. Програмери који имају широко знање и видљивост о структури система обично обављају тестирање система.
Врсте тестирања система:
Постоји неколико облика тестирања система међу којима је неколико њих описано у наставку.
- Тестирање опоравка : Овај тип теста чини да софтвер опада на неколико начина за проверу исправног процеса опоравка.
- Тестирање сигурности: Тестирање сигурности провјерава сигурносни механизам и спрјечава сустав од пенетрације.
- Тестирање стреса : То је техника тестирања у којој су потребни абнормални услови ресурса као што су количина, учесталост и запремина.
- Тестирање перформанси: Тестирање перформанси је усредсређено на перформансе извршног програма у односу на цео систем.
Кључне разлике између тестирања јединице и тестирања система
- Тестирање јединице ради на спецификацији модула. Насупрот томе, тестирање система поштује спецификацију интегрисаног захтева за софтвер као и за хардвер.
- Код тестирања јединице, подаци о коду су видљиви тестеру док то није случај у тестирању система. Разлог за то је да јединствени тестови могу бити изведени од стране програмера модула, али тестирање система је већи задатак у којем су тестер и програмер два различита појединца за обављање различитих операција.
- Тестирање јединице користи технику скеле где генерисани код није део софтвера и чија је једина сврха да изведе тестирање. Напротив, тестирање система не користи технику скеле.
- У јединичном тестирању, нагласак је на једном модулу, док се у системском тестирању узимају у обзир све функционалности система.
Однос између тестирања јединице и тестирања система у контексту стратегије тестирања софтвера:
Према доњем дијаграму, тестирање јединице почиње од центра и фокусира се на сваку од софтверских јединица (компоненти) према имплементацији. Затим долази интеграционо тестирање где се испитују дизајн и конструкција софтверске архитектуре. Када идемо према ван, тестирање за валидацију се сусреће тамо где су захтеви против спецификације захтева валидирани. Тестирање система присутно је у најудаљенијем делу који тестира софтвер и његове друге системске делове као интегрисану компоненту.
Закључак
Тестирање јединице је техника тестирања у којој се тестира најмања јединица програма. С друге стране, тестирање система се ослања на спецификацију дизајна високог нивоа и проверава да ли имплементација система задовољава спецификацију системских захтева или не.