Тестирање Софтвера

Водич за тестирање црне кутије за почетнике

30. октобар 2021

Блацк Бок Тестинг је једна од метода тестирања софтвера која проверава функционалност апликације на основу доступних спецификација.

У основи, у овој врсти тестирања интерна структура/дизајн/ имплементација предмета који се тестира није позната испитивачу. Тестирање црне кутије је такође познато као тестирање засновано на спецификацијама, тестирање понашања, тестирање непрозирне кутије, тестирање затворене кутије и тестирање очи у очи. Овај метод тестирања је применљив на сваки ниво тестирања софтвера.

Тестирање црне кутије

Преглед садржаја

Пример:

Узмимо пример екрана за пријаву на апликацију. Екран за пријаву има два поља, корисничко име и лозинку. Пошто се ради о тестирању црне кутије, неће узети у обзир спецификације кода, па ће тестирати корисничко име и лозинку за пријаву на налог.

Кораци за покретање тестирања црне кутије

  1. Разумети спецификације захтева апликације
    То се може урадити уз помоћ докумената СРС
  2. Позовите за процену важећих инпута и тест сценарија
  3. Припремите тест случајева
  4. Извршите тест случајеве да бисте генерисали излаз
  5. Кораци који имају тенденцију да не успеју се обележавају и шаљу развојном тиму да их поправи
  6. Поново тестирајте систем да бисте се уверили да дефект поправка ради добро и нема више дефеката

Врсте тестирања црне кутије

Постоје три типа тестирања црне кутије и они су наведени у наставку:

    Функционално тестирање
    Тестирање црне кутије тестира специфичне функције софтвера током процеса тестирања. Функционално тестирање се фокусира на најкритичније аспекте софтвера и на интеграцију између кључних компоненти.
  • Нефункционално Т естинг
    Тестирање црне кутије се не користи само за проверу функција и функционалности, већ може ићи даље од тога и проверити додатне аспекте софтвера.
    Нефункционални тест проверава да ли софтвер може да изврши одређену радњу или не, уместо да проверава како изводи ту радњу.
  • Регресија тестирање
    Тестирање црне кутије помаже у провери да ли нова верзија софтвера показује било какве недостатке од једне до друге верзије. Регресионо тестирање се може применити и на функционалне и на нефункционалне аспекте софтвера.

АЛАТИ ЗА ТЕСТИРАЊЕ БЛАЦК БОКС-а

За функционално и регресионо тестирање

    УФТ – то је производ компаније Мицро Фоцус (раније ХП) и означава Унифиед Фунцтионал Тест . Помаже тестеру да изврши аутоматизовани тест без праћења када се развој скрипте заврши. Упоређује резултате и извештаје у резимеу. Селен – то је пакет за тестирање аутоматизације корисничког интерфејса отвореног кода. Може се лако применити на платформама као што су Мацинтосх, Виндовс, Линук и још много тога.

За нефункционално тестирање

    ЛоадРуннер – је производ компаније МицроФоцус. Користи се за тестирање апликација и мерење понашања система. Такође анализира перформансе кључних компоненти апликације. ЈМетер – је алат за тестирање који се користи за анализу и мерење перформанси апликација. Има пријатељски ГУИ и независан је од платформе. Такође се може интегрисати са Селеном.

Нивои применљиви на тестирање црне кутије

Тестирање црне кутије је применљиво на следеће нивое

    Интеграционо тестирање : То је ниво тестирања софтвера где се појединачне јединице комбинују и тестирају као група. Сврха је да се открију кварови између интегрисаних јединица. То је други ниво тестирања који се обавља након тестирања јединице и пре тестирања система.
    Тестирање система : Ниво тестирања софтвера где се тестира интегрисани софтвер. Сврха је да се процени усклађеност система. То је трећи ниво тестирања који се обавља након интеграционог тестирања и пре тестирања прихватања.
    Прихватање тестирање : Ниво тестирања софтвера где се систем тестира на прихватљивост. Главна сврха је да процени усклађеност система са пословним захтевима. Тестирање прихватања је последњи ниво тестирања софтвера који се обавља након тестирања система.

Технике тестирања црне кутије

Ово су технике тестирања црне кутије:

    Анализа граничних вредности Еквивалентно партиционисање Тестирање табеле одлука Тестирање транзиције стања Еррор Гуессинг

Хајде да их детаљно разговарамо.

    Анализа граничних вредности:Ова техника идентификује недостатке улазних вредности уместо да се фокусира на опсег улазних вредности. Такође помаже у суочавању са екстремним излазним вредностима. Такође је од помоћи док изводите еквивалентну партицију.
Тестирање црне кутије
ПросЦонс
Добро ради са променљивим
Мање скупо у креирању тестова
Може се користити на свим нивоима тестирања
Генерише велики број тест случајева
Не може се користити за логичке променљиве
Не може се користити за логичке варијабле
Није корисно за јаке језике
    Еквивалентно партиционисање: Ова техника се углавном користи за писање тест случајева. При томе делите тестне случајеве на различите делове за које се сматра да су исти. Може се применити на све нивое тестирања као што су јединица, интеграција, систем. На пример: Ако тестирате поље за унос који прихвата бројеве од 1 до 50, онда нема сврхе писати 100 тест случајева за свих 100 важећих улазних бројева. Дакле, коришћењем методе еквивалентног партиционисања, тест случајеви се могу поделити у четири скупа улазних података који се називају класе.
Тестирање црне кутије

У горњем примеру, можете поделити тест случајеве у четири класе еквиваленције неких важећих и неважећих улаза.

ПросЦонс
Обезбеђује комплетно тестирање
Омогућава велике домене улаза и излаза
Избегава вишак тестова
Процесно оријентисан
Не може да обради грешке граничне вредности
Дуготрајан
    Тестирање табеле одлука: Када морате да тестирате понашање система за различите комбинације онда је техника тестирања софтвера која се користи тестирање табеле одлука. То је систематски приступ где се различити улази и понашање система региструју у табеларном облику. Ово се такође назива табела узрок-последица.
    На пример: испод је дијаграм тока екрана за пријаву на посао.
Тестирање црне кутије
  • Први корак је именовање свих грана и листова.
  • а,б,ц су гране, док су 1,2,3 листови.
Тестирање црне кутије
ПросЦонс
Алати пружају потпуну покривеност тест случајева
Ради итеративно
Има потпуност
Ако се број улаза повећа, табела се испостави да је мало компликованија
Тестирање транзиције стања

Тестирање прелаза стања је техника тестирања црне кутије где су тестови дизајнирани да изврше важеће и неважеће прелазе стања.

Тестирање црне кутије

Дијаграм транзиције стања

Показује како се систем мења на одређеним улазима. Има четири главне компоненте:

  • Држава
  • Прелаз
  • Догађај
  • поступак

Транзиционе државе

    Промени режим:Када је активиран, режим приказа се помера од времена до датума.Временски склоп:Када је активиран, режим приказа се мења с времена на времеДатум постављен:Када је активиран, режим приказа се мења од промене датума до датумаРесетовати:Када је режим приказа време или датум, поставља их да мењају време или датум
ПросЦонс
Омогућава тестерима да покрију неважећа стања
Даје исправан приказ понашања система
Покрива све услове
Не може се изводити свуда
Није поуздано

Грешка погађања: Ова врста технике тестирања може се научити само ако сте искусни. У овој техници, аналитичар користи своје искуство да погоди проблеме унутар апликације.

На пример: Ако аналитичар пронађе грешке на страници за пријаву, онда ће тестери написати тест случајеве фокусирајући се на страницу за пријаву.

ПросЦонс
Комплиментира друге приступе тестирању
То чини тестирање много ефикаснијим и ефикаснијим
Брзо открива недостатке
За једно је потребно искуство у тестирању
Ослања се на интуицију тестера

Предности и недостаци тестирања црне кутије

ПросЦонс
Ефикасан када се користи на великим системима.
Тестери могу бити из нетехничке позадине.
Тест се ради из угла корисника.
Тестирање вам помаже да идентификујете контрадикције.
Тестни случајеви се могу дизајнирати када се изложе функционалне спецификације.
Тестирање је уравнотежено и без предрасуда.
Тестне случајеве није лако дизајнирати без функционалних спецификација.
Велике су шансе да имате неидентификоване путање током процеса тестирања.
Писање тест случајева је споро и тешко.

Шта је боље тестирање црне кутије или тестирање беле кутије?

За то морате да знате нешто о тестирању беле кутије

Тестирање беле кутије

То је тестирање софтвера метода у којој је структура/дизајн/имплементација ставке позната испитивачу. Тестер бира улазе и одређује одговарајуће излазе.

Други називи за тестирање беле кутије су испитивање стаклених кутија, испитивање прозирне кутије, испитивање структуре.

Тестирање беле кутије

На пример:

|_+_|
  • Прво, доделите вредност А и Б. претпоставимо А=60 и Б=50.
  • Друго, сада је Ц додељена вредност А+Б, А=60, Б=50, дакле Ц=110.
  • Треће, проверићемо да ли је Ц>100 иу овом случају је тачно, па ћемо добити резултат ДА ЈЕ УРАЂЕНО.

Кораци за покретање тестирања беле кутије

  • Идентификујте функцију коју треба тестирати.
  • Исцртајте све путање у дијаграму тока.
  • Идентификујте све могуће путање за дијаграм тока.
  • Напишите тест случајеве за сваки графикон.
  • Извршите, исперите и поновите.

Технике тестирања беле кутије

    Покривеност изјаве: Обезбеђује да ли се свака линија извршава најмање једном.Покривеност филијала: Обезбеђује да се свака грана из сваке тачке одлучивања изврши.Покривеност путање: Обезбеђује да се сваки пут пређе бар једном.

Врсте тестирања беле кутије

Постоје три типа тестирања беле кутије и они су наведени у наставку:

    Јединично тестирање Вхите Бок Пенетрација тестирање Тестирање за цурење меморије Тестирање мутације беле кутије

Алати за тестирање беле кутије

    ЈсуНит.нет: То је ЈаваСцрипт алатка за тестирање која се користи за тестирање беле кутије. То је софтвер отвореног кода, што значи да се може користити и у комерцијалне сврхе.
    ЦппУнит: ЦппУнит је део ЈсуНита. Алат може дати излаз у облику обичног текста или у КСМЛ формату, али у потпуности зависи од кодера како то жели.
    Вера код: То је власнички софтвер и користи се за тестирање неких моћних језика као што је . НЕТ , Ц++, ЈАВА и још много тога.

Предности и недостаци тестирања беле кутије

ПросЦонс
Обавестите тестера када се тестирање заврши.
Технике је релативно лако аутоматизовати.
Оптимизација постаје лака за програмера.
Мало је лако уклонити део кода који није потребан за функционалност програма.
Релативно је скупљи.
Није могуће тестирати сваки услов кода.
Не могу да пронађем недостајућу функционалност програма.

Разлика између тестирања беле кутије и црне кутије

ОсноваТестирање црне кутијеТестирање беле кутије
ДЕФИНИЦИЈА Користи се за тестирање софтвера без познавања унутрашње структуре.Интерна структура софтвера је позната тестеру.
ДРУГА ИМЕНА Тестирање засновано на спецификацијама, тестирање понашања, тестирање непрозирне кутије, тестирање затворене кутије и тестирање очи у очи.испитивање стаклене кутије, испитивање прозирне кутије, испитивање конструкција.
БАЗА ИСПИТИВАЊА Тестирање се заснива на спољним очекивањима.Интерни рад је познат кодеру.
УПОТРЕБА Погодан за висок ниво тестирања.Погодан за низак ниво тестирања.
ПРОГРАМСКИ ЈЕЗИК Нема потребе за програмским језиком.Програмски језик је обавезан.
ИМПЛЕМЕНТАЦИЈА ЗНАЊА Није потребно у тестирању црне кутије.Потребно је потпуно разумевање имплементације.
АУТОМАТИЗАЦИЈА Тешко је аутоматизовати.Лако се аутоматизује.
ОБЈЕКТИВАН Циљ је да се провери функционалност системаЦиљ је да се провери квалитет кода.
ТЕСТЕД БИ Изводи тестер, крајњи корисник.Обично раде тестер и програмери.
ГРАНУЛАРНОСТ Зрнатост је ниска.Зрнатост је висока.
МЕТОДА ИСПИТИВАЊА На основу метода покушаја и грешака.Унутрашње границе се могу тестирати.
ВРЕМЕ Мање одузима време.Више времена одузима.
КОД ПРИСТУП Приступ коду није потребанПотребан је приступ коду.

ЗАКЉУЧАК

И тестирање црне кутије и тестирање беле кутије су неопходне и допуњују једно друго. Тестирање беле кутије обезбеђује функционалност кода и висок ниво тестирања, док тестирање црне кутије побољшава искуство крајњег корисника. Као тестер треба да имате добро знање о тестирању црне кутије како бисте могли да урадите исправно тестирање.