how write test cases
У овом детаљном практичном водичу о томе како писати тест случајеве, обрадио сам детаље шта је тест случај, његову стандардну дефиницију и технике дизајнирања тест случајева.
Шта је тест случај?
Тест случај садржи компоненте које описују унос, радњу и очекивани одговор како би се утврдило да ли нека функција апликације ради исправно.
Тест случај је скуп упутстава о „КАКО“ за валидацију одређеног циља / циља тестирања, који ће нам, када се следе, рећи да ли је очекивано понашање система задовољено или не.
Листа туторијала обухваћених овом серијом писања тест случајева:
Како написати:
Туториал # 1: Шта је тест случај и како писати тест случајеве (овај водич)
Туториал # 2: Узорак предлошка тест примера са примерима (преузми) (мораш прочитати)
Туториал # 3: Писање тест случајева из СРС документа
Туториал # 4: Како написати тест случајеве за дати сценарио
Водич бр. 5: Како се припремити за писање тест случајева
Лекција # 6: Како писати негативне тест случајеве
Примери:
Туториал # 7: 180+ примера тест случајева за веб и радне површине
Туториал # 8: 100+ спремних за извршење тест сценарија (контролна листа)
Технике писања:
Туториал # 9: Графикон узрока и последице - Техника писања динамичког тест случаја
Водич бр. 10: Техника испитивања државне транзиције
Туториал # 11: Техника испитивања ортогоналних низова
Водич бр. 12: Техника погађања грешака
Водич бр. 13: Техника дизајнирања теста за табелу за валидацију поља (ФВТ)
Тест случајеви и сценарији тестирања:
Водич # 14: Испитни случајеви против сценарија испитивања
Водич бр. 15: Разлика између плана испитивања, стратегије испитивања и случаја испитивања
Аутоматизација:
Туториал # 16: Како одабрати тачне случајеве испитивања за аутоматско тестирање
Водич # 17: Како превести случајеве ручног тестирања у скрипте за аутоматизацију
Алати за управљање тестовима:
Туториал # 18: Најбољи алати за управљање тестовима
Водич бр. 19: ТестЛинк за управљање тест случајем
Водич бр. 20: Креирање и управљање тест случајевима помоћу ХП центра за квалитет
Туториал # 21: Извршење тест случајева помоћу АЛМ / КЦ
Случајеви специфични за домен:
Водич бр. 22: Тест случајеви за ЕРП апликацију
Водич бр. 23: ЈАВА примери примене теста
Лекција # 24: Анализа граничне вредности и подела еквиваленције
Наставимо са првим упутством у овој серији.
Препоручени алати:
Пре него што наставите са процесом писања тест примера, препоручујемо да преузмете овај алат за управљање тест примером. Ово ће вам олакшати поступак писања тест случајева који је поменут у овом водичу:
# 1) ТестРаил
=> Преузмите ТестРаил Тоол Тест Манагемент Тоол
# 2) ТестМонитор
Врхунско управљање тестом на мрежи. Револуционарно лако.
ТестМонитор је комплетни алат за управљање тестовима за сваку организацију. Једноставан, интуитиван приступ тестирању. Без обзира да ли имплементирате пословни софтвер, требате контролу квалитета, правите квалитетну апликацију или вам треба само рука помоћи у вашем тест пројекту, ТестМонитор вас покрива.
=> Посетите веб локацију ТестМонитор
Шта ћете научити:
- Шта је тест случај и како писати тест случајеве?
- Савети за писање тестова
- Како постићи изврсност у документацији тест случајева
- Корисни савети и трикови
- # 1) Да ли је ваш тест документ у добром облику?
- # 2) Не заборавите да покривате негативне случајеве
- # 3) Имајте кораке за атомско тестирање
- # 4) Дајте приоритет тестовима
- # 5) Секуенце Маттерс
- # 6) Додајте временску ознаку и име тестера у коментаре
- # 7) Укључите детаље о прегледачу
- # 8) Држите два одвојена листа - „Грешке“ и „Резиме“ у документу
- Корисни савети и трикови
- Како НЕ писати тестове
- Како побољшати ефикасност тест случајева
- Значај стандардизације тест случајева
Шта је тест случај и како писати тест случајеве?
Писање ефикасних случајева је вештина. И то можете научити из искуства и знања апликације која се тестира.
За основна упутства о писању тестова, погледајте следећи видео:
Горе наведени ресурси треба да нам дају основе процеса писања теста.
Нивои процеса писања теста:
- Ниво 1: На овом нивоу ћете написати основни случајеви из доступне спецификације и корисничку документацију.
- Ниво 2: Ово је практична фаза у којима случајеви писања зависе од стварног функционалног и системског тока апликације.
- Ниво 3: Ово је фаза у којој ћете групирати неке случајеве и напиши поступак испитивања . Поступак испитивања није ништа друго до група малих случајева, можда највише 10.
- Ниво 4: Аутоматизација пројекта. Ово ће минимизирати људску интеракцију са системом и стога се КА може фокусирати на тренутно ажуриране функционалности за тестирање, уместо да остане заузет тестом регресије.
Зашто пишемо тестове?
Основни циљ писања случајева је да потврди покривеност апликације тестом.
Ако радите у било којој ЦММи организацији, тада се пажљивије прате стандарди испитивања. Случајеви писања доносе неку врсту стандардизације и минимизирају ад хоц приступ у тестирању.
Како писати тест случајеве?
Поља:
- ИД случаја теста
- Јединица за тестирање: Шта треба верификовати?
- Претпоставке
- Тест подаци: Варијабле и њихове вредности
- Кораци које треба извршити
- Очекивани резултат
- Прави резултат
- Пасс / Фаил
- Коментари
Основни формат изјаве о тест случају
Проверити
Користећи (назив алата, назив ознаке, дијалог итд.)
Са (Услови)
До (шта је враћено, приказано, демонстрирано)
Проверити: Користи се као прва реч изјаве о тесту.
Користећи: Да би се идентификовало шта се тестира. Овде можете да користите „улазак“ или „одабир“ уместо да користите у зависности од ситуације.
За било коју апликацију треба да обухватите све врсте тестова као:
- Функционални случајеви
- Негативни случајеви
- Случајеви граничне вредности
Док пишем ове све своје ТЦ треба да буду једноставни и лако разумљиви .
************************************************
Савети за писање тестова
Једна од најчешћих и главних активности испитивача софтвера (особа која има СКА / СКЦ) је писање тест сценарија и случајева.
Постоје неки важни и критични фактори који су повезани са овом главном активношћу. Прво да погледамо те факторе из птичије перспективе.
Важни фактори који укључују процес писања:
а) ТЦ-ови су склони редовној ревизији и ажурирању:
Живимо у свету који се непрекидно мења, а то важи и за софтвер. Промене софтверских захтева директно утичу на случајеве. Кад год се захтеви промене, ТЦ треба ажурирати.
Ипак, није само промена захтева та која може проузроковати ревизију и ажурирање ТЦ-а. Током извршавања ТЦ-а, многе идеје се јављају у уму и могу се идентификовати многи подуслови једног ТЦ-а. Све ово узрокује ажурирање ТЦ-а, а понекад доводи и до додавања нових ТЦ-а.
Штавише, током регресионог тестирања, неколико исправки и / или таласа захтева ревидиране или нове ТЦ.
б) ТЦ-и су склони дистрибуцији међу тестерима који ће извршити следеће:
Наравно, тешко да постоји таква ситуација у којој један испитивач извршава све ТЦ. Обично постоји неколико тестера који тестирају различите модуле једне апликације. Дакле, ТЦ-и су подељени међу испитивачима у складу са њиховим областима апликације која се тестира.
Неке ТЦ-ове који су повезани са интеграцијом апликације може извршити више тестера, док друге ТЦ-ове може извршити само један тестер.
ц) ТЦ су склони кластеризацији и груписању:
Нормално је и уобичајено је да ТЦ који припадају једном тестном сценарију обично захтевају њихово извршавање у неком одређеном низу или у облику групе. Можда постоје одређени предуслови за ТЦ који захтевају извршење других ТЦ-а пре самог покретања.
Слично томе, према пословној логици АУТ-а, један ТЦ може допринети неколико услова испитивања, а један услов теста може се састојати од више ТЦ.
д) ТЦ имају тенденцију међузависности:
Ово је такође занимљиво и важно понашање ТЦ-а, означавајући да они могу бити међусобно независни. Од средњих до великих апликација са сложеном пословном логиком, ова тенденција је видљивија.
Најјасније подручје било које апликације где се ово понашање дефинитивно може уочити је интероперабилност између различитих модула исте или чак различитих апликација. Једноставно речено, где год су различити модули једне апликације или више апликација међусобно зависни, исто понашање се одражава и на ТЦ.
е) ТЦ-ови су склони дистрибуцији међу програмерима (посебно у тест окружењу за развој):
Важна чињеница о ТЦ-има је да их тестери не смију користити само. У нормалном случају, када програмери решавају грешку, они индиректно користе ТЦ за решавање проблема. Слично томе, ако се прати развој вођен тестом, тада програмери директно користе ТЦ-ове како би изградили своју логику и покрили све сценарије у свом коду којима се обраћају ТЦ-и.
Савети за писање ефикасних тестова:
Имајући у виду горњих 5 фактора, ево неколико савета за писање ефикасних ТЦ.
Почнимо!!!
# 1) Нека буде једноставно, али не превише једноставно; чине га сложеним, али не превише сложеним:
Ова изјава делује парадоксално. Али, обећавам да није тако. Држите све кораке ТЦ-а атомским и прецизним. Помените кораке са тачним редоследом и тачним мапирањем до очекиваних резултата. Тест случај треба да буде саморазумљив и лак за разумевање. Ово је оно што желим да поједноставим.
Сада то учинити комплексним начином значи интегрисати га са планом испитивања и другим ТЦ. Погледајте остале ТЦ, релевантне артефакте, ГУИ итд. Где и када је то потребно. Али, радите то уравнотежено. Не правите тестере да бисте се кретали тамо-амо на гомили докумената ради довршавања једног сценарија теста.
С друге стране, не дозволите ни испитивачу да врло компактно документује ове ТЦ. Док пишете ТЦ, увек имајте на уму да ћете ви или неко други морати да их ревидирате и ажурирате.
# 2) Након документовања тест случајева, прегледајте једном као Тестер:
Никада немојте помислити да је посао завршен када напишете последњи ТЦ тестног сценарија. Идите на почетак и прегледајте све ТЦ једном, али не уз размишљање писца ТЦ или планера тестирања. Прегледајте све ТЦ са размишљањем тестера. Размислите рационално и покушајте да покренете своје ТЦ-ове.
Процијените све кораке и провјерите јесте ли их јасно споменули на разумљив начин и да ли су очекивани резултати у складу с тим корацима.
Уверите се да је тест подаци наведено у ТЦ-има изводљиво је не само за стварне тестере већ и у складу са окружењем у реалном времену. Уверите се да не постоји сукоб зависности међу ТЦ-овима и проверите да ли су све референце на друге ТЦ / артефакте / ГУИ тачне. У супротном, тестери могу бити у великој невољи.
# 3) Везани и олакшајте тестере:
Не остављајте податке о тестирању на тестерима. Дајте им низ уноса, посебно тамо где треба да се изврше прорачуни или понашање апликације зависи од уноса. Можете им дозволити да одлуче о вредностима ставки података за тестирање, али никада им не дајте слободу да сами бирају ставке података за тестирање.
Јер, намерно или ненамерно, могу поново и поново користити исте податке о тестирању, а неки важни подаци о тестирању могу се занемарити током извршавања ТЦ-а.
Олакшајте тестерима организовање ТЦ-а према категоријама тестирања и сродним областима апликације. Јасно, упутите и спомените који су ТЦ међусобно зависни и / или групни. Такође, изричито назначите који су ТЦ-и независни и изоловани, тако да испитивач може у складу са тим управљати својом целокупном активношћу.
У овом тренутку, можда ће вас занимати читање о анализи граничне вредности која је стратегија дизајнирања тест примера која се користи у тестирању црне кутије. Кликните овде да бисте сазнали више о томе.
# 4) Будите сарадник:
Никада не прихватајте ФС или пројектни документ онаквим какав јесте. Ваш посао није само да прођете кроз ФС и идентификујете тест сценарије. Као КА ресурс, немојте се устручавати да дате свој допринос послу и дајете предлоге ако сматрате да се нешто може побољшати у апликацији.
Предложите и програмерима, посебно у развојном окружењу заснованом на ТЦ. Предложите падајуће листе, контроле календара, селекциону листу, групне радио дугмад, значајније поруке, упозорења, упите, побољшања у вези са употребљивошћу итд.
Будући да сте КА, немојте само тестирати, већ направите разлику!
# 5) Никада не заборавите крајњег корисника:
Најважнија заинтересована страна је „Крајњи корисник“ који ће коначно користити апликацију. Зато га никада не заборавите у било којој фази писања ТЦ-а. Заправо, крајњи корисник не би требало да се игнорише ни у једној фази СДЛЦ-а. Ипак, мој досадашњи нагласак је везан само за моју тему.
Дакле, током идентификације тест сценарија, никада не превидите оне случајеве које ће корисник углавном користити или случајеве који су критични за пословање, чак и ако се ређе користе. Будите на месту крајњег корисника, а затим прођите кроз све ТЦ и процените практичну вредност извршавања свих ваших документованих ТЦ.
************************************************
Како постићи изврсност у документацији тест случајева
Будући да сте испитивач софтвера, сигурно ћете се сложити са мном да је стварање савршеног пробног документа заиста изазован задатак.
Увек остављамо мало простора за побољшање у нашем Документација тест случаја . Понекад нисмо у могућности да пружимо 100% покривеност тестом путем ТЦ-а, а понекад предложак теста није на нивоу или нам недостаје пружање добре читљивости и јасноће нашим тестовима.
Као тестер, кад год се од вас затражи да напишете тест документацију, немојте само кренути ад-хоц. Веома је важно добро разумети сврху писања тест случајева пре него што почнете да радите на процесу документовања.
Тестови увек треба да буду јасни и луцидни. Требали би бити написани на начин који пружа тестеру лакоћу да спроведе комплетно тестирање пратећи кораке дефинисане у сваком од тестова.
Поред тога, документ о тестном случају треба да садржи онолико случајева колико је потребно да се пруже комплетни подаци покривеност тестом . На пример , требали бисте покушати да обухватите тестирање свих могућих сценарија који се могу догодити у оквиру ваше софтверске апликације.
Имајући у виду горње тачке, дозволите ми да вас сада водим кроз обилазак о томе како постићи изврсност у тестној документацији.
Корисни савети и трикови
Овде ћу вам пружити неке корисне смернице које ће вам омогућити да у својој тестној документацији одступите од осталих.
# 1) Да ли је ваш тест документ у добром облику?
Најбољи и једноставан начин за организовање пробног документа је поделом на више корисних одељака. Подијелите целокупно тестирање у више сценарија за тестирање. Затим поделите сваки сценарио на више тестова. На крају, поделите сваки случај у више корака испитивања.
Ако користите екцел, онда сваки тест примера документујте на посебном листу радне свеске, где сваки тест случај описује један комплетан ток испитивања.
# 2) Не заборавите да покривате негативне случајеве
Као испитивач софтвера, морате да размишљате изван оквира и да нацртате све могућности са којима се ваша апликација сусреће. Ми, као тестери, морамо да верификујемо да ли треба зауставити и пријавити сваки неаутентичан покушај уласка у софтвер или било какве неваљане податке који пролазе кроз апликацију.
Дакле, негативни случај је важан колико и позитиван случај. Обавезно се побрините за сваки сценарио који имате два тест случаја - један позитиван и један негативан . Позитивни треба да покрије планирани или нормални проток, а негативни ненамерни или изузетан проток.
# 3) Имајте кораке за атомско тестирање
Сваки тестни корак треба да буде атомски. Не би требало бити даљих поткорака. Што је тест корак једноставнији и јаснији, то би било лакше наставити са тестирањем.
# 4) Дајте приоритет тестовима
Често имамо строге рокове да завршимо тестирање апликације. У овом случају можемо пропустити тестирање неких важних функционалности и аспеката софтвера. Да бисте то избегли, требало би да означите приоритет са сваким тестом док га документујете.
За дефинисање приоритета теста можете користити било које кодирање. Генерално је боље користити било који од 3 нивоа, висока, средња и ниска , или 1, 50 и 100. Дакле, када имате строгу временску линију, прво треба да завршите све тестове високог приоритета, а затим да пређете на тестове средњег и ниског приоритета.
На пример - за веб локацију за куповину верификација одбијања приступа због неважећег покушаја пријаве у апликацију може бити случај високог приоритета, верификација приказа релевантних производа на корисничком екрану може бити случај средњег приоритета и верификација боје текста приказаног на дугмад на екрану могу бити тест ниског приоритета.
# 5) Секуенце Маттерс
Потврдите да ли је редослед корака у тесту апсолутно тачан. Погрешан редослед корака може довести до забуне. Пожељно је да кораци такође дефинишу читав низ од уласка у апликацију до изласка из апликације за одређени сценарио који се тестира.
# 6) Додајте временску ознаку и име тестера у коментаре
Можда постоји случај када тестирате апликацију, неко врши измене паралелно са истом апликацијом или неко може ажурирати апликацију након завршетка тестирања. То доводи до ситуације у којој се резултати теста могу временом разликовати.
Дакле, увек је боље додати временску ознаку са именом тестера у коментаре тестирања како би се резултат теста (прошао или не успео) могао приписати стању апликације у то одређено време. Можете и да имате „ Датум извршења ’Колона додата одвојено у тест случај која ће експлицитно идентификовати временску ознаку теста.
# 7) Укључите детаље о прегледачу
Као што знате, ако је реч о веб апликацији, резултати теста могу се разликовати у зависности од прегледача на којем се тест извршава. Да бисте олакшали другим тестерима, програмерима или онима који прегледавају тест документ, додајте кућиште име и верзију прегледача како би се квар могао лако поновити.
# 8) Држите два одвојена листа - „Грешке“ и „Резиме“ у документу
Ако документујете у екцелу, прва два листа радне свеске треба да буду Резиме и Грешке. Преглед резимеа треба да резимира сценарио тестирања, а лист грешака списак свих проблема на које се наилази током тестирања. Значај додавања ова два листа је тај што ће читаоцу / кориснику документа пружити јасно разумевање тестирања.
Дакле, када је време ограничено, ова два листа могу се показати врло корисним у пружању прегледа испитивања.
Испитни документ треба да пружи најбоље могуће покривеност тестом, одличну читљивост и треба да прати један стандардни формат.
Можемо постићи изврсност у тест документацији имајући на уму само неколико основних савета као организацију документа тест случаја, давање приоритета ТЦ-има, полагање све у правилном низу, укључујући све обавезне детаље за извршење ТЦ-а, и пружање јасних и луцидних корака испитивања, итд., као што је горе речено.
************************************************
Како НЕ писати тестове
Већину времена проводимо у писању, преиспитивању, извршавању или одржавању истих. Прилично је жалосно да су тестови уједно и они најчешће склони грешкама. Разлике у разумевању, пракси тестирања организације, недостатак времена итд., Неки су од разлога зашто често видимо тестове који остављају много жеља.
На нашој веб страници има пуно чланака на ову тему, али овде ћемо видети Како НЕ писати тест случајеве - неколико савета који ће вам помоћи у стварању препознатљивих, квалитетних и ефикасних тестова.
Читајмо даље и имајте на уму да су ови савети и за нове и за искусне тестере.
3 Најчешћи проблеми у тест случајевима
- Сложени кораци
- Понашање апликације се узима као очекивано понашање
- Више услова у једном случају
Ова три морају бити на мојој топ 3 листи најчешћих проблема у процесу писања теста.
Занимљиво је да се то дешава и са новим и са искусним тестерима, а ми само настављамо да следимо исте неисправне процесе, никада не схватајући да неколико једноставних мера може ствари лако поправити.
Идемо на то и детаљно разговарамо о сваком:
# 1) Сложени кораци
Пре свега, шта је сложени корак?
На пример, дајете упутства од тачке А до тачке Б: ако кажете „идите до места КСИЗ, а затим до АБЦ“, ово неће имати пуно смисла, јер овде се налазимо како размишљамо - „Како да доћи до КСИЗ на првом месту “- уместо тога почињући са„ Скрените лево одавде и идите 1 миљу, а затим скрените десно на Рд. број 11 који стиже на КСИЗ “могао би постићи боље резултате.
Потпуно иста правила важе и за тестове и његове кораке.
На пример Пишем тест за Амазон.цом - наручите било који производ.
Следе моји кораци за тестирање (Напомена: Пишем само кораке, а не све остале делове теста као што су очекивани резултати итд.)
до . Покрените Амазон.цом
б . Потражите производ уношењем кључне речи / имена производа у поље „Претрага“ на врху екрана.
ц . Из приказаних резултата претраживања одаберите првог.
д . Кликните на Додај у корпу на страници са детаљима о производу.
је . Плати и плати.
ф . Проверите страницу за потврду поруџбине.
Сада, можете ли препознати шта је од тога сложени корак? Десни корак (е)
Запамтите, тестови се увек односе на „Како“ тестирати, тако да је важно да у свом тесту напишете тачне кораке „Како се одјавити и платити“.
Стога је горњи случај ефикаснији када се напише на следећи начин:
до . Покрените Амазон.цом
б . Потражите производ уношењем кључне речи / имена производа у поље „Претрага“ на врху екрана.
ц . Из приказаних резултата претраживања одаберите првог.
д . Кликните на Додај у корпу на страници са детаљима о производу.
је . Кликните на Цхецкоут на страници колица.
ф . Унесите ЦЦ податке, податке о пошиљци и обрачуну.
г . Кликните на Цхецкоут.
х . Проверите страницу за потврду поруџбине.
Стога је сложени корак онај који се може раставити на неколико појединачних корака. Следећи пут када будемо писали тестове, обратимо пажњу на овај део и сигуран сам да ћете се сложити са мном да то радимо чешће него што мислимо.
# 2) Понашање апликације се узима као очекивано понашање
Све више пројеката мора се носити са овом ситуацијом ових дана.
Недостатак документације, екстремно програмирање, брзи развојни циклуси су малобројни разлози који нас приморавају да се ослонимо на апликацију (старија верзија или тако нешто) или да напишемо тестове или да се на њима заснива само тестирање. Као и увек, ово је доказана лоша пракса - не увек стварно.
То је безазлено све док држите отворен ум и држите се очекивања да - „АУТ може бити неисправан“. Само када не мислите да јесте, ствари функционишу лоше. Као и увек, пустићемо примере да говоре.
Ако је следећа страница за коју пишете / дизајнирате кораке за тестирање:
Случај 1:
Ако су кораци на примеру теста следећи:
- Покрените веб локацију за куповину.
- Кликните на Достава и повратак - Очекивани резултат: Страница за испоруку и повратак приказује се са „Ставите своје податке овде“ и дугметом „Настави“.
Онда је ово нетачно.
Случај 2:
- Покрените веб локацију за куповину.
- Кликните на Достава и вратите се.
- У поље за унос „Унесите наруџбину“ која се налази на овом екрану унесите број налога.
- Кликните на Настави - Очекивани резултат: Приказују се детаљи поруџбине у вези са испоруком и повратима.
Случај 2 је бољи тест случај, јер иако се референтна апликација понаша неправилно, ми је узимамо само као смерницу, радимо даља истраживања и записујемо очекивано понашање према предвиђеној исправној функционалности.
Суштина: Апликација као референца је брза пречица, али долази са својим опасностима. Све док смо пажљиви и критични, то даје невероватне резултате.
# 3) Више услова у једном случају
Још једном, учимо од тога Пример .
Погледајте доње кораке теста: Следе кораци теста у оквиру једног теста за функцију пријаве.
а. Унесите важеће податке и кликните на Пошаљи.
б. Оставите поље Корисничко име празно. Кликните на Субмит.
ц. Оставите поље за лозинку празно и кликните на Пошаљи.
д. Изаберите већ пријављено корисничко име / лозинку и кликните на Пошаљи.
Оно што су морала бити 4 различита случаја комбинују се у један. Можда размишљате- Шта није у реду са тим? Штеди много документације, а оно што могу да урадим за 4, радим за 1- није сјајно? Па, не баш. Разлози?
Прочитајте на:
- Шта ако један од услова не успе - цео тест морамо означити као „неуспешан“. Ако цео случај означимо као „неуспешан“, значи да сва 4 услова не функционишу, што заправо није тачно.
- Тестови морају имати проток. Од предуслова до корака 1 и свих корака. Ако следим овај случај, у кораку (а), ако је успешан, пријавићу се на страницу, где опција „пријава“ више није доступна. Дакле, када пређем на корак (б) - где ће тестер унети корисничко име? Видите, проток је сломљен.
Стога, писање модуларних тестова . Звучи као пуно посла, али све што је потребно је да раздвојите ствари и користите наше најбоље пријатеље Цтрл + Ц и Цтрл + В да бисте радили за нас. :)
************************************************
Како побољшати ефикасност тест случајева
Испитивачи софтвера би требало да пишу своје тестове из раније фазе животног циклуса развоја софтвера, најбоље током фазе софтверских захтева.
Менаџер теста или КА менаџер треба да прикупи и припреми максимално могуће документе према доњој листи.
Збирка докумената за писање тестова
# 1) Документ о корисничким захтевима
То је документ који наводи пословни процес, корисничке профиле, корисничко окружење, интеракцију са другим системима, замену постојећих система, функционалне захтеве, нефункционалне захтеве, захтеве за лиценцирање и инсталирање, захтеве за перформансама, безбедносне захтеве, употребљивост и истовремене захтеве итд. .,
# 2) Документ о пословној употреби
Овај документ детаљно описује случај употребе сценарио функционалних захтева из пословне перспективе. Овај документ покрива пословне актере (или систем), циљеве, предуслове, пост-услове, основни проток, алтернативни ток, опције, изузетке сваког пословног тока система према захтевима.
# 3) Документ о функционалним захтевима
Овај документ детаљно описује функционалне захтеве сваке од карактеристика система према захтевима.
Документ о функционалним захтевима обично служи као заједничко спремиште за развојни и испитни тим, као и за све заинтересоване стране, укључујући купце за преузете (понекад замрзнуте) захтеве, што би требало третирати као најважнији документ за било који развој софтвера.
# 4) План софтверског пројекта (опционално)
Документ који описује детаље пројекта, циљеве, приоритете, прекретнице, активности, организациону структуру, стратегију, праћење напретка, анализу ризика, претпоставке, зависности, ограничења, захтеве за обуком, одговорности клијента, распоред пројеката итд.,
# 5) КА / план испитивања
Овај документ детаљно описује систем управљања квалитетом, стандарде документације, механизам контроле промена, критичне модуле и функционалности, систем управљања конфигурацијом, планове испитивања, праћење квара, критеријуме прихватања итд.
Тхе план испитивања документ се користи за идентификацију карактеристика које треба тестирати, карактеристика које се не тестирају, додељивање тимског тима и њиховог интерфејса, захтева за ресурсима, распоред тестирања, писање теста, покривеност тестом, испоруке тестова, предуслов за извршење теста, извештавање о грешкама и праћење механизам, тест метрика итд.,
Прави пример
Погледајмо како ефикасно да напишемо тест случајеве за познати и једноставни екран „Пријава“ према слици испод. Тхе приступ тестирању биће готово исто чак и за сложене екране са више информација и критичних карактеристика.
# 1) Први приступ за било који поступак тест случаја биће добијање прототипа екрана (или жичаних оквира) као горе, ако је доступан. Ово можда није доступно за неке функционалности и зависи од критичности дизајнирања прототипа у ранијим фазама развоја.
Али, ако је СРС Документ (Спецификација софтверских захтева) документ је доступан за пројекат, већину прототипова екрана је развио пројектни тим. Ова врста екрана поједностављује посао тестера и повећава ефикасност тестова.
#два) Даље, спецификације функционалних захтева . Зависи од процеса организације, биће доступан у пакету више докумената.
Дакле, одлучите се за најбољи документ за писање случајева, било да се ради о документу са корисничким захтевима или спецификацији функционалних захтева (или чак за СРС документ, ако то тим за тестирање може лако разумјети), што ће пружити комплетан функционални ток изабраног карактеристика која се тестира.
# 3) Једном када прототип екрана и функционалне спецификације буду постављени, испитивач треба да започне писање случајева уз следећи приступ и критеријуме.
- УИ тестови :Контроле / поља која су видљива кориснику. За функцију која се тестира доступне су статичка контрола и динамичка контрола. На пример, на горњем екрану за пријављивање, текстови „Корисничко име и лозинка“ су статична поља која не захтевају корисничку интеракцију, само за приказивање текста.
- Функционални случајеви :С друге стране, дугме за пријаву и хипервезе (Заборавили сте лозинку? & Регистрација) су динамичка поља која захтевају интеракцију корисника кликом на контроле, што ће после предузети неке радње.
- Случајеви базе података :Једном када корисник унесе корисничко име и лозинку, тестови се могу написати како би се проверила повезаност базе података, да ли су корисничко име и лозинка проверени у правој бази података и табели, а такође корисник има дозволу да се пријави у апликацију која се тестира.
- Тестови процеса :Ово је повезано са процесом (а не радњама повезаним са видљивим контролама доступним на екрану) повезаним са особином и функционалношћу. На пример, клик на везу Заборављена лозинка на горњем екрану са узорком може кориснику послати е-пошту. Дакле, можда треба да се тестира е-пошта за правилан поступак и потврду.
4) Коначно, задржите „ БАОЕ мантра ”, Значи и) Основни проток ии) Алтернативни ток иии) Опције и ив) Изузеци за потпуну покривеност функционалног тока и карактеристике која се испитује. Сваки концепт треба применити на позитивне и негативне тестове.
На пример, да видимо једноставни БАОЕ приступ за горњи узорак пријавног екрана.
бесплатни алати за тестирање снимања и репродукције
- Основни ток: Унесите УРЛ путању за пријаву у било који прегледач и унесите потребне податке и пријавите се у апликацију.
- Алтернативни ток: Инсталирајте апликацију на мобилни уређај и унесите потребне податке и пријавите се на апликацију.
- Опције: Које су опције доступне на истом екрану за пријављивање? На пример, након пријаве у апликацију, кликом на „Одјава“ може се појавити исти екран или ако је истекло време сесије или сесије, корисник може доћи на екран за пријављивање.
- Изузеци: Који су изузеци ако су моји тестови негативни? На пример, ако се на екрану за пријаву унесу погрешни акредитиви, да ли ће корисник добити поруку о грешци или није повезана ниједна радња.
Са свим овим информацијама у рукама, започнимо са писањем ТЦ-а за екран за пријаву, у формату са потпуном покривеношћу и сљедивошћу и детаљним информацијама. Логичан след и нумерација идентификовања „ ИД тест случаја ’ ће бити врло корисно за брзу идентификацију историје извршења тест случајева.
Такође прочитајте=> 180+ узорака спремних за употребу тест случајева за веб и десктоп апликације.
Документ о тест случају
Белешка : Ступци за тестирање нису ограничени на доњи пример узорка документа за тестирање, који се може одржати у екцел листу како би имао онолико колона колико је потребно за потпуну матрицу сљедивости, наиме, приоритет, сврху тестирања, врсту тестирања, локацију снимка заслона грешке итд.,
Такође прочитајте=> Пример шаблона тест примера са примерима.
Да бисмо олакшали једноставност и читљивост овог документа, доле ћемо детаљно написати кораке за репродукцију, очекивано и стварно понашање тестова за екран за пријаву.
Белешка : Додајте колону Стварно понашање на крају овог шаблона.
Не. | Кораци за репродукцију | Очекивано понашање |
---|---|---|
7. | Кликните везу за регистрацију | Клик на везу треба да одведе корисника на сродни екран. |
1. | Отворите прегледач и унесите УРЛ за екран за пријаву. | Треба да се прикаже екран за пријаву. |
2. | Инсталирајте апликацију на Андроид телефон и отворите је. | Треба да се прикаже екран за пријаву. |
3 | Отворите екран за пријаву и проверите да ли су доступни текстови правилно написани. | Текст „Корисничко име“ и „Лозинка“ треба да се прикаже пре сродног оквира за текст. Дугме за пријаву требало би да има натпис „Пријави се“. „Заборавили сте лозинку?“ И „Регистрација“ би требало да буде доступна као везе. |
Четири. | Унесите текст у поље Корисничко име. | Текст се може унети кликом миша или фокусирањем помоћу картице. |
5. | Унесите текст у поље Лозинка. | Текст се може унети кликом миша или фокусирањем помоћу картице. |
6. | Кликните на заборављену лозинку? Линк. | Клик на везу треба да одведе корисника на сродни екран. |
8. | Унесите корисничко име и лозинку и кликните дугме Пријава. | Кликом на дугме Пријава требало би да дођете до повезаног екрана или апликације. |
9. | Идите у базу података и проверите да ли је тачно име табеле проверено у односу на улазне акредитиве. | Име табеле треба потврдити и ознаку статуса ажурирати за успешно или неуспешно пријављивање. |
10. | Кликните на Логин без уноса текста у поља Усер Наме и Пассворд. | Кликните на дугме Пријава да бисте упозорили на оквир за поруку „Корисничко име и лозинка су обавезни“. |
Једанаест. | Кликните на Логин без уношења текста у поље Усер Наме, већ уз унос текста у поље Пассворд. | Кликните на дугме Пријава да бисте упозорили на оквир за поруку „Лозинка је обавезна“. |
12. | Кликните на Логин без уноса текста у поље Пассворд, већ уноса текста у поље Усер Наме. | Кликните на дугме Пријава да бисте упозорили на оквир за поруку „Корисничко име је обавезно“. |
13. | Унесите максимално дозвољени текст у поља Корисничко име и Лозинка. | Треба да прихвати максимално дозвољених 30 знакова. |
14. | Унесите корисничко име и лозинку почевши од посебних знакова. | Не би требало да прихвате текст који почиње специјалним знаковима, што није дозвољено у Регистрацији. |
петнаест. | Унесите корисничко име и лозинку почевши од празних места. | Не би требало да прихвате текст који наводи празне просторе, што није дозвољено у Регистрацији. |
16. | Унесите текст у поље за лозинку. | Не би требало да приказује стварни текст, уместо тога требало би да буде приказан звездицом * симбол. |
17. | Освежите страницу за пријаву. | Страницу треба освежити са празним пољима Корисничко име и Лозинка. |
18. | Унесите корисничко име. | Зависно од поставки аутоматског попуњавања прегледача, претходно унета корисничка имена треба да се прикажу као падајући мени. |
19. | Унесите лозинку. | Зависи од поставки аутоматског попуњавања прегледача, претходно унете лозинке НЕ СМЕЈУ се приказивати као падајући мени. |
двадесет. | Померите фокус на везу Заборављена лозинка користећи Таб. | И тастер миша и тастер за унос треба да буду употребљиви. |
двадесет један. | Померите фокус на везу за регистрацију помоћу картице Таб. | И тастер миша и тастер за унос треба да буду употребљиви. |
22. | Освежите страницу за пријаву и притисните тастер Ентер. | Дугме за пријаву треба да буде фокусирано и да се покрене повезана радња. |
2. 3. | Освежите страницу за пријаву и притисните тастер Таб. | Прво фокусирање на екрану за пријаву требало би да буде поље Корисничко име. |
24. | Унесите корисника и лозинку и оставите страницу за пријављивање у стању мировања 10 минута. | Упозорење у оквиру за поруку „Сессион Екпиред, Ентер Усер Наме & Пассворд Агаин“ би требало да буде приказано са обрисаним пољима Корисничко име и Лозинка. |
25. | Унесите УРЛ за пријаву у прегледаче Цхроме, Фирефок и Интернет Екплорер. | Исти екран за пријаву требао би бити приказан без већих одступања у изгледу и поравнању и поравнању контрола текста и облика. |
26. | Унесите акредитиве за пријаву и проверите активност пријављивања у прегледачима Цхроме, Фирефок и Интернет Екплорер. | Дјеловање дугмета за пријаву требало би да буде једно те исто у свим прегледачима. |
27. | Проверите да ли је веза за заборављену лозинку и регистрацију неисправна у прегледачима Цхроме, Фирефок и Интернет Екплорер. | Обе везе би требале да воде до релативних екрана у свим прегледачима. |
28. | Проверите да ли функционалност пријаве исправно ради на Андроид мобилним телефонима. | Функција за пријаву требало би да функционише на исти начин као што је доступна у веб верзији. |
29. | Проверите да ли функционалност пријаве исправно ради на картицама Таб и иПхоне. | Функција за пријаву требало би да функционише на исти начин као што је доступна у веб верзији. |
30. | Проверите да ли екран за пријаву омогућава истодобним корисницима система и сви корисници добијају екран за пријаву без одлагања и у дефинисаном времену од 5-10 секунди. | То би требало постићи коришћењем многих комбинација оперативног система и прегледача било физички или виртуелно или се то може постићи помоћу неког алата за тестирање перформанси / оптерећења. |
Пробно прикупљање података
Када се пише тест случај, најважнији задатак било ког испитивача је прикупљање података о тестирању. Многи испитивачи ову активност прескачу и занемарују под претпоставком да се тест случајеви могу извршити са неким узорцима података или лажним подацима и да се могу хранити када су подаци заиста потребни. Ово је критична заблуда да се узорци података или улазни подаци уносе у меморију ума у време извршавања тест случајева.
Ако се подаци не прикупљају и не ажурирају у тест документу у време писања тестова, испитивач би потрошио необично више времена за прикупљање података у време извршења теста. Податке о испитивању треба сакупљати и за позитивне и за негативне случајеве из све перспективе функционалног тока обележја. Документ о пословној употреби је веома користан у овој ситуацији.
Нађите узорак документа са подацима о тестовима за горе написане тестове, што ће заузврат бити од помоћи у томе колико ефикасно можемо сакупљати податке који ће нам олакшати посао у време извршења теста.
да не | Сврха података о испитивању | Стварни подаци о тестовима |
---|---|---|
7. | Тестирајте корисничко име и лозинку са свим малим словима | администратор (админ2015) |
1. | Тестирајте правилно корисничко име и лозинку | Администратор (админ2015) |
2. | Тестирајте максималну дужину корисничког имена и лозинке | Администратор главног система (админ2015админ2015админ2015админ) |
3 | Тестирајте празно место за корисничко име и лозинку | Унесите празне просторе користећи размакницу за корисничко име и лозинку |
Четири. | Тестирајте неисправно корисничко име и лозинку | Администратор (активирано) (дигк ## $ такк209) |
5. | Тестирајте корисничко име и лозинку са неконтролисаним размацима између. | Админ истратор (админ 2015) |
6. | Тестирајте корисничко име и лозинку почевши од посебних знакова | $% # @ # $ Администратор (% # * # ** # админ) |
8. | Тестирајте корисничко име и лозинку са великим словима | АДМИНИСТРАТОР (АДМИН2015) |
9. | Тестирајте пријаву са истим корисничким именом и лозинком са више система истовремено. | Администратор (админ2015) - за Цхроме на истој машини и на другој машини са оперативним системом Виндовс КСП, Виндовс 7, Виндовс 8 и Виндовс Сервер. Администратор (админ2015) - за Фирефок на истој машини и на другој машини са оперативним системом Виндовс КСП, Виндовс 7, Виндовс 8 и Виндовс Сервер. Администратор (админ2015) - за Интернет Екплорер на истој машини и на другој машини са оперативним системом Виндовс КСП, Виндовс 7, Виндовс 8 и Виндовс Сервер. |
10. | Тестирајте пријаву са корисничким именом и лозинком у мобилној апликацији. | Администратор (админ2015) - за Сафари и Опера на Андроид мобилним уређајима, иПхонеима и таблетима. |
************************************************
Значај стандардизације тест случајева
У овом ужурбаном свету нико не може понављати ствари из дана у дан са истим нивоом интересовања и енергије. Нарочито нисам страствен због поновног обављања истог посла на послу. Волим да управљам стварима и да штедим време. Свако у ИТ би требао бити такав.
Све ИТ компаније извршавају различите врсте пројеката. Ови пројекти могу бити засновани на производима или услугама. Од ових пројеката, већина њих ради око веб локација и тестирање веб страница . Добра вест о томе је што све веб странице имају много сличности. А ако су веб локације за исти домен, имају и неколико заједничких карактеристика.
Питање које ме увек збуњује је следеће: „Ако је већина апликација слична, на пример: као што су малопродајне локације, које су већ хиљаду пута тестиране,„ Зашто требамо писати тестове за још једну малопродајну локацију од нуле? ” Неће ли уштедети тону времена извлачењем постојећих тест скрипти које су коришћене за тестирање претходне малопродајне локације?
Свакако, можда ћемо морати да урадимо неке мале дораде, али у целини је то лакше, ефикасније, штеди време и новац и тиме увек помаже у одржавању нивоа камата тестера. Ко воли да више пута пише, прегледа и одржава исте тестове, зар не? Поновном употребом постојећих тестова ово се може у великој мери решити и ваши клијенти ће и ово пронаћи паметно и логично.
Тако да сам логично почео да повлачим постојеће скрипте из сличних пројеката заснованих на Интернету, уносио промене и вршио брз преглед. Такође сам користио кодирање у боји да бих приказао промене које су направљене, тако да се рецензент може фокусирати само на део који је промењен.
Разлози за поновну употребу тест случајева
# 1) Већина функционалних подручја веб странице су готово пријављивање, регистрација, додавање у корпу, листа жеља, плаћање, опције испоруке, опције плаћања, садржај странице производа, недавно прегледани, релевантни производи, промотивни кодови итд.
#два) Већина пројеката су само побољшања или промене постојеће функционалности.
# 3) Системи за управљање садржајем који дефинишу слотове за отпремање слика статичким и динамичким начинима такође су уобичајени за све веб локације.
# 4) Малопродајне веб странице имају ЦСР Систем (служба за кориснике) такође.
# 5) Беккенд систем и складишна апликација која користи ЈДА такође користе све веб локације.
# 6) Концепт колачића, временског ограничења и сигурности су такође уобичајени.
# 7) Пројекти засновани на Интернету често су склони променама захтева.
# 8) Тхе врсте испитивања потребни су уобичајени попут претраживача испитивање компатибилности , тестирање перформанси , сигурносно тестирање
Видите, има доста заједничког и сличног.
Рекавши да је поновна употреба пут којим се иде, понекад саме модификације могу или не морају потрајати више или мање времена. Понекад се може осећати да је боље почети од нуле него толико модификовати.
Ово се лако може решити стварањем скупа стандардних тест случајева за сваку уобичајену функционалност.
Шта је стандардни тест у веб тестирању?
- Креирајте тест случајеве који су комплетни - кораци, подаци, променљива итд. Ово ће осигурати да неслични подаци / променљива могу једноставно бити замењени када је потребан сличан тест случај.
- Критеријуми за улаз и излаз требају бити правилно дефинисани.
- Кораци који се могу мењати или изјава у корацима треба да буду истакнути другом бојом за брзо проналажење и замену.
- Језик који се користи за израду стандардних тест случајева требао би бити генерички.
- Све карактеристике сваке веб странице треба да буду обухваћене тест случајевима.
- Назив тест случајева требао би бити назив функционалности или функције коју тест случај покрива. Ово ће знатно олакшати проналажење тест случаја из скупа.
- Ако постоји основни или стандардни узорак или ГУИ датотека или снимак екрана функције, онда је треба приложити са одговарајућим корацима.
Користећи горње савете можете створити скуп стандардних скрипти и користити их са мало или потребним изменама за различите веб локације.
И ови стандардни тест примери могу се аутоматизовати, али фокусирање на поновну употребу је увек плус. Такође, ако аутоматизација заснован је на ГУИ-у, поновна употреба скрипти на више УРЛ-ова или локација је нешто што лично никада нисам сматрао ефикасним.
Коришћење стандардног скупа ручних тестова за различите веб локације са мањим изменама је најбољи начин за тестирање веб локација. Све што нам треба је да креирамо и одржавамо тест случајеве са одговарајућим стандардима и употребом.
Закључак
Побољшање ефикасности тест случајева није једноставно дефинисан појам, већ је вежба и може се постићи сазрелим процесом и редовном праксом.
Тест тим се не би требао уморити од укључивања у побољшање таквих задатака јер је то најбољи алат за већа достигнућа у свету квалитета, што је доказано у многим тест организацијама широм света на критичним пројектима и сложеним апликацијама.
Надам се да сте стекли огромно знање о концепту тест случајева. Пазите на нашу серију водича да бисте сазнали више о тест случајевима и слободно изразите своје мисли у одељку за коментаре испод!
Препоручено читање
- Функционално тестирање вс нефункционално тестирање
- Водич за тестирање преносивости са практичним примерима
- Врсте тестирања софтвера: различите врсте испитивања са детаљима
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Алфа тестирање и бета тестирање (потпун водич)
- Шта је системско тестирање - крајњи водич за почетнике
- Узорци испитних радова са одговорима на ИСТКБ тестирање
- Како написати недељни извештај о тестирању софтвера