top 10 test automation strategies
Това е последната статия в серия за автоматизация на тестове . Тази статия обобщава най-добрите практики и стратегии за извършване на автоматизация на тестове.
Въпреки че в предишните ни статии се споменават най-добрите практики (и някои от тях може да се повторят тук), силно се почувствах да изброя малкото, но най-важните най-добри практики за автоматизация тук в една статия за справка .
Тези стратегии са взети от собствения ми опит плюс от литературата за тестване на гурута като Майкъл Болтън, Джеймс Бах и Джем Канер. Тези практики трябва да се следват във всеки проект за автоматизация.
Какво ще научите:
- 10 най-добри стратегии и практики за автоматизация на тестовете
- # 1. Наемете специализиран инженер по автоматизация или екип
- # 2. Инструментът за автоматизация е важен, но не е решението на всичко
- # 3. Изберете инструмента за автоматизация, който е познат на вашите ресурси
- # 4. Познайте приложението, което се тества
- # 5. Добрата автоматизация означава добър ръчен тест
- # 6. Идентифицирайте възможностите с автоматизация
- # 7. Не можете да автоматизирате всичко
- # 8. Избягвайте автоматизацията на GUI, когато има алтернатива
- # 9. Използвайте Automation и за други полезни цели
- # 10. Автоматизацията е разработване на софтуер
- Заключение
- Препоръчително четене
10 най-добри стратегии и практики за автоматизация на тестовете
Ето ни..
# 1. Наемете специализиран инженер по автоматизация или екип
Това е основно нещо, което трябва да направите. Не молете ръчните си тестери да се отдадат на автоматизация на тестовете. Ако искате те да направят автоматизация на тестовете, освободете ги от ръчно тестване. Автоматизацията на тестовете е работа на пълен работен ден. За това са ви необходими специални ресурси.
Препоръчвам да изградите екип за автоматизация на тестове, състоящ се от поне един архитект на автоматизацията. Можете да наемете множество инженери по автоматизация, които да работят под ръководството на архитекта на тестовата автоматизация. Броят на инженерите по автоматизация зависи от броя и размера на вашите продукти.
c ++ практически въпроси и отговори pdf
# 2. Инструментът за автоматизация е важен, но не е решението на всичко
Говорихме за избор на инструмент . Но изборът на правилния инструмент е само началото. Някои мениджъри имат погрешното схващане, че ако изберат правилния инструмент, могат лесно да автоматизират всичко. Внимавайте, инструментите за автоматизация не ви дават всичко. Те улесняват процеса. Но имате нужда от квалифицирани ресурси, за да завършите процеса.
Често инструментите за автоматизация са бъги и те остават при идентифицирането на сложни обекти в приложението. Ресурсите, които наемате, ако са квалифицирани, намират решение, което води процеса напред. В противен случай, ако не наемете добри ресурси, Tool сам не може да гарантира успешна автоматизация.
# 3. Изберете инструмента за автоматизация, който е познат на вашите ресурси
Ако вашите ресурси са запознати със C # и приложението ви за тестване също е разработено в C #, тогава няма смисъл да избирате инструмента, който не предлага C # за писане на скриптове.
Езиковото обучение е процес, който отнема време. Избягвайте тази крива на обучение, като закупите инструмент, който предлага минимална крива на обучение.
# 4. Познайте приложението, което се тества
Изборът на инструмент зависи в голяма степен от технологиите, използвани във вашия продукт. Познайте продукта си отвътре навън, преди да започнете автоматизацията.
Ако това е уеб приложение, знайте браузърите, които ще поддържа. Познайте технологиите, използвани в него. Ако това е настолно приложение, знайте на кой език е надграден. Какви контроли на трети страни се използват в приложението. Това ще ви помогне да улесните избора на инструменти и бъдещата автоматизация.
# 5. Добрата автоматизация означава добър ръчен тест
Добре написани силни ръчни тестови случаи спаси ни от автоматизиране на онези тестови случаи, които са лесни за автоматизиране, но са слаби при намиране на дефекти.
Ето цитата от книгата „Уроци, научени при тестване на софтуер“:
„Автоматизирането без добър тестов дизайн може да доведе до много активност, но малка стойност.“
Винаги е препоръчително първо да напишете тестовия случай в ръчна форма. Идентифицирайте всички предпоставки и данни от теста . Напишете стъпките по ясен начин и напишете очакваните резултати пред всяка стъпка. Целта на един тестов случай трябва да бъде ясна и трябва да бъде по-малко зависима от другите тестови случаи. Инженерите на автоматизацията трябва да изпълняват този тест ръчно поне веднъж, за да решат ясно кои обекти трябва да бъдат идентифицирани и какъв ще бъде потокът на навигацията. Задавайте въпроси с ръчни тестери.
Тази дейност понякога помага за идентифициране на грешки дори преди да бъде написан скриптът за автоматизация. Експертите казват, че по-голямата част от грешките се идентифицират във фазата на разработка на автоматизацията на теста, а не във фазата на действителното изпълнение.
# 6. Идентифицирайте възможностите с автоматизация
Ако сте предадени с ръчен тест за автоматизация , не просто автоматизирайте този тестов случай, какъвто е. Вместо това намерете допълнителни възможности във вашата автоматизация, за да разширите обхвата на този тестов случай.
каква е разликата между тестовия план и тестовата стратегия
Например, ако изискването за ръчен тест е, трябва да влезете в уеб страница. Можете да разширите този тестов случай, като го направите управляван от данни. Избройте всички възможни сценарии за влизане като невалидна парола, празна парола, невалидно потребителско име, невалиден имейл, празно потребителско име, запомнете ме проверено, непроверено и др. Избройте възможните сценарии заедно с очаквания резултат във файл на Excel и поставете този файл на Excel като източник на данни за вашия тестов случай. Сега този един ръчен тестов случай, след като бъде автоматизиран, може да тества всички възможни сценарии с едно движение.
Винаги търсете възможности, които могат да се направят с автоматизация, но трудно да се направят ръчно. Като сценарии за тестване на натоварване, бенчмаркове за производителност, едни и същи тестове в различни среди с различни конфигурации, изтичане на памет, тестове с висока прецизност и т.н.
# 7. Не можете да автоматизирате всичко
Автоматизацията означава по-често провеждане на по-малко тестове. Трябва да започнете от малко, като първо атакувате димните си тестове. След това покрийте своя изграждане на тестове за приемане . След това преминете към често провежданите тестове, след това преминете към времето за вземане на тестове. Но се уверете, че всеки тест, който автоматизирате, спестява време за ръчен тестер, за да се съсредоточи върху по-важни неща.
Автоматизацията не е тук, за да замени ръчните тестери. Нито може. Тук е да отнеме многократната работа от ръчните тестери, за да могат те да използват пълния си фокус и сила при намирането на нови сценарии за тестване и грешки. (Прочетете статията ми Заблуди за автоматизация на тестове)
Автоматизирайте няколко теста, които са ценна и спестяващи време или трудно да се направи за ръчни тестери. Ако сте направили това, задачата за автоматизация е изпълнена.
# 8. Избягвайте автоматизацията на GUI, когато има алтернатива
GUI автоматизацията винаги е по-строга от другите видове автоматизирани тестове. Така че, ако има ситуация, в която можете да постигнете целта си, като не автоматизирате GUI, а чрез някои други методи като входове от командния ред, тогава най-добрата стратегия е да се избегне автоматизацията на GUI.
Например, искате да тествате инсталацията на приложението. Целта е да се провери дали приложението е инсталирано или не в определена среда. Един от подходите е да стартирате инсталацията и да кликнете върху „ Следващия ”Бутон няколко пъти чрез вашия инструмент за автоматизация. Тя може да бъде трудна, отнема много време и подлежи на поддръжка, ако потребителският интерфейс се промени. Другият подход е да се инициира инсталацията на приложението с команден файл, давайки тихи аргументи. Приложението ще се инсталира безшумно, без да показва GUI. Целта ще бъде постигната за по-кратко време и по-надежден начин.
# 9. Използвайте Automation и за други полезни цели
Автоматизацията е толкова фантастично нещо. Можете да постигнете такива неща от него, за които обикновено не мислите. Автоматизацията не е само програмиране на ръчен тестов случай. Вместо, можете да използвате автоматизация, за да улесните различни операции във вашата организация.
Например, можете да използвате автоматизация за автоматично създаване на основни данни и конфигуриране на конфигурации за ръчни тестери. За да могат те да започнат тестването си възможно най-рано.
Мога да дам един пример от собствената си компания. Искахме да преминем от нашия инструмент за управление на тестови случаи. Използвахме “Test Director” (сега HP ALM) и искахме да преминем към TFS (Сървър на Team Foundation). Имахме около 4000 ръчни тестови случая и бъгове в тестовия директор. Прехвърлянето им ръчно в TFS може да отнеме около месец. Затова мениджърът ме помоли да опитам някаква автоматизация.
Изрових тези инструменти и разбрах, че Test Director използва SQL сървър като свое хранилище. За TFS открих инструмент, който може да чете тестови случаи и грешки от файл на Excel, ако са написани в определен формат, и може да ги вмъкне в TFS. Останалата част от историята е проста. Написах SQL заявка за извличане на всички тестови случаи и грешки и ги експортирах в Excel файл в конкретния формат. След това използвах този инструмент, който чете всички тестови случаи и грешки от Excel файла и ги вмъкнах в TFS. Целият процес отне само 3 часа. Мениджърът ми беше много щастлив. Надявам се да разберете и моята точка.
как да настроите eclipse за c ++
# 10. Автоматизацията е разработване на софтуер
Ако разработвате качествен софтуер, той се нуждае от най-добрите практики. За да напише качествен код, се нуждае от рецензии на кодове Той се нуждае от рамка или модел на дизайн, който да се следва. Има нужда от постоянна поддръжка.
Автоматизацията е основно разработка на софтуер. Така че всички най-добри практики, които следвате, когато разработвате софтуер, трябва да се следват при правенето на автоматизация. Трябва да има рамка за автоматизация. Трябва да се правят прегледи на кодове. Грешките при автоматизацията трябва да бъдат докладвани в хранилището за грешки. Изходният код на автоматизацията трябва да бъде поставен под контрол на източника и т.н. Колкото повече се отнасяте към него като към разработка на софтуер, толкова по-успешна ще бъде автоматизацията.
Заключение
Това обобщава статията, както и поредицата автоматизация на тестовете. Научих много неща, докато пишех тези уроци и се надявам да научите и като четете. Автоматизацията на тестовете е интересна и полезна кариера. Правенето му правилно е не само полезно за вас, но и за организацията.
Всеки ден, докато работя върху тестовата автоматизация и нейните техники, намирам нови и интересни предизвикателства за решаване. Тази поредица беше опит да се подчертае това, което може да се натъкне на едно пътуване по автоматизация на тестовете. Надявам се да го направих правилно и по прост начин.
Както винаги, чакам вашите коментари и предложения. Чувствайте се свободни да напишете отзивите си в раздела за коментари. Ще се радвам да се чуем и да ви помогнем, ако е необходимо. Благодаря за четенето.
PREV Урок # 6
Препоръчително четене
- Вие сте експерт по ръчно или автоматизирано тестване? Работете на непълно работно време за нас!
- Предизвикателства при ръчно тестване и автоматизация
- Топ 10+ най-добри книги за тестване на софтуер (книги за ръчно тестване и автоматизация)
- Инструмент за тестване за автоматизация на графичния интерфейс на Sikuli - Ръководство за начинаещи, Част 2
- Ръководство стъпка по стъпка за внедряване на доказателство за концепция (POC) в тестовете за автоматизация
- Процес на автоматизирано тестване от 10 стъпки: Как да започнете тестване на автоматизация във вашата организация
- Как да реша кой тип тестване е необходим за даден проект? - Ръчна или автоматизация
- Как да извършите ръчно тестване на производителността?