Откъде да започнем с тестова автоматизация за съществуващ уебсайт?

Андрю пита:

Наскоро се присъединих към уеб базирана компания като техния първи член на QA. Уебсайтът е разработен през последните пет години и през това време разработчиците и други членове на екипа правеха тестването.

Няма официално осигуряване на качеството или процес на тестване, така че всички тестове са до голяма степен ad hoc.


Сега моят мениджър, който отговаря за доставката на софтуер, иска да създам автоматизиран пакет за тестване на регресия, който екипът може да изпълнява, когато разработва нови функции.

Въпросът ми е: откъде да започна с тестова автоматизация, за да създам този пакет за регресия за уебсайт, който работи повече от пет години?


Всички идеи / предложения ще бъдат високо оценени.

Моят отговор:

След като уебсайтът функционира и обслужва клиенти на живо от няколко години, той е в зряло състояние. Под зрял, имам предвид, че (надявам се) няма очевидни сериозни грешки в системата и ако има такива, това ще бъдат фините или крайни проблеми, които не се забелязват лесно от всички.

Какво ние не трябва do, е да се опитате да напишете ретроспективно тестове за всички истории, които вече са разработени и са станали част от системата. Това, което обаче искаме, е набор от ключови сценарии, които упражняват системата от край до край, за да гарантират, че бъдещите разработки не застрашават съществуващата функционалност.


Стъпките по-долу са някои насоки, които могат да се използват за съществуващ и вече създаден уебсайт, за да се намерят ключовите сценарии и метод за разширяване върху тях, за да се създаде функционален пакет за регресия.

Свързани:

1. Разгледайте

Първо трябва да се запознаете с уебсайта и неговите функции. Започнете с проучване на сайта и научете поведението му. Докато го правите, можете също да създадете мисловна карта на структурата на уебсайта, какви страници има и какви функции има на всяка страница.

Умните карти са чудесен начин за получаване на моментна снимка на високо ниво и преглед на целия уебсайт. Винаги можем да се обърнем към мисловните карти, за да разберем как са свързани страниците.


2. Съберете метрики

Съберете показатели за използването на сайта от екипа по маркетинг и / или анализ. Повечето фирми вграждат „проследяващи маркери“ като Google Analytics на своя уебсайт, за да могат да проследяват как потребителите използват сайта. Има богата информация за поведението на потребителя и често срещано потребителски пътувания които могат да бъдат извлечени от тези системи за проследяване.

Причината, поради която трябва да събираме тази информация, е да можем да дадем приоритет на тестовите сценарии, които да автоматизираме първо, така че да получим максимална стойност за възможно най-кратко време.

3. Основни сценарии

Започнете с автоматизиране на основните сценарии от край до край чрез уеб приложението. Това ще формира основата на нашия „пакет за регресия на дима“. Например за типично уеб приложение за електронна търговия основният сценарий от край до край е:

Начална страница -> Резултати от търсенето -> Подробности за продукта -> Вход / Регистрация на клиента -> Данни за плащане -> Потвърждение на поръчката


Важно е да се отбележи, че за начало трябва само да гарантираме, че можем да преминем през страниците, като започнем от началната страница и стигнем до страницата за потвърждение на поръчката. Целта е да се провери дали потокът на покупките не е нарушен, а не да се провери функционалността на всяка страница с много подробности.

След като покрием най-простия и често срещан потребителски поток, можем да разгледаме повече вариации. Въпреки многобройните комбинации от функции и страници, човек би забелязал, че наистина има само една шепа потребителски пътешествия през системата, които трябва да бъдат взети предвид.

Изследвайки аналитичните данни, вероятно ще откриете, че 80% от потребителите ще преминат през същите пътища, но с различни данни. Следователно нашият пакет за регресия на дим трябва да бъде изграден въз основа на тези сценарии.

4. Увеличете покритието

Бележка за покритието, тук не говоря за тестовото покритие; фокусът е върху покритие на характеристиките .


Разширете пакета за регресия на дим, за да създадете по-обширен пакет за регресия на функции, като използвате умствените карти и приложите техника за тестване на състоянието на прехода за изграждане на сценариите.

Входни точки - Като начало първо трябва да намерим входните точки в системата. Тези входни точки могат да бъдат потребител, кацащ на началната страница, страница с подробности за продукта или a SEM (Маркетинг в търсачки) конкретна страница.

След като идентифицираме конкретна целева страница, трябва да видим какви функции има на тази страница, с които потребителят може да взаимодейства. Тук картите на ума стават много полезни. Имаме общ преглед на страницата и нейните функции.

Тук значението на функцията е или отделен компонент като падащо поле за опция за сортиране, или попълване на формуляр за потребителски данни или просто като щракване върху връзка.

Първоначално състояние - Когато за първи път кацнем на входна точка в приложението, ще има състояние, свързано с тази страница. Ние го записваме като начално състояние на приложението. Всеки път, когато взаимодействаме с някоя от функциите на тази страница, най-вероятно ще променим първоначалното й състояние.

Задействане - Някои функции при взаимодействие с тях или ще заредят една и съща страница (напр. Опциите за сортиране ще запазят същата страница, но данните ще бъдат сортирани) или ще преминат към друга страница (напр. Изпращане на валидни потребителски идентификационни данни). Нещото, което причинява този преход или към същата страница, или към друга страница, се нарича спусък, като например бутона за изпращане.

Твърдения - След това има твърденията. Винаги, когато състоянието на приложението се променя, като взаимодействаме с функция, трябва да направим твърдения, за да проверим състоянието на новото състояние. Например, когато изпратим формуляр за вход с валидни потребителски данни, трябва да твърдим, че потребителят вече е влязъл в системата.

Можем да продължим по същия начин по новия преход или да се върнем в първоначалното състояние и да взаимодействаме с друга функция, докато покрием всички важни характеристики на мисловните карти.

С течение на времето нивото на доверие в внедряването на нов код се увеличава, тъй като повече сценарии се автоматизират и изпълняват редовно.