soa testing tutorial
Урок за тестване на SOA:
В тази статия ще обсъдим техниките за тестване на архитектура SOA.
Текущият дневен софтуер е толкова гъвкав и склонен да се справя с променящите се потребителски очаквания от време на време, самостоятелен модел не е полезен.
Там SOA се вписва точно като решение.
Това е причината, поради която много компании се адаптират или се опитват да адаптират SOA подхода поради неговите предимства като; Намаляване на разходите, гъвкавост на бизнеса, лесна поддръжка и т.н. С предстоящия пазар, пълен със архитектура на SOA, става необходимо за съвременните тестери да получат добра представа за тестването на SOA.
най-добрият начин за отваряне на xml файл
В тази статия ще разгледаме основите на SOA с примери за това.
Това би дало на читателите основна идея за SOA. Това ще бъде последвано от подхода на уеб услугите за изпълнение. И накрая, ще влезем в процеса на тестване, който може да се следва за модел на архитектура SOA.
Какво ще научите:
- Какво е SOA?
- Примери за SOA
- Уеб услуги
- Процес на тестване на SOA
- Предизвикателства в SOA тестването
- Инструменти за тестване на SOA
- Препоръчително четене
Какво е SOA?
SOA или Sevice-Oriented-Architecture е гъвкав / пъргав / ефективен метод за интегриране на различни приложения / услуги, така че да се постигнат определени бизнес нужди.
- За разлика от други сложни системи, SOA се състои от по-малки компоненти / услуги / микро услуги, свързани помежду си, така че да отговорят на бизнес нуждите.
- Услугите са единиците, които правят системата цялостна и когато има нужда от промяна, вместо от промяна на цялата система, конкретната услуга се модифицира.
- Услугата е компонент, който е в състояние да изпълни задача.
- Тази архитектура е по-продаваема от старата система, тъй като Крайният потребител получава само необходимите услуги, за да отговори на своите нужди. Не е нужно да получи цялата система.
- Услугите / микро услугите са свободно свързани, многократно използвани, без гражданство, което прави системата още по-здрава.
- Този модел е икономически ефективен по отношение на внедряването, разработването и поддръжката.
Примери за SOA
Бизнес нужди: Приложение, в което Потребителят може да влезе и да търси Ресторанти въз основа на Геолокация, Изтеглете подробности за ресторанта и Меню от сървъра, след като търсенето приключи и накрая може да се извърши плащане за извършване на поръчката.
Тази бизнес необходимост може да бъде постигната чрез внедряването на SOA.
Може да има услуги / микро услуги, както следва, за да се изпълняват различни задачи:
- По време на влизане услугата, която би се използвала, е „Услуга за удостоверяване“
- Търсенето на ресторанти ще се извършва чрез „услуга Geo-locator“
- Менюто за изтегляне трябва да се извърши от „Услугата за изтегляне на менюта“
- И накрая, плащането ще се извърши чрез „Платежна услуга“
Всяка от гореспоменатите услуги прави нещо уникално, за да накара системата да работи и да достави това, което трябва да направи. Сега, ако клиентът трябва да види само ресторанта и менюто му, но не се нуждае от интерфейс Payment Gateway, той би закупил / разположил само първите три услуги.
Това улеснява работата за разработване, внедряване, продажби, поддръжка и в крайна сметка за клиента / крайния потребител.
Уеб услуги
- Това са API (Интерфейси за програмиране на приложения), който улеснява взаимодействието между различни софтуерни програми.
- Има доставчик на услуги, който хоства услугата в мрежата. Като част от хостинга, доставчикът хоства WSDL.
- Когато Клиентът изпрати съобщение със заявка до доставчика на услуги, комуникацията се установява с използването на URL / WSDL.
- В дадения по-долу пример сървърът за геолокация хоства уеб услуга, която се използва от заявителя на услугата.
Източници на изображения тук и тук
Процес на тестване на SOA
Всеки продукт, модел, инфраструктура трябва да премине през фазата на тестване, за да задоволи крайния потребител по отношение на продукт с добро качество. Тестването на SOA не се ограничава само до тестване на слой / тестване на протокол за уеб услуги. Това е цялостното тестване на архитектурата и всяка минутна част от нея.
Подходът за тестване може да бъде подобен на този при нормалния процес на тестване. т.е.
- Процес на преглед на изискванията
- Планиране на тестове
- Тестов дизайн
- Настройка на околната среда
- Фаза на изпълнение
- Фаза на докладване
Процесът на SOA тестване се върти около 3 слоя в архитектурата:
- Потребители на услуги
- Обработвайте слоеве
- Сервизни слоеве
Следвайки същия пример по-горе, ние можем да имаме нашите слоеве, както следва:
- Потребителският слой на услугата помага при взаимодействието с потребителите. Това помага при четене на входа от крайния потребител и връщане на подходящия отговор за получената заявка. С други думи, това основно има интерфейс на потребителския интерфейс.
- Това е слоят, който се фокусира върху изпълнението. Този слой в нашия пример ще има методи за удостоверяване, създаване на потребител и т.н.
- Сервизните нива са бизнес функциите по отношение на услугите. Всички услуги, които всъщност се извикват при изпълнение на конкретна задача, са в този слой.
Тестовете могат да бъдат разделени на 4 различни етапа;
Ниво 1
1) Тестване на ниво услуга:
- Всяка услуга, участваща в системата, се тества индивидуално въз основа на метод за заявка и отговор.
- Този тест е задължителен и много важен за продължаване на други процеси на тестване.
2) Функционално тестване:
- Тестът се провежда за услуги по техните бизнес нужди, за да се установи дали полученият отговор е верен.
- Бизнес нуждите първо се преобразуват в тестовите случаи и се формират изявленията за заявки.
- След това заявките за заявки се обработват, за да се провери дали получените отговори са верни.
- В случай на невалидни входни данни трябва да се хвърли правилен код за грешка или да се задейства правилно съобщение за грешка.
- Форматите на отговора, както и отрицателните сценарии, трябва да бъдат изпълнени.
3) Тестване на сигурността:
- Винаги, когато става въпрос за уеб услуга, тестването на сигурността играе ключова роля за успеха на процеса на тестване.
- Шлюзовете за удостоверяване, шлюзовете за плащане и т.н. трябва да бъдат шифровани, когато данните се анализират.
- Що се отнася до XML, трябва да се проверят уязвимости като CSRF, SQL инжектиране.
4) Тестване на производителността:
- Услугите, използвани в архитектурата, се хостват, така че много други приложения могат да се възползват от нея. Тестването на производителността гарантира надеждността на тези услуги.
- Тестването на услугите трябва да се направи, за да се установят следните групи резултати;
- За определяне на стабилността на услугите.
- Да потвърди мащабируемостта на услугите.
- Поведение при обслужване при условия на пиково натоварване
- За да намерите времената за реакция между услугите
Подреждане # 2
1) Тестване на процеса:
- Този процес включва тестване на различни бизнес процеси.
- Това трябва да включва сценариите за интеграция на уеб услугите и приложенията, покриващи бизнес изискванията
- Използването на симулатори трябва да се направи за генериране на примерни входни данни и трябва да се направи валидиране за съответните изходи.
- Потокът от данни от различни слоеве трябва да се извърши, за да се докаже гладкото функциониране на системата, когато тя е интегрирана.
Подреждане # 3
1) Тестване от край до край:
Въпроси и отговори за интервю за селен webdriver за опитни
- Тази фаза има за цел да потвърди бизнес изискванията както функционално, така и нефункционално.
- Потребителският интерфейс на приложението е валидиран.
- Въпросният бизнес процес е тестван.
- Потокът от данни до края е валидиран на тази фаза.
- Работата с всички услуги, когато услугите са интегрирани помежду си, е валидирана.
Подреждане # 4
1) Тестване на регресия:
- Стабилността на системата в постепенни версии на компилация се потвърждава от това тестване.
- Това може да бъде постигнато или чрез ръчно тестване / тестване за автоматизация.
Предизвикателства в SOA тестването
Някой с право каза: „По-голяма е окото; По-голяма е бъркотията! ”. SOA може да се превърне в наистина сложно дете, жадно за внимание.
С други думи, с толкова много малки части, съставляващи архитектурата на SOA, става истинска трудна работа да се сертифицира при тестване.
- Трудно е да се симулират тестовите среди, за да се продължи процесът на тестване.
- Продуктите, включени в модела, могат да бъдат със същата технология / доставчик. Но те също могат да бъдат различни. Още проблеми?
- Тестовите комбинации издигат НАГОРЕ с броя на включените услуги / компоненти.
- Сложност в модела
- Възпроизвеждането / тестването на изданието е трудна работа.
- За разлика от други модели, основният фокус на тестването трябва да бъде върху обхвата на бизнеса, а не върху услугата и нейните характеристики.
Инструменти за тестване на SOA
Има множество приложения за тестване на SOA. Инструментите за тестване на SOA се избират въз основа на техните точни резултати и по-добра производителност.
- SaapUI: Това е безплатен инструмент, насочен към тестване на уеб услуги. SoapUI е в състояние да извършва функционално тестване, тестване на производителността и тестване на натоварване
- Apache Jmeter: Това също е помощна програма OPEN SOURCE, която се използва за анализ на ефективността на SOAP извикване.
- JProfiler: Това се използва за спиране или откриване на изтичане на памет, намиране на тесни места в производителността и т.н.
- Сервизен тест на HP: Това е интегрирано в HP QC. Това е инструмент за функционално тестване, който също поддържа тестване на потребителски интерфейс и споделена услуга
Чрез тази статия разбрахме особеността на модела. Това е много различно от наследения модел и статията дава добра представа за него. Тази статия също така хвърля малко светлина върху SOA процедурата и начините за продължаване на тестването.
За автора: Това е гост пост от Subhasis. Той работи като ръководител на екип с над 8 години корпоративен опит, работещ за Fortune 500 IT компании.
Публикувайте вашите запитвания / коментари, свързани с тестването на SOA, по-долу.
Всичко най-хубаво!
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Изтегляне на eBook за тестване на Primer
- Урок за деструктивно тестване и безразрушително тестване
- Функционално тестване срещу нефункционално тестване
- Уроци за задълбочено затъмнение за начинаещи
- Топ 15 инструменти за тестване на SOA за тестери
- Учебник за тестване по двойки или за всички двойки с инструменти и примери
- Урок за инструмент за тестване на достъпност на WAVE