what is interface testing
Въведение в тестването на интерфейса:
Когато се разработва приложение или софтуер или уебсайт, има няколко компонента от него. Тези компоненти могат да бъдат сървър, база данни и т.н.
Връзката, която интегрира и улеснява комуникацията между тези компоненти, се нарича интерфейс.
С прости думи, интерфейсът е софтуер, състоящ се от набор от команди, съобщения и т.н.
Този урок ви дава пълен преглед на тестването на интерфейса, заедно с неговите нужди, вид, стратегия, контролен списък и някои от инструментите му с прости думи, за да обогатите знанията си за концепцията.
Какво ще научите:
- Въведение
- Кога и защо трябва да тестваме интерфейс?
- Видове тестване на интерфейса
- Стратегия или подход за тестване на интерфейса
- Разлика между интерфейс, интеграция и тестване на компоненти
- Контролен списък за тестване на интерфейса
- Най-добрите инструменти за тестване на интерфейса
- Заключение
- Препоръчително четене
Въведение
За компютър интерфейсът може да бъде API, уеб услуги и т.н. Комуникацията между различните компоненти на софтуер или приложение или уебсайт може да повлияе на цялостната производителност, поради което тази комуникация, т.е. интерфейсът също трябва да бъде тестван и проверен.
Тестването, което се прави за проверка на функционалността на интерфейса, се нарича Интерфейсно тестване.
Двата често срещани компонента на тестването на интерфейса включват:
- Уеб сървър и интерфейс на сървър на приложения.
- Сървър за бази данни и интерфейс на сървър на приложения.
Кога и защо трябва да тестваме интерфейс?
Посочените по-долу са 3-те фази на тестване на интерфейса в жизнения цикъл на интерфейса:
1) Конфигурация и разработка:
Когато интерфейсът е конфигуриран и след като разработката започне, конфигурациите трябва да бъдат проверени според изискването.
2) Проверка:
Когато разработката приключи, интерфейсът трябва да бъде валидиран и проверен, това може да се направи и като част от модулното тестване.
3) Поддръжка:
Устройствата на модел osi използват всеки слой
След като целият софтуер е готов, внедрен и работи, интерфейсът трябва да бъде наблюдаван за неговата производителност и всички нови проблеми, въведени поради направените промени или влошаване на производителността.
Когато започнем да разработваме интерфейс, трябва да се уверим, че не въвеждаме никакви дефекти в нашия код и следователно трябва да се изпълнят тестове на интерфейса, за да се провери, че добавянето на нов код не инжектира нови дефекти. Това ще ви помогне да определите дали интерфейсът няма дефекти и според изискванията.
След като сме доволни от интерфейса, ние го валидираме за предвидения работен процес, данни и т.н. Можем да изпълняваме производителност, огромни тестове за данни и да проверяваме колко добре интерфейсът реагира. Това ще спести много време, което ще бъде изразходвано за отстраняване на дефектите по-късно.
Накратко, тестването на интерфейса се извършва, за да:
- За да проверите дали изпълнението на сървъра е правилно.
- Обработката на грешки се извършва правилно и се показват подходящи съобщения за грешки за заявки, направени от приложението или софтуера.
- За да проверите резултата, когато връзката със сървъра е нулирана.
- За да проверите аспекта на сигурността, когато компонентите комуникират в себе си.
- За да проверите въздействието на мрежовата повреда върху комуникацията между компонентите.
Видове тестване на интерфейса
Тестването на интерфейса се извършва основно на слоя за съобщения на системната архитектура. Това включва най-вече тестване на REST API или SOAP уеб услуга с JSON или XML формат.
Тестването на интерфейса обикновено включва следните практики:
- Единично тестване: Тестване на функционалността на всяка отделна операция (във функция).
- Функционално тестване : Тестване на функционалността на по-широки сценарии, включващи създаване на тестови случаи, валидиране, регресия и др.
- Тестване на натоварване: Проверка на производителността под товар, най-вече чрез използване на функционални тестови случаи.
- Тестване на сигурността : Тестване на механизма за сигурност и включва тестване за проникване, както и валидиране на контрол на достъпа, криптиране и т.н.
- Откриване на грешки по време на работа: Мониторинг на приложение за проблеми като състезание по време на изпълнение, изтичане на ресурси и т.н.
- Тестване на работния процес: Това се прави, за да се гарантира дали интерфейсният механизъм обработва работния ви процес, както се очаква.
- Индивидуални системи: Това тестване се прави, за да се провери индивидуалността на всяка система. Подобно на системата за фактуриране и системата за управление на запасите трябва да могат да работят индивидуално.
Стратегия или подход за тестване на интерфейса
Подобно на всяко друго тестване, тестването на интерфейс е също толкова важно, тъй като осигурява безпроблемно функциониране, производителност и т.н. на различни приложения и системи, управлявани от данни, чрез проверка на комуникацията между базата данни, мрежи и системи.
Тестването на интерфейса става по-важно, когато проверяваме зависимостите на приложението с други приложения.
По-долу са дадени няколко стъпки, които гарантират успешното тестване на интерфейса:
1) Определете вашето изискване:
Преди да създадете интерфейсни тестове, е важно да разберете приложението. Затова се опитайте да намерите отговори на въпроси като каква е целта на интерфейса? Какъв е работният процес на системата или приложението? Какви са функциите и характеристиките на интерфейса?
Определянето на всички такива отговори ще ви помогне да разберете изискването, да разберете сложни точки на приложението и след това да създадете тестовите случаи съответно. Често QA пропуска това и по-късно това води до объркване относно изискването или неправилно тестване.
2) Очакван резултат:
Сега ние много добре знаем и разбираме изискването, време е да финализираме резултата, който ще очакваме от тестовете. Не само Pass или Fail, това могат да бъдат някои данни, извикване на друг API и т.н. Може, не само да е сложно, но и рисковано да се измери резултатът от очаквания резултат.
Затова се опитайте да разберете какъв може да бъде резултатът, като обсъдите с разработчиците.
3) Започнете от малко:
С тестването на интерфейса не можем директно да продължим със създаването на големи тестови случаи, създаването на малки тестови случаи или обажданията е относително просто. Поне при малки функции създайте малък тестов код и проверете дали изходът е според очакванията или не.
4) Опитайте да автоматизирате:
Писането на кодове за тестване на интерфейс може да бъде скучно.
Вие не само ще отделяте време за писане на кода, но заедно с това ще трябва да отделите време и за разбиране на формата, стила, кодиращия език, използван за разработка и след това като черешка на тортата ще трябва да се уверите, че вашият код не създава проблем за приложението или системния код.
Следователно е по-добре да проучите и да намерите някои инструменти за автоматизация, които ще ви спестят деня. Ще бъде много по-лесно и ще спести време.
5) Определете началната и стоп точките:
Преди да започнем изпълнението на тест, ние винаги решаваме началната (входната) и стопната (изходната) точка на теста, както и решаваме как ще започне и завърши целия процес на тестване. По същия начин трябва да измерим и нивото на производителност на тестването на интерфейса.
За целта трябва да намерим отговорите на следните два въпроса:
- Какво е очакваното време за завършване на интерфейсния тест?
- Какво е действителното време за завършване на интерфейсния тест?
Тази стъпка от включване на входните и изходните точки на интерфейсния тест ще ви помогне да намерите нивото на ефективност на тестовете. Това също ще ви помогне да вземете решение относно планирания график на теста.
Разлика между интерфейс, интеграция и тестване на компоненти
Дадени по-долу са няколко разлики:
S.No. | Тестване на компоненти | Тестване на интерфейса | Интеграционно тестване |
---|---|---|---|
1 | Тестването на компонент поотделно за проверка на очаквания резултат се нарича тестване на компонент | Тестването на интерфейс за проверка на очаквания резултат се нарича тестване на интерфейса. | Когато всички или няколко модула или компонента са интегрирани, за да функционират колективно; след това тестването, извършено за проверка на функционалността на интегрираните компоненти от край до край, се нарича интеграционно тестване. |
две | Компонентът може да бъде нещо като екран, модул за вход и т.н. | Интерфейсите са широко уеб услуги, API, низове за връзка и т.н. | Интеграцията може да бъде един цялостен случай на използване, например за банково приложение, влизане и добавяне на вашия „Бенефициент“ и т.н. |
3 | Това тестване е относително лесно. | Това тестване е сложно и досадно. | Това тестване е малко лесно, но с дължина. |
4 | Приложими са ръчно и автоматизиране. | Най-вече автоматизация. | Приложими са ръчно и автоматизиране. |
5 | Това тестване е приложимо както за кода, така и за GUI на приложението или системата. | Това тестване се извършва само върху кода; няма GUI. | Това тестване е приложимо както за кода, така и за GUI на приложението или системата. Но това е предимно GUI. |
Контролен списък за тестване на интерфейса
въпроси за ръчно тестване на интервю за 3 години опит
По-долу са дадени някои указатели на контролния списък, които трябва да се вземат предвид при тестване на интерфейса:
- В тестовете трябва да бъдат включени грешки 4xx и 5xx, тъй като те ще ви помогнат да проверите обработката на грешки от страна на сървъра и клиента, в идеалния случай трябва да се показва подходящо съобщение, а не грешка в кода.
- Проверка на потребителя чрез HTTP удостоверяване.
- Проверете всички методи, които се използват в API или уеб услуги като GET, PUT, POST и др.
- Проверете преобразуването от JSON формат в XML формат и обратно.
- Проверете дали груповите операции на интерфейс извличат очаквания резултат.
- Проверете дали часовата зона на API отговаря на спецификацията на часовата зона на географския район.
- Проверете дали неоторизираният достъп до интерфейса води до правилно съобщение за грешка.
- Проверете дали прекъсванията на връзката се обработват правилно.
- Проверете дали някои компоненти са премахнати от приложението, тогава интерфейсът вече не взаимодейства с тези компоненти и т.н.
Най-добрите инструменти за тестване на интерфейса
Тъй като компаниите преминават към DevOps, непрекъсната интеграция (CI) и непрекъснато внедряване (CD), тестването на обратната връзка трябва да бъде по-бързо от всякога. Преди да се приготвите да изпратите приложението си, трябва да се уверите, че интерфейсите са добре тествани. Ръчното тестване на интерфейса може да бъде много досаден, сложен и отнемащ време процес.
Най-добрият метод за извършване на тестване на интерфейси е да се използва автоматизация и да се включи тестването на интерфейса във вашия план за автоматизация.
Следователно по-долу е даден списък с инструментите, които ще ви помогнат да завършите тестването на вашия интерфейс възможно най-бързо. Аз обаче лично бих препоръчал използването на SoapUI (използвах този инструмент в моя проект за тестване на уеб услуги), но всяко изискване е различно, затова нека да разгледаме 5-те най-добри инструмента.
Топ 5 инструмента включват:
1) REST-гарантирано
За хора, работещи с Java, Бъдете спокойни е най-предпочитаният инструмент. Всъщност това е най-добрият инструмент за API тестване с Java, защото проверката на REST уеб услуги в Java е доста трудна. Той е предназначен за целите на тестването, поради което може лесно да се интегрира с всяка Java-базирана рамка.
Той има много приготвени функционалности, поради което няма да е необходимо да кодирате нещата от самото начало. Този инструмент се интегрира добре с рамката на Serenity и можете да генерирате страхотни тестови отчети.
2) Пощальон
Някои тестери не обичат да използват същия език за кодиране като IDE. За такива хора Пощальонът е добър вариант за автоматизация. Това също е добър вариант за изследователско тестване на интерфейса.
Пощальон е прост REST-клиент и човек може бързо да започне да използва своята приставка за Chrome. Има налична версия, която може да се използва за Mac, Linux и Windows. Той има потребителски интерфейс, който помага при изграждане на заявки и проверка на получения отговор.
3) SoapUI
Ако вашият екип прави само API тестване, САПУН може да бъде чудесен избор. Това е пълен инструмент за функционално тестване, посветен на API тестване. Той също така поддържа тестване на данни, при което данните могат да бъдат предадени в CSV или Excel формат. Той също така има платена версия, наречена SoapUI Pro, която предлага още по-добри и подобрени функции за тестване на уеб услуги.
Ако искате да добавите допълнителен код за някакъв специфичен работен процес или функционалност, използвайте Groovy за вашия скрипт. Можете също така да създадете обща настройка на променливите и да използвате всички тези променливи в тестовете си, вместо да инициализирате индивидуално за всеки тест.
4) JMeter
JMeter се използва широко за тестване на натоварване и може да се използва и за тестване на интерфейси. JMeter има поддръжка на запис и възпроизвеждане и генерира HTML отчети, които са лесни за четене и разбиране. Тъй като JMeter е съвместим с CSV файлове, това ви позволява да създавате уникални параметри за тестване.
Лесно се интегрира с Jenkins, така че тестовете ви да могат да бъдат включени в CI. Ако искате да използвате същия инструмент за тестване на интерфейс и натоварване, тогава JMeter ще бъде достоен избор.
5) Скрипач
Скрипач ви помага да проверите и използвате (отново) HTTP заявките. Той има много функции, които ви помагат да отстранявате грешки в проблемите на уебсайта с неговите разширения и можете да направите много повече. Освен това е добър инструмент за тестване на сигурността, тъй като може да бъде конфигуриран да дешифрира криптираната заявка и след това да модифицира заявките за целите на тестването.
Едно от разширенията на Fiddler е разширението APITest, което помага да се провери уеб поведението на интерфейса. За по-интензивно тестване на интерфейса можете да опитате да използвате FiddlerCore.Net библиотека, за да създадете вашата инфраструктура за тестване на интерфейси.
Заключение
Тестването на интерфейса е много важна част от тестването за мащабни приложения и е задължително да се направи. Дори в приложенията, където CI се следва редовно, става важно да се извърши тестване на интерфейса.
Тестването на интерфейса е доста сложно и не е директно, поради което трябва да се създаде подходяща стратегия за извършване на това тестване. Също така, не забравяйте да вземете данните от екипа за разработки, тъй като те разбират кода по-добре.
Най-добрият и най-простият начин за извършване на това тестване е да се автоматизира и интегрира тестовият пакет в CI, така че да се спести много време и резултатите да се постигнат с по-бързи темпове.
Извършвали ли сте тестване на интерфейса? Чувствайте се свободни да споделите своя опит и да ни уведомите кой инструмент и стратегия са внедрени от вас.
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Алфа тестване и бета тестване (Пълно ръководство)
- Урок за тестване на GUI: Пълно ръководство за тестване на потребителския интерфейс (UI)
- Видове тестване на софтуер: Различни видове тестване с подробности
- Изтегляне на eBook за тестване на Primer
- Видове рискове при софтуерни проекти
- 11 най-добри инструменти за автоматизация за тестване на приложения за Android (инструменти за тестване на приложения за Android)
- Пълно ръководство за функционално тестване с неговите типове и пример