7 factors affecting test estimation selenium automation project selenium tutorial 32
У последњих неколико лекција о селенију смо сазнали више о томе испитивање аутоматизације помоћу алата Краставац и Селен . Такође смо разговарали о интеграција Селениум ВебДривер-а са краставцем .
У овом упутству ћемо разговарати о различитим фактори који утичу на процену напора аутоматизације селена .
Планирање и процена су два најважнија аспекта животног циклуса развоја софтвера.
Лично сматрам да у софтверској индустрији постоје без непробојних метода да било шта ради. С обзиром на то да је сваки пројекат ексклузиван и има различите скупове сложености и фактора окружења, спровођење стратегије процене и планирања требало би да буде заједнички напор појединачних тимова уз одговарајуће интервенције старијих и подршку менаџмента.
Пре него што започнете са проценом било ког пројекта, неопходно је да разумете сваку фазу кроз коју ће ваш пројекат проћи, тако да можете дати тачну и оправдану процену.
Процена се не може извршити само за поступак ручног испитивања, већ се у овој ери аутоматизације технике процене примењују и на аутоматизацију испитивања. Сада Селениум добија замах и популарност на тржишту, покушавам да пишем о неким факторима које треба узети у обзир приликом процене пројекта Селениум.
Почнимо!!
Претпостављам да иницијативу за аутоматизацију покрећемо од нуле и да немамо готов оквир на располагању.
Шта ћете научити:
- Фактори који утичу на процену аутоматизације селена
- # 1 Обим пројекта
- # 2 Сложеност апликације
- # 3 Употреба пратећих алата / технологија
- # 4 Имплементација оквира
- # 5 Учење и обука
- # 6 Подешавање окружења
- # 7 Кодирање / скриптирање и преглед
- Закључак:
- Препоручено читање
Фактори који утичу на процену аутоматизације селена
У наставку су објашњени различити фактори који утичу и које бисте требали узети у обзир за процену конкретног пројекта „Селен“:
# 1 Обим пројекта
Опсег обично значи идентификовање тачних тест случајева за аутоматизацију. Примените стратегију „Подели и владај“ да бисте је постигли. Раздвојите своју апликацију на мале делове или модуле и анализирајте сваки од њих да бисте пронашли одговарајуће тестове за аутоматизацију.
Кораци који су обухваћени су:
- Утврдите различите факторе који ће бити основа за идентификовање тест случајева кандидата.
- Раздвојите апликацију на мање модуле
- Анализирајте сваки модул да бисте идентификовали тест случајеве кандидата
- Израчунајте повраћај улагања
За више детаља о томе како препознати тачан тест, погледајте мој претходни рад: Избор исправних тест случајева за аутоматизацију
# 2 Сложеност апликације
Овде су обухваћени следећи кораци:
- Одредите величину апликације на основу броја тест случајева које треба аутоматизовати.
- Сложеност величине кроз Фибоначијеву серију.
- Одредите тачку верификације и контролну тачку сваког тест случаја
Овде морамо успоставити дефиницију велике / средње и мале примене. Ова дефиниција се разликује од перспективе појединца / групе. Начин на који класификујете своју апликацију такође може зависити од броја тест случајева.
На пример:
Ако ваша апликација има 300 - 500 тестова за аутоматизацију, можете је сматрати апликацијом мале величине. Ако је тест случајева више од 1500, то се може класификовати као сложено. Овај фактор се може разликовати за различите примене. За неке, 1500 тест случајева за аутоматизацију могу се сматрати малим / средњим размерама. Дакле, након што утврдите тачан број тест случајева, прилагодите га на мали / средњи или велики. Ваша стратегија за процену напора увелико ће зависити од ових критеријума.
Такође морате узети у обзир различите контролне тачке и тачке за верификацију за свој тест случај. Тест случај може имати више од 1 контролне тачке
али имаће само 1 тачку верификације. У случају да имате више од 1 верификационе тачке, препоручује се да се раздели у одвојене тест случајеве. Ово ће вам такође олакшати одржавање и унапређење тест пакета.
# 3 Употреба пратећих алата / технологија
Овде су обухваћени следећи кораци:
- Идентификујте оквир и потребе за аутоматизацијом
- На основу потреба анализирајте и идентификујте алате који ће се користити.
- Утврдите зависности / импликације употребе алата.
Селен сам по себи није довољан за изградњу оквира или довршење аутоматизације. Селениум (веб управљачки програм) ће скриптирати само тест случај, али постоје и други задаци, попут извештавања о резултату, праћења евиденција, прављења снимака екрана итд.
Да бисте их постигли, требају вам засебни алати који ће бити интегрисани у ваш оквир. Дакле, овде је важно идентификовати ове пратеће субјекте који ће најбоље одговарати вашим захтевима и који ће вам помоћи да добијете позитиван повраћај улагања
# 4 Имплементација оквира
Ево лукавог дела Ј који су укључени кораци !!
- Утврдите улаз (образац у коме се подаци уносе у скрипту) и излаз (извештаји / резултати теста) вашег комплета за аутоматизацију.
- Дизајнирајте своје улазне датотеке. То може варирати од једноставне текстуалне датотеке до сложене екцел датотеке. У основи је датотека која ће имати ваше податке о тесту.
- Дизајнирајте структуру директоријума на основу ваших улазних параметара и
- Примените функцију извештавања (било у некој екцел датотеци или помоћу било ког алата као што је РепортНГ)
- Утврдите / примените логгер у свом оквиру
- Имплементирајте алатку за изградњу у свој оквир
- Имплементирајте оквир за јединствено тестирање (Јунит или ТестНГ)
Постоје и многи други захтеви, осим самог скриптирања у аутоматизацији теста са Селениумом, попут читања података из датотеке, извештавања / праћења резултата теста, праћења дневника, покретања скрипти на основу улазних услова и окружења итд. Дакле, потребна нам је структура која ће се побринути за све ове скрипте. Ова структура није ништа друго до ваш оквир.
Веб апликације су сложене по природи јер укључују мноштво пратећих алата и технологије за примену. На сличан начин, примена оквира у селенију је такође незгодна (нећу рећи сложена) јер укључује друге алате за интеграцију. Будући да знамо да Селениум НИЈЕ алат, већ заправо колекција / група јар датотека, он је конфигурисан, а не „Инсталиран“, сам Селениум није довољно јак за изградњу сложеног оквира. Потребна је листа независних алата за изградњу оквира.
Овде морамо имати на уму да у селенијуму нема ничега „Готовог“. За све морамо да кодирамо, тако да би требало да постоје одредбе у процени за гуглање грешака и решавање проблема.
Овде морамо схватити да је та изградња оквира најважнији аспект вашег напора у аутоматизацији. Ако је ваш оквир чврст, одржавање и побољшање постају лакши, посебно у ери Агиле-а, ако је ваш оквир добар, можете лако интегрирати своје тестове у све спринтеве.
Нећу погрешити ако кажем да би управо овај фактор дизајнирања Оквира требао бити најважнији аспект процене. Ако је потребно (као у сложеној примени) овај фактор треба поново поделити у засебни ВБС и извршити процену.
# 5 Учење и обука
Учење селена је мало другачије од учења било ког другог алата за аутоматизацију. У основи укључује учење програмског језика, а не само скриптног језика (мада језик скрипти помаже при изградњи оквира какав желите да напишете скрипту која би позвала ваше аутоматизоване скрипте након промена подешавања окружења).
У случају да комбинујемо ВебДривер са Јава-ом, рекао бих да ако је добро упућен у основну Јава-у, у врло су добром стању да започну са Селениум аутоматизацијом.
Уз учење Јава-а, треба да постоје и одредбе за учење других технологија као што су АНТ / Мавен (за изградњу), ТестНГ / јУнит (јединствени тестни оквир), Лог4Ј (за евидентирање), извештавање (за извештавање) итд. Ова листа може расти на основу ниво оквира. Што више ова листа расте, требало би више времена.
Ако се руководство одлучило да крене са селеном, ове активности учења могу се обављати паралелно са планирањем. С обзиром да нема ограничења за учење ових технологија, предлаже се да се за тим припреми одређени план (наставни план) како би могао започети свој процес учења у одређеном смеру и сви су на истој страници.
Практично говорећи, ми тестери нисмо баш много заинтересовани за учење пуноправног програмског језика и осећамо да је ово колач програмера. Али сада морамо променити овај менталитет и учење програмског језика требало би да сматрамо подједнако важним као и учење новог процеса тестирања. То неће само повећати знање тестера о језику и аутоматизацији, већ ће пружити прилику да разуме како апликација интерно функционише, што може повећати њихов опсег за проналажење нових грешака.
# 6 Подешавање окружења
Животна средина се бави (није ограничена на): -
- Постављање кода у тест окружењу
- Постављање кода у производном окружењу
- Писање скрипти за покретање аутоматизованих тестова.
- Развијање логике за извештавање
- Утврђивање учесталости покретања скрипти и развијање логике за његову примену
- Стварање текстуалних / екцел датотека за унос тест података и тест случајева
- Креирање датотека својстава за праћење окружења и акредитива
# 7 Кодирање / скриптирање и преглед
Пре него што заиста започнете писање тестова, постоје 2 предуслова:
- Случајеви за тестирање кандидата требају бити корисни
- Оквир је спреман
Утврдите различите радње које ваша веб апликација ради. То могу бити једноставне радње попут навигације, клика, уноса текста; или сложена радња попут повезивања са базом података, руковања флешом или Ајаком. Узмите по један тест случај и утврдите шта све тај конкретни случај предузима и сходно томе процените сате за сваки тест случај. Збир свих сати за читав испитни пакет ће вам дати тачан број.
Такође би требало да постоје одредбе за преглед. Прегледи су једноставно преиспитивање кода које може обавити било колег или програмер. Програмирање у пару је најбоља опција која је брза, али ако то није могуће, на основу расположивих ресурса или стратегије ревизије организација, за то треба доделити сате.
Више детаља о сваком фактору који утиче на процену:
Фактор 1: Обим
Значење : Идентификовање тест случајева за аутоматизацију путем РОИ
Укључени кораци:
- Утврдите различите факторе који ће бити основа за идентификовање тест случајева кандидата.
- Раздвојите апликацију на мање модуле
- Анализирајте сваки модул да бисте идентификовали тест случајеве кандидата
- Израчунајте повраћај улагања
Испоручиво: Списак тест случајева које треба аутоматизовати.
Напомене: Важно је замрзнути опсег након што наставите са другим корацима процене.
Фактор 2: Сложеност
Значење: Успоставите дефиницију директне и мале примене.
Укључени кораци:
- Величина апликације на основу броја тест случајева који треба аутоматизовати.
- Сложеност величине кроз Фибоначијеву серију.
- Одредите тачку верификације и контролну тачку сваког тест случаја.
Испоручиво: Величина апликације - мала, средња или велика.
Одређени број тест случајева и одговарајућа контролна тачка и тачка верификације.
Примедбе : Препоручено - Тест случај може имати више контролних тачака, али само 1 верификациону тачку. Ако тест случај има више од 1 тачке за верификацију, треба га раздвојити у засебан тест случај.
Фактор 3: Алати за подршку
Значење: Селен сам по себи није довољно јак за изградњу сложеног оквира. Потребна је листа алата за изградњу оквира.
Укључени кораци:
- Финализирани ИДЕ
- Завршен алат за јединствено тестирање
- Завршен записник
- Финализован алат за извештавање
- Финализовани алат за изградњу
Испоручиво: Списак алата потребних за стварање оквира.
Напомене:
Примери:
- Ецлипсе / РАД - као ИДЕ
- Ант / Мавен - Као алат за изградњу
- јУнит / ТестНГ - као оквир за јединствено тестирање
- Лог4ј - као Логгер
- Извештавање - као алат за извештавање
- Текстуалне датотеке - за праћење окружења / акредитива
- Екцел датотеке - за праћење података о тесту
- Перл / Питхон - за подешавање окружења и покретање тест скрипти.
Фактор # 4: Имплементациони оквир
Значење: Стварање структуре
Укључени кораци:
- Дизајнирајте своје улазне датотеке.
- Дизајнирајте структуру директоријума
- Утврдите / примените логгер у оквиру
- Имплементирајте алатку за изградњу у свој оквир
- Спровести оквир за јединствено тестирање
Испоручиво:
- Структура оквира и мапе креирана у ИДЕ-у.
- Екцел листови који садрже ваше улазне податке
- Датотеке својстава које садрже податке и акредитиве повезане са окружењем.
Напомене: Ово је најважнији корак. Препоручљиво је укључити мало времена међуспремника приликом процене, јер решавање неких проблема захтева више времена него што се очекивало.
Фактор 5: Успостављено окружење
Значење: Бави се подешавањем кода и преузимањем / припремом за примену кода
Укључени кораци:
- Припремите улазну датотеку и извештавање
- Направите скрипту за активирање
Испоручиво: Окружење спремно
Напомене: Требало би да покушамо да изградимо наш оквир на такав начин да се уз најмање муке наш код распореди у наведено окружење / оквир.
Не бих смео да погрешим ако кажем да уз минимално уноса у наше текстуалне датотеке (које имају УРЛ и акредитиве) наш код треба да буде спреман за покретање и РОЦК!
Фактор 6: Учење и обука
Значење: Учење програмског језика и других пратећих технологија
Укључени кораци: Припремите план према вашим потребама за аутоматизацијом и поделите га са тимом и подстакните их да уче и наставе према наставном програму.
Испоручиво: План тренинга и његов трацкер који ће пратити напредак тима.
Напомене: Акценат би требао бити на изградњи логике, а не на синтакси учења.
Фактор 7: Кодирање / скриптирање и преглед
Значење: Писање стварних скрипти за тест и њихово прегледање
Укључени кораци:
- Тест примери и оквир је спреман.
- Узмите / поделите тест случајеве и претворите их у аутоматизоване скрипте и пратите свој напредак
Испоручиво: Аутоматизоване тест скрипте
Напомене: Читав тим треба да учествује у писању тест скрипти користећи примењени оквир. Дакле, приликом процене треба узети у обзир напоре целог тима.
Закључак :
Након што сте рекли за све ове тачке, не заборавите да у коначну процену аутоматизације Селениум уврстите опсег управљања и неко време бафера. Најбољи и доказани начин за било какву процену је праћење механизма ВБС (Ворк Бреакдовн Струцтуре). Ово је директно и служи у сврху спровођења потреба за проценом аутоматизације.
Горе наведени фактори су они засновани на мом искуству, али могу бити и други ентитети који би могли утицати на стратегију.
Овде је правило палца „Утврдите одређене критеријуме, поделите своје модуле или тест на тим критеријумима; и скалирајте га “. На основу ваше скалиране фигуре - можете доћи до тачне процене.
линук интервју питања и одговори за искусне
Следећи водич # 33 : Закључићемо своје најопсежнија серија бесплатних туторијала на мрежи за обуку Селениум са последњим упутством, тј. Питања за интервју за испитивање селена са одговорима ”.
Јавите нам ако имате још савета за процену напора Селениум пројеката.
Препоручено читање
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Ефикасни сценарији за скриптирање и решавање проблема са селенијем - Водич за селениј # 27
- Отклањање грешака у скриптама селена помоћу дневника (Водич за Лог4ј) - Водич за селен # 26
- 30+ најбољих водича за селен: научите селен на стварним примерима
- Водич за краставац селенијум: Интеграција Јава Селениум ВебДривер краставца
- Како лоцирати елементе у Цхроме и ИЕ прегледачима за изградњу скрипти за селен - Водич за селен # 7
- Најпопуларнији оквири за аутоматизацију тестова са разлозима за и против - Селен Туториал # 20
- Примена наше прве скрипте за ВебДривер - Водич бр. 10 за Селениум ВебДривер