КомпјутериСофтвер

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

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

методи

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

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

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

Динамична техники се:

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

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

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

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

  • Тоа ви овозможува да се открие грешка во скриен код со отстранување на непотребни линии;
  • употребата на несакани ефекти;
  • максимална покриеност се постигнува со пишување на тест скрипта.

недостатоци:

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

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

Главните варијанти:

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

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

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

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

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

однесувањето дебагирање

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

Предности на овој пристап:

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

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

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

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

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

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

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

3) fuzzing - се користи за да се спроведе пребарување со внесување на грешки или оштетени poluiskazhennyh податоци во автоматски или полуавтоматски на владата;

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

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

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

7) дебагирање држава во транзиција - техника корисни за проверка на статусот на машината, како и да се движите низ GUI корисникот.

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

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

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

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

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

Сепак, оваа пресметка не е во ред: ние може да се утврди дека полето за два поени, исто така може да содржи еден простор, односно се состои од два алфанумерички позиции и може да вклучува алфанумерички знаци, специјални знаци, места, итн Така, ако .... системот е 16-битен компјутер, вклучете 216 = 65536 една за секоја позиција во резултантните 4294967296 тест случаи за кои треба да се помножи со 16 комбинации на знамиња што дава вкупно 68.719.476 736. Ако тие се извршуваат 1 тест во секунда, вкупниот конт olzhitelnost тестирање е 177.5 2 години. За 32 или 64-битни системи, времетраењето дури и повеќе.

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

еквивалентност партиционирање

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

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

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

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

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

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

3. нула ќе бидат управувани одделно и да даде "делење со нула" на грешка. Ова е делот со една вредност.

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

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

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

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

проѕирен тестирање

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

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

  • архитектонски модел;
  • Unified Modeling Language (UML);
  • државата модел (конечни државна машина).

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

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

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

недостатоци:

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

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

Оваа категорија ги вклучува такви методи на тестирање:

1) ортогонален низа - употребата на подмножество од сите можни комбинации;

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

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

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

Споредба на техниките за софтвер за тестирање

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

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

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

аспект

Методот на црна кутија

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

метод бела кутија

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

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

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

Целосен пристап до изворниот код

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

ниско

Централна

висок

Кој произведува дебагирање?

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

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

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

база

Тестирање е врз основа на надворешните итни ситуации.

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

Внатрешниот уред е целосно свесни

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

Помалку сеопфатен и бара минимум на време

Централна

Најисправен сеопфатна. Одземаат многу време

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

Debug само преку обиди и грешки

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

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

Соодветноста алгоритам тестирање

Не

Не

Да

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

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

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

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

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

  • тест за управување, која вклучува поддршка за управување со проектот, верзии, конфигурации, анализа на ризикот, следење на тест, грешки, дефекти, како и алатки за известување;
  • управување со барања, која вклучува чување на барања и спецификации, проверете ги за комплетноста и двосмисленост, нивниот приоритет и следење на секој тест;
  • критички осврт и статичка анализа, вклучувајќи следење на протокот и задачи, евидентирање и чување на коментари, за откривање на дефект и планираните за управување со врски корекции на листи за проверка и правила, следење на комуникација извор документи и кодот статичка анализа за детекција на дефекти, обезбедување на усогласеност со стандардите на пишување код, анализа на структурите и зависности, пресметката на метрички параметри на кодот и архитектура. Покрај тоа, користете компајлери, анализатори, генератори и односите на крос-референци;
  • моделирање, која содржи алатки за моделирање на бизнис однесување и за тестирање на модели;
  • тест за развој обезбедува прибирање на податоците очекува врз основа на условите и кориснички интерфејс модели и код, успеваат да се создаде или модифицирање на датотеки и бази на податоци, пораки, валидација на податоци врз основа на правилата за управување, статистичка анализа на состојбите и ризиците;
  • критички поглед со внесување на податоци преку графички кориснички интерфејс, API, командна линија со користење компаратори за да помогне да се идентификуваат успешни и неуспешни тестови;
  • поддршка дебагирање на животната средина, кој ви овозможува да го замени недостасува хардвер или софтвер, Vol. ч. симулација опрема врз основа на утврдените излез подгрупа, терминал емулатор, мобилни телефони и мрежна опрема, животната средина за проверка на јазици, оперативни системи и хардвер со замена на возачот на исчезнатите компоненти, фиктивни модули, итн, како и алатки за снимање и менување на оперативниот систем бара ограничување процесорот симулација, RAM, ROM, или мрежна .;
  • .. А споредбата на датотеки со податоци, бази на податоци, проверка на очекуваните резултати, за време и по тестот е завршен, вклучувајќи динамичен и споредба серија, Автоматски "гатачки";
  • обложување на мерење за локализација на меморија протекување и неточни систем за проценка на неговото однесување контрола под симулирани апликации товар за генерирање на оптоварување, бази на податоци, мрежи или сервери во реален сценарио на раст за мерење, анализа и проверка на извештај систем ресурси;
  • безбедност;
  • тестирање, оптоварување и динамичка анализа;
  • други алатки, Vol. ч. за проверка на правопис и граматика, мрежна безбедност, достапноста на сите веб-страници и други.

перспектива

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

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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