РачунариСофтвер

Методе тестирања софтвера и њихово поређење. Тестирање црно-кутија и тестирање бијелих кутија

софтвер за тестирање (СЗ) идентификовала празнине, недостатке и грешке у коду који се треба позабавити. Такође се може дефинисати као процес оцјене функционалности и исправности софтвера уз помоћ анализе. Основне методе интеграције и тестирања софтверских апликација и осигура квалитет је да тестира карактеристике, дизајн и кодирање, процену поузданости, валидацију и верификацију.

метходс

Главни циљ тестирања софтвера - потврда квалитета софтверског система кроз систематско отклањање грешака апликације под контролисаним условима да се одреди њихова потпуност и тачност, као и откривање скривених грешака.

Методе верификације (тестирање) програми могу се поделити на статичке и динамичке.

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

Динамиц технике су:

  1. Вхите бок тестирање. Ово је детаљно проучавање унутрашње логике и структура програма. Неопходно је познавање изворног кода.
  2. Црна кутија тестирање. Ова техника не захтева никакво знање о унутрасњим пословима апликације. Ми сматрамо само основне аспекте система, који нису везани за или у вези са неколико њеног унутрашњег логичке структуре.
  3. Сива кутија метод. Он комбинује два претходна приступа. Дебуггинг са ограниченим знањем унутрашње функционисања апликације је комбинован са знањем основних аспеката система.

транспарент тестинг

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

Тестирање програме беле кутије има следеће предности:

  • Он омогућава да се открије грешку у скривеном код уклањањем непотребних линија;
  • употреба споредних ефеката;
  • Максимална покривеност се постиже тако што ћете написати тест сценарио.

мане:

  • процесс високих трошкова, захтева скиллед дебуггер;
  • многи путеви и даље неистражена због детаљну проверу свих могућих скривених грешака је веома сложен;
  • неки од закона биће усвојен незапажено.

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

Главни сорте:

1) тестирање контролу протока - структурална стратегије користећи модел протока контролног програма и као фаворизовање једноставније начине да мање сложеније;

2) огранак је дизајниран да проучи дебуггинг сваку опцију (труе или фалсе) сваког контролног оператера, који укључује комбиновани раствор;

3) испитивање главне стазе која омогућава тестер да успостави логично мера комплексност рје пројекат изоловање основни сет извршних стаза;

4) проверу ток података - контролни проток стратегију истраживања од стране коментарима рачунати информације о огласу и користе варијабле програма;

5) циклуса испитивања - у потпуности фокусиран на исправан рад цикличних процеса.

понашања отклањање грешака

Црна кутија тестирање третира софтвера као "црна кутија" - информације о унутрасњим пословима програма се не броје, и проверио само основне аспекте система. У том случају, тестер мора да зна система архитектуре без приступа изворном коду.

Предности оваквог приступа:

  • ефикасност за велики део кода;
  • лакоћа перцепције тестер;
  • усер перспецтиве јасно одвојен од програмера перспектива (програматор и тестер су независни један од другог);
  • брже стварање теста.

софтвер за тестирање црна кутија метод има следеће недостатке:

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

Други називи за ову технологију - понашања, нетранспарентан, функционално испитивање и начин отклањање грешака на затвореној кутији.

Ова категорија може да обухвати следеће технике софтвер за тестирање:

1) еквивалентно до поделе, што може смањити скуп тестних података као улазни софтверски модул подаци се разложити на засебне делове оф;

2) анализа граница вредност фокусира на верификацију граница или екстремних граничних вредности - на минимум, максимум, и типичне вредности грешке;

3) фуззинг - се користи за имплементацију претрагу уношењем грешке или оштећен полуисказхенних података у аутоматском или полу-аутоматском режиму;

4) тачке узрочности - техника заснована на стварању графова и одређивања односа између деловања и његових разлога: идентитет, негацију, логичко ИЛИ и логичан АНД - четири главне ликове, изражавајући однос између узрока и последице;

5) Верификација ортогоналних низова примењује на проблеме са релативно малим унос прелази могућност исцрпна истраживања;

6) тестирање све парове - технику где скуп тестних вредности обухвата све могуће бинарни комбинације сваки пар улазних параметара;

7) отклањање грешака држава транзиција - техника корисна за проверу статуса машине, као и да се крећете кроз ГУИ корисника.

Црна кутија тестирање: Примери

црно-кутија техника заснива се на спецификације, документацију, и описи софтвера интерфејса или система. Осим тога, можете користити моделе (формално или неформално), која представља очекивану понашање софтвера.

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

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

Колико тестови треба да се у циљу провјере све могуће вредности за 4 прозора заставе и једнократне пољу, подесите време у секундама? На први поглед обрачуна је једноставан: 4 поља са два могућа стања - 24 = 16, који треба да се множи са бројем могућих позиција од 00 до 99, тј 1600 могућим тестовима.

Међутим, ова рачуница је погрешно: можемо утврдити да поље две тачке такође могу да садрже простор, тј састоји се од два алфанумеричких положаја и могу да садрже алфанумеричке, посебне знакове, размаке, итд Дакле, ако .... sistem је 16-битни рачунар, окрените 216 = 65536 један за сваку позицију у добијеној 4294967296 тест случајева који треба да се множи са 16 комбинација застава која даје укупно 68,719,476 736. Ако се обављају ат 1 тест у секунди, укупна наст олзхителност тестирање је 2 177,5 година. За 32 или 64-битне системе, трајање и више.

Због тога постоји потреба да се смањи овај период на прихватљив ниво. Стога, технике треба применити да се смањи број тест случајева без смањења обима тестирања.

еквиваленције подела

Еквивалент преграда је једноставан метод који је применљив за било варијабле које су присутне у софтверу, било улазних или излазних вредности, симболичког, нумерички и др. Он се заснива на принципу да ће сви подаци из једног еквивалента преграде бити третирани на исти начин и од стране iste инструкције.

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

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

На пример, у (1 / к) 1/2 користећи три секвенци података, три еквивалентну партиције:

1. Сви позитивни бројеви ће бити третирани на исти начин и треба да дају тачне резултате.

2. Све негативни бројеви се рукује на исти начин са истим резултатом. То није тачно, јер је корен негативног броја је имагинарна.

3. Нула ће се руковати одвојено и да о грешци "Дивисион би зеро". Ово је део са једним вредности.

Стога, видимо три различите секције, од којих је један сведен на једну вредност. Постоји један "исправан" део, који даје поуздане резултате, и два "погрешно" са погрешне резултате.

Граница анализа вредност

Обрада на границама еквивалентне поделу може урадити другачије него што се очекивало. Испитивање граничних вредности - добро познат поступак анализе понашања софтвера у таквим областима. Ова техника омогућава да се идентификују такве грешке:

  • неправилна употреба релационих оператора (<,>, =, =, ≥, ≤);
  • једна грешка;
  • проблеми у циклусима и итерација,
  • погрешне врсте или величине варијабли које се користе за складиштење информација;
  • вештачка ограничења у вези са типовима података и променљиве.

провидан тестирање

сива кутија начин повећава тест покривеност, можете се фокусирати на свим тешким нивоима система кроз комбинацију црне и беле технике.

Коришћењем ове технике, тестер за развој теста вредности треба да имају знање унутрашњих структура података и алгоритама. Примери метода тестирања сиво-бок су:

  • арцхитецтурал модел;
  • Унифиед Моделинг Лангуаге (УМЛ-);
  • Држава модела (коначни аутомат).

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

Ове методе тестирања имају следеће предности:

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

мане:

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

Друго име за технике сива кутија - провидан отклањање грешака.

Ова категорија обухвата такве методе тестирања:

1) Ортогонална арраи - употреба подскупу свих могућих комбинација;

2) матрица дебуггинг користећи стање података програма;

3) регресивни инспекција спроводи на новим изменама у софтверу;

4) Тест шаблон који анализира дизајн и архитектуру добре апликације.

Поређење софтвера техника тестирања

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

Једини прави начин не постоји, постоји само оне које су боље одговара специфичном контексту. Структурно инжењеринг дозвољавају нам да нађемо бескорисни или злонамерни код, али су сложени и не важе за велике програме. Методе засноване на спецификацијама - једине које су у стању да идентификује недостаје код, али они не могу да идентификују аутсајдер. Неке технике су погодне за одређени ниво тест, тип грешке и контекст од других.

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

аспект

Тхе Блацк Бок методе

Сива кутија метод

Бело-кутија метода

Доступност информација о саставу програма

Испитује само основне аспекте

Делимична сазнања о унутрашњој структури програма

Потпуни приступ изворном коду

Степен фрагментације програма

низак

централни

висок

Ко производи отклањања грешака?

Крајњим корисницима, тестера и програмерима

Крајњим корисницима, програмерима и дебуггерс

Програмери и тестери

база

Испитивање се заснива на спољним ванредним ситуацијама.

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

Унутрашњи уређај је потпуно свестан

Степен покривености

Мање свеобухватна и захтева минимум времена

централни

Потенцијално најсвеобухватнији. Дуготрајан

Подаци и унутрашње границе

Дебуг само покушаја и погрешака

Може да се провери домене података и унутрашње границе, ако су познати

Најбоље тест података домени и унутрашње границе

Погодност алгоритам тестинг

не

не

да

аутоматизација

Аутоматски методе тестирања софтвера је много поједностави процес инспекције, без обзира на техничком окружењу и контексту стварања. Они се користе у два случаја:

1) за аутоматизацију досадан, понављају или педантна задатке као што су филе односу на неколико хиљада редова како би се ослободили времена за концентрацију тестера важнија поена;

2) за обављање праћење или задатака који се не могу лако да обављају људи, као што је верификација перформанси или анализу времена одзива која се може измерити у стотинке секунде.

Тест алати се могу класификовати на различите начине. Наредна подела се заснива на задацима које подржавају:

  • менаџмент тест, који укључује подршку за управљање пројектима, верзије, конфигурације, анализу ризика, праћење тест, грешке, дефекте и алата за извештавање;
  • менаџмент захтеви, који укључује захтеве за складиштење и спецификације, проверите их за потпуност и двосмислености, њихов приоритет и следљивост сваког теста;
  • критички осврт и статичка анализа, укључујући и праћење тока и задацима, снимање и складиштење коментара, детекције кварова и планиране за управљање корекције линкове на листама и правила, праћење комуникација изворне документе и код статичке анализе за откривање недостатака, којима се осигурава поштивање стандарда писања кода, анализа структуре и зависности, прорачун метричких параметара кода и архитектуре. Поред тога, користите преводиоце, анализатори, генератори и односе унакрсне референце;
  • моделирање, који укључује алате за моделирање пословног понашања и тестирање модела;
  • Развој тест гарантује стварање очекиваних на основу услова и модела корисничког интерфејса и код подацима, успели да створе или модификују датотеке и базе података, порука, валидацију података на основу правила управљања, статистичке анализе услова и ризика;
  • критички поглед уношењем података кроз графички кориснички интерфејс, АПИ, командној линији користећи поредиоцима да помогне у идентификовању успешне и неуспешне тестове;
  • подршка отклањање грешака окружење које омогућава да се замени недостаје хардвера или софтвера, у вол. ч. Симулација опреме на основу утврђеног излаза подскуп, терминал емулатора, мобилних телефона и мрежне опреме, заштите животне средине за проверу језика, оперативне системе и хардвер заменом возача недостају компоненте, фиктивни модули, итд, као и средства за хватање и допунама ОС захтева ограничење процесор симулација, РАМ, РОМ, или мрежу .;
  • .. Поређење фајлова података, базе података, погледајте очекиване резултате током и после се тест заврши, укључујући динамична и серије поређење, Аутоматски "Орацлес";
  • облагања мерење за локализацију меморијских цурења и погрешне оцјенама, систем његова контрола понашања под симулираним лоад генерисање оптерећења апликација, база података, мрежа или серверу реалистичном сценарију раста за мерење, анализу и верификацију извештаја системских ресурса;
  • сигурност;
  • тестирање перформанси, оптерећење и динамичка анализа;
  • други алати, у Вол. х. Провери правопис и синтаксу, сигурност мреже, доступност свих веб сајта и друге.

перспектива

Са променом трендова у софтверској индустрији, процес отклањање грешака је такође подложни су променама. Постоје нове методе тестирања софтвера, као што је сервис-ориентированнае архитектуре (СОА), бежичних технологија, мобилних услуга, и тако даље. Е., отворили нове начине за тестирање софтвера. Неке од промена које се очекују у индустрији у наредних неколико година су наведене у наставку:

  • тестери ће обезбедити лагану модел који ће програмери моћи да проверите код;
  • развој метода тестирања, укључујући и преглед и моделирање програма у раној фази, ће елиминисати многе противречности;
  • Присуство више прислушкивања теста ће скратити време детекције грешке;
  • Статички анализатор и средства за детекцију да се више користи;
  • коришћење минералних матрице, као што покривеност спецификације, обим модела и код покривеност ће одредити развој пројеката;
  • комбинаторна алати омогућавају тестери да одреди приоритетне области за отклањање грешака;
  • тестери ће обезбедити више интуитивне и вредне услуге током процеса развоја софтвера;
  • дебагери може створити алате и софтверске методе испитивања писане у и интеракцији са разним програмским језицима;
  • Дебуггинг стручњаци ће бити више професионално обучени.

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sr.atomiyme.com. Theme powered by WordPress.