7 factors affecting test estimation selenium automation project selenium tutorial 32
В последните няколко урока по Selenium научихме за тестване за автоматизация с помощта на инструмент Краставица и Селен . Обсъдихме и за интеграция на Selenium WebDriver с краставица .
В този урок ще обсъдим различни фактори, влияещи върху оценката на усилията на автоматизацията на селен .
Планирането и оценката са два най-важни аспекта на жизнения цикъл на разработката на софтуер.
Аз лично смятам, че в софтуерната индустрия има такива без бронирани методи да правиш каквото и да било. Тъй като всеки проект е изключителен и има различни набори от сложност и фактори на околната среда, прилагането на стратегията за оценка и планиране трябва да бъде съвместно усилие на отделните екипи с подходящи намеси на възрастни хора и управленска подкрепа.
Преди да започнете с оценката на който и да е проект, е важно да разберете всяка фаза, през която ще премине вашият проект, така че да можете да дадете правилна и обоснована оценка.
Оценката може да се направи не само за процеса на ръчно тестване, но в тази ера на автоматизация техниките за оценка се прилагат и за автоматизация на тестовете. Сега Селенът набира скорост и популярност на пазара, опитвам се да напиша за някои фактори, които трябва да се вземат предвид при оценката на проект на Селен.
Да започваме!!
Предполагам, че стартираме инициативата за автоматизация от нулата и че нямаме налична готова рамка.
Какво ще научите:
- Фактори, влияещи върху оценката на автоматизацията на селена
- # 1 Обхват на проекта
- # 2 Сложност на приложението
- # 3 Използване на поддържащи инструменти / технологии
- # 4 Прилагане на рамката
- # 5 Обучение и обучение
- # 6 Настройка на околната среда
- # 7 Кодиране / скриптове и преглед
- Заключение:
- Препоръчително четене
Фактори, влияещи върху оценката на автоматизацията на селена
По-долу са обяснени различните фактори, които влияят и които трябва да вземете предвид за оценка на специфичен проект „Селен“:
# 1 Обхват на проекта
Обхватът обикновено означава идентифициране на правилните тестови случаи за автоматизация. Приложете стратегията „Разделяне и управление“, за да я постигнете. Разбийте приложението си на малки парчета или модули и анализирайте всеки от тях, за да излезете с подходящите тестови случаи за автоматизация.
Включените стъпки са:
- Идентифицирайте различните фактори, които ще формират основата за идентифициране на кандидат-тестовите случаи.
- Разделете приложението на по-малки модули
- Анализирайте всеки модул, за да идентифицирате кандидат-тестовите случаи
- Изчислете ROI
За повече подробности как да идентифицирате правилния тест, моля, вижте предишната ми статия: Избор на правилни тестови случаи за автоматизация
# 2 Сложност на приложението
Стъпките тук са:
- Определете размера на приложението въз основа на броя тестови случаи, които трябва да бъдат автоматизирани.
- Сложност на размера чрез поредицата на Фибоначи.
- Определете точката за проверка и контролната точка за всеки тест
Тук трябва да установим определението за голямо / средно и малко приложение. Това определение се различава от индивидуална / групова перспектива. Начинът, по който класифицирате приложението си, зависи също от броя на тестовите случаи.
Например:
Ако вашето приложение има 300 - 500 тестови случая за автоматизиране, можете да го разгледате като приложение с малък размер. Ако тестовите случаи са над 1500, те могат да бъдат класифицирани като сложни. Този фактор може да бъде различен за различното приложение. За някои 1500 тестови случая за автоматизиране могат да се считат за малки / средно мащабни. Така че, след като сте идентифицирали точния брой тестови случаи, го мащабирайте до малък / среден или голям. Вашата стратегия за оценка на усилията ще зависи до голяма степен от тези критерии.
Трябва също да вземете предвид различните контролни точки и точки за проверка за вашия тестов случай. Тестовият случай може да има повече от 1 контролна точка
но ще има само 1 точка за проверка. В случай че имате повече от 1 точка за проверка, препоръчително е да се раздели на отделни тестови случаи. Това също ще улесни вашата поддръжка и подобрение на вашия тестов пакет.
# 3 Използване на поддържащи инструменти / технологии
Стъпките тук са:
- Определете рамката и нуждите от автоматизация
- Въз основа на нуждите анализирайте и идентифицирайте инструментите, които ще използвате.
- Идентифицирайте зависимостите / последиците от използването на инструмента.
Селенът сам по себе си не е достатъчен за изграждане на рамка или за завършване на автоматизацията. Selenium (уеб драйвер) ще скриптира само тестовия случай, но има и други задачи, като докладване на резултата, проследяване на регистрационните файлове, правене на екранни снимки и т.н.
За да ги постигнете, се нуждаете от отделни инструменти, които ще бъдат интегрирани с вашата рамка. Затова е важно тук да идентифицирате тези подпомагащи субекти, които най-добре ще отговарят на вашите изисквания и ще помогнат за постигане на положителна възвръщаемост на инвестициите
# 4 Прилагане на рамката
Тук идва сложната част J, в която участват стъпките !!
- Определете входа (модел, при който данните се подават в скрипт) и изхода (отчети / резултати от теста) на вашия пакет за автоматизация.
- Проектирайте входните си файлове. Това може да варира от обикновен текстов файл до сложен Excel файл. Фактически файлът ще съдържа вашите тестови данни.
- Проектирайте структурата на папката въз основа на вашите входни параметри и
- Внедряване на функцията за отчитане (или в някакъв файл на Excel, или с помощта на инструмент като ReportNG)
- Определете / внедрете регистратора във вашата рамка
- Внедрете инструмента за изграждане във вашата рамка
- Прилагане на модулната тестова рамка (Junit или TestNG)
Има много други изисквания, освен просто скриптове в тестовата автоматизация със Selenium, като четене на данни от файл, докладване / проследяване на резултатите от теста, проследяване на регистрационни файлове, задействане на скриптове въз основа на условията на въвеждане и околната среда и т.н. Така че ние се нуждаем от структура които ще се погрижат за всички тези скриптове. Тази структура не е нищо друго освен вашата рамка.
Уеб приложенията са сложни по природа, тъй като включват много помощни инструменти и технологии за внедряване. По подобен начин прилагането на рамката в Selenium също е сложно (няма да кажа сложно), тъй като включва други инструменти за интегриране. Тъй като знаем, че Selenium НЕ е инструмент, а всъщност е колекция / група от jar файлове, той е конфигуриран, а не „Инсталиран“, самият Selenium не е достатъчно силен, за да изгради сложна рамка. Той изисква списък с инструменти на трети страни за изграждане на рамка.
Тук трябва да помним, че в Селен няма нищо „готово“. За всичко трябва да кодираме, така че трябва да има разпоредби за оценка за гуглиране на грешките и отстраняване на неизправности.
Тук трябва да разберем, че изграждането на Framework е най-важният аспект на усилията ви за автоматизация. Ако вашата рамка е стабилна, поддръжката и подобрението стават по-лесни, особено в ерата на Agile, ако вашата рамка е добра, можете лесно да интегрирате тестовете си във всички спринтове.
Няма да сгреша, ако кажа, че този конкретен фактор при проектирането на рамката трябва да бъде най-важният аспект на оценката. Ако е необходимо (като при сложно приложение) този фактор трябва отново да бъде разделен на отделен WBS и да се направи оценка.
# 5 Обучение и обучение
Изучаването на селен е малко по-различно от изучаването на който и да е друг инструмент за автоматизация. Това основно включва изучаване на език за програмиране, отколкото просто скриптов език (макар че езикът на скриптове помага, докато изграждате рамка, като искате да напишете скрипт, който да извика вашите автоматизирани скриптове след извършване на промените в настройките на средата).
В случай, че комбинираме WebDriver с java, бих казал, че ако човек е добре запознат с основната java, той е в много добра форма да започне с автоматизация на Selenium.
Заедно с изучаването на Java, трябва да има разпоредби за изучаване на други технологии като ANT / Maven (за изграждане), TestNG / jUnit (рамка за единичен тест), Log4J (за регистриране), отчитане (за отчитане) и т.н. този списък може да се разраства въз основа на нивото на рамката. Колкото повече расте този списък, толкова повече време ще отнеме.
Ако ръководството е решило да използва селен, тези учебни дейности могат да се извършват паралелно с дейността по планиране. Тъй като няма ограничение за изучаването на тези технологии, се препоръчва да се подготви определен план (учебна програма) за екипа, така че те да могат да инициират своя учебен процес в определена посока и всички да са на една и съща страница.
Практически погледнато, ние, тестерите, не искаме много да научим пълноценен език за програмиране и смятаме, че това е част от разработчиците. Но сега трябва да променим този манталитет и трябва да помислим, че изучаването на езика за програмиране е също толкова важно, колкото изучаването на новия процес на тестване. Това не само ще увеличи знанията на тестера за езика и автоматизацията, но и ще даде шанс да разбере как приложението работи вътрешно, което може да увеличи техния обхват за намиране на нови грешки.
# 6 Настройка на околната среда
Околната среда, сключва сделки с (не само): -
- Настройка на кода в тестовата среда
- Настройване на код в производствена среда
- Писане на скриптове за задействане на автоматизирани тестове.
- Разработване на логика за докладване
- Установяване на честотата на изпълнение на скриптовете и разработване на логика за нейното изпълнение
- Създаване на текстови / Excel файлове за въвеждане на тестови данни и тестови случаи
- Създаване на файлове с свойства за проследяване на средите и идентификационните данни
# 7 Кодиране / скриптове и преглед
Преди да започнете да пишете тестовете си, има 2 предпоставки:
- Кандидатстващите тестови случаи трябва да са удобни
- Рамката е готова
Идентифицирайте различни действия, които вашето уеб приложение извършва. Това могат да бъдат прости действия като навигация, щракване, въвеждане на текст; или сложно действие като свързване към база данни, обработка на флаш или Ajax. Вземете по един тестов случай и определете какво действие прави този конкретен тестов случай и изчислете часовете за всеки тестов случай. Сумата от всички часове за целия набор от тестове ще ви даде точния брой.
Трябва да има и разпоредба за преглед. Прегледите са просто преглед на кода, който може да бъде направен от партньор или разработчик. Програмирането по двойки е най-добрият вариант, който е бърз, но ако това не е възможно, въз основа на наличните ресурси или стратегията за преглед на организациите, трябва да се отделят часове за него.
Повече подробности за всеки фактор, влияещ върху оценката:
Фактор # 1: Обхват
Значение : Идентифициране на кандидат-тестовите случаи за автоматизация чрез ROI
Включени стъпки:
- Идентифицирайте различните фактори, които ще формират основата за идентифициране на кандидат-тестовите случаи.
- Разделете приложението на по-малки модули
- Анализирайте всеки модул, за да идентифицирате кандидат-тестовите случаи
- Изчислете ROI
Доставка: Списък на тестовите случаи, които трябва да се автоматизират.
Забележки: Важно е да замразите обхвата си, след като продължите с други стъпки за оценка.
Фактор 2: Сложност
Значение: Установете дефиницията на просто и малко по размер приложение.
Включени стъпки:
- Оразмерете приложението въз основа на броя тестови случаи, които трябва да бъдат автоматизирани.
- Сложност на размера чрез поредицата на Фибоначи.
- Определете точката за проверка и контролната точка за всеки тест.
Доставка: Размер на приложението - малък, среден или голям.
Редица тестови случаи и съответните им контролно-пропускателни пунктове.
Забележки : Препоръчително - Тестовият случай може да има множество контролни точки, но само 1 контролна точка. Ако тестовият случай има повече от 1 точка за проверка, той трябва да бъде разделен в отделен тестов случай.
Фактор 3: Поддържащи инструменти
Значение: Самият селен не е достатъчно силен, за да изгради сложна рамка. Изисква списък с рамкови инструменти за изграждане на рамка.
Включени стъпки:
- Финализирана IDE
- Финализиран инструмент за единичен тест
- Финализиран регистратор
- Финализиран инструмент за отчитане
- Финализиран инструмент за изграждане
Доставка: Списък на инструментите, необходими за създаване на рамката.
Забележки:
Примери:
- Eclipse / RAD - като IDE
- Ant / Maven - Като инструмент за изграждане
- jUnit / TestNG - като рамка за единичен тест
- Log4j - като Logger
- ReportiNG - като инструмент за отчитане
- Текстови файлове - за проследяване на среди / идентификационни данни
- Excel файлове - за проследяване на тестовите данни
- Perl / Python - за настройка на среда и задействане на тестовите скриптове.
Фактор # 4: Прилагане на рамка
Значение: Създаване на структура
Включени стъпки:
- Проектирайте входните си файлове.
- Проектирайте структурата на папките
- Определете / внедрете регистратора във вашата рамка
- Внедрете инструмента за изграждане във вашата рамка
- Внедрете рамката за модулен тест
Доставка:
- Структура на рамка и папка, създадена в IDE.
- Листове на Excel, съдържащи вашите входни данни
- Файлове на свойства, съдържащи данни и идентификационни данни, свързани с околната среда.
Забележки: Това е най-важната стъпка. Препоръчително е да се включи известно време на буфера, докато се прави оценка, тъй като отстраняването на неизправности отнема повече време от очакваното.
Фактор # 5: Създадена среда
Значение: Занимава се с настройка на код и изтегляне / подготовка за внедряването на кода
Включени стъпки:
- Подгответе входния файл и отчет
- Създайте задействащия скрипт
Доставка: Околна среда готова
Забележки: Трябва да се опитаме да изградим нашата рамка по такъв начин, че с най-малко неприятности, нашият код да бъде разположен в споменатата среда / кутия.
Не бива да греша, ако кажа, че с минимални записи в нашите текстови файлове (които имат URL и идентификационни данни) нашият код трябва да е готов за стартиране и РОК!
Фактор # 6: Обучение и обучение
Значение: Изучаване на език за програмиране и други поддържащи технологии
Включени стъпки: Подгответе план според вашите нужди за автоматизация и го споделете с екипа и ги насърчете да учат и да продължат според учебната програма.
Доставка: План за обучение и неговия тракер, който ще проследява напредъка на отбора.
Забележки: Акцентът трябва да бъде върху изграждането на логики, а не синтаксис на обучение.
Фактор # 7: Кодиране / скриптове и преглед
Значение: Писане на действителните тестови скриптове и преглед на тях
Включени стъпки:
- Тестовите случаи и рамката е готова.
- Вземете / разделете тестовите случаи и ги конвертирайте в автоматизирани скриптове и проследете напредъка си
Доставка: Автоматизирани тестови скриптове
Забележки: Целият екип трябва да участва в писането на тестовите скриптове, използвайки внедрената рамка. Така че, докато правите оценка, трябва да се вземат предвид усилията на целия екип.
Заключение :
След като казахте за всички тези точки, не забравяйте да включите режийни разходи за управление и малко буферно време във вашата окончателна оценка за автоматизация на Selenium. Най-добрият и доказан начин за извършване на всяка оценка е да се следва механизмът WBS (Work Breakdown Structure). Това е направо напред и служи за изпълнение на нуждите за оценка на автоматизацията.
Споменатите по-горе фактори са тези, базирани на моя опит, но може да има и други субекти, които могат да повлияят на стратегията.
Правилото за палеца тук е „Определете определени критерии, разделете модулите или тестовия случай по тези критерии; и го мащабирайте ”. Въз основа на вашата мащабирана фигура - можете да стигнете до точна оценка.
plsql интервю въпроси и отговори за опитни
Следващ урок # 33 : Ще завършим нашите най-изчерпателната поредица от онлайн уроци за обучение на Selenium с последния урок, т.е. ' Въпроси за интервю за тестване на селен с отговори ”.
Уведомете ни, ако имате други съвети за оценка на усилията на проектите на Selenium.
Препоръчително четене
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Ефективни сценарии за скриптове и отстраняване на неизправности при селен - Урок №27 за селен
- Отстраняване на грешки в скриптове за селен с регистрационни файлове (Урок за Log4j) - Урок за селен # 26
- 30+ най-добри урока за селен: Научете селен с реални примери
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Как да намерим елементи в браузърите Chrome и IE за изграждане на скриптове за селен - Урок № 7 за селен
- Най-популярните рамки за автоматизация на тестове с плюсове и минуси на всеки - Урок № 20 за селен
- Внедряване на нашия първи скрипт за WebDriver - Урок № 10 за Selenium WebDriver