7 принципа тестирања софтвера: научите на примерима

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

Anonim

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

7 Принципи тестирања софтвера

  • Испитивање показује присуство недостатака
  • Исцрпно тестирање није могуће
  • Рано тестирање
  • Груписање дефеката
  • Парадокс пестицида
  • Тестирање зависи од контекста
  • Одсуство заблуде грешака

Научимо принципе тестирања са следећим видео примером-

Кликните овде ако видео снимку није доступан

Позадина

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

Да бисте то разумели, размотрите сценарио у којем премештате датотеку из директоријума А у директоријум Б.

Размислите о свим могућим начинима на које можете ово тестирати.

Осим уобичајених сценарија, можете да тестирате и следеће услове

  • Покушај премештања датотеке када је отворена
  • Немате сигурносна права да бисте датотеку залепили у фасциклу Б
  • Директоријум Б је на заједничком погону и капацитет складиштења је пун.
  • Фасцикла Б већ има датотеку са истим именом, заправо је листа бескрајна
  • Или претпоставимо да имате 15 поља за унос за тестирање, од којих свако има 5 могућих вредности, број комбинација које треба тестирати био би 5 15

Ако бисте тестирали све могуће комбинације, време ИЗВОЂЕЊА И ТРОШКОВИ би експоненцијално расли. Потребни су нам одређени принципи и стратегије за оптимизацију напора на тестирању

Ево 7 принципа:

1) Исцрпно испитивање није могуће

Да! Исцрпно тестирање није могуће. Уместо тога, потребан нам је оптималан износ тестирања на основу процене ризика апликације.

А питање од милион долара је, како утврђујете овај ризик?

Да бисмо одговорили на ово, направимо вежбу

По вашем мишљењу, која операција ће највероватније проузроковати неуспех вашег оперативног система?

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

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

2) Груписање дефеката

Кластерирање дефеката који наводи да мали број модула садржи већину откривених недостатака. Ово је примена Парето принципа на тестирање софтвера: приближно 80% проблема налази се у 20% модула.

Према искуству, можете препознати такве ризичне модуле. Али овај приступ има својих проблема

Ако се исти тестови понављају изнова и изнова, на крају исти тестови више неће пронаћи нове грешке.

3) Парадокс пестицида

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

Да би се ово превазишло, тест случајеви треба да се редовно прегледају и ревидирају, додајући нове и различите тест случајеве како би се пронашло више недостатака.

Испитивачи не могу једноставно зависити од постојећих техника испитивања. Мора непрестано да пази на побољшање постојећих метода како би тестирање било ефикасније. Али чак и након толиког зноја и напорног рада на тестирању, никада не можете тврдити да ваш производ не садржи грешке. Да се ​​вратимо кући до ове тачке, погледајмо овај видео о јавном лансирању Виндовс 98

Мислите да компанија попут МИЦРОСОФТ-а не би темељно тестирала свој ОС и ризиковала би своју репутацију само кад би видела како им ОС пада током јавног покретања!

4) Испитивање показује присуство недостатака

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

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

То нас води до нашег следећег принципа, који каже да - Одсуство грешке

5) Одсуство грешке - заблуда

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

Да би се решио овај проблем, следећи принцип тестирања наводи да рано тестирање

6) Рано тестирање

Рано тестирање - Тестирање треба започети што је раније могуће у животном циклусу развоја софтвера. Тако да се евентуални недостаци у захтевима или фази пројектовања ухвате у раним фазама. Много је јефтиније поправити квар у раним фазама тестирања. Али колико рано треба започети тестирање? Препоручује се да грешку почнете да тражите оног тренутка када се захтеви дефинишу. О овом принципу више у каснијем упутству за обуку.

7) Тестирање зависи од контекста

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

Мит: "Принципи су само за референцу. Нећу их користити у пракси."

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

Али учење принципа тестирања је исто као и учење вожње први пут.

У почетку, док учите да возите, обраћате пажњу на све и свашта попут промене брзина, брзине, управљања квачилом итд. Али са искуством, само се усредсредите на вожњу, а све остало долази природно. Такав да чак и у аутомобилу држите разговоре са другим путницима.

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