what is system integration testing
Какво е тестване на системната интеграция?
Тестване на системната интеграция (SIT) е цялостното тестване на цялата система, която е съставена от много подсистеми. Основната цел на SIT е да гарантира, че всички зависимости на софтуерния модул функционират правилно и целостта на данните се запазва между отделни модули на цялата система.
SUT (Тествана система) може да се състои от хардуер, база данни, софтуер, комбинация от хардуер и софтуер или система, която изисква човешко взаимодействие (HITL - Human in Loop Testing).
От контекста на софтуерното инженерство и софтуерното тестване, SIT може да се разглежда като процес на тестване, който проверява съвместното възникване на софтуерната система с други.
SIT има предпоставка, при която множество базови интегрирани системи вече са преминали и преминали системно тестване. След това SIT тества необходимите взаимодействия между тези системи като цяло. Резултатите от SIT се предават на UAT (Тест за приемане от потребителя).
Какво ще научите:
- Необходимост от тест за системна интеграция
- Гранулираността на SIT
- Как да извършите тестване на системната интеграция?
- Тестване на системата срещу Тестване на системната интеграция
- Тестване на системната интеграция срещу теста за приемане от потребителя
- Пример за SIT
- SIT техники
- Заключение
- Препоръчително четене
Необходимост от тест за системна интеграция
Основната функция на SIT е да прави тестови зависимости между различните системни компоненти и следователно регресионното тестване е важна част от SIT.
За съвместни проекти SIT е част от STLC (жизнен цикъл на тестване на софтуер). Като цяло, кръгът преди SIT се провежда от доставчика на софтуер, преди клиентът да проведе свои собствени тестови случаи на SIT.
В повечето организации, работещи в ИТ проекти по модел на спринт Agile, кръг от SIT се провежда от екипа на QA преди всяко издание. Дефектите, открити в SIT, се изпращат обратно на екипа за разработка и те работят по поправките.
Пускането на MVP (Минимален жизнеспособен продукт) от спринта върви само когато премине през SIT.
SIT се изисква, за да разкрие неизправностите, възникващи при взаимодействие между интегрираните подсистеми.
В системата се използват няколко компонента и те не могат да бъдат тествани индивидуално. Дори ако единицата е индивидуално тествана, тогава също има вероятност тя да се провали, когато се комбинира в системата, тъй като има много проблеми, които възникват, когато подсистемите взаимодействат помежду си.
По този начин SIT е много необходим, за да разкрие и отстрани неизправностите, преди да внедри системата в края на потребителя. SIT открива дефектите на ранен етап и по този начин спестява време и разходи за отстраняването му по-късно. Също така ви помага да получите по-ранна обратна връзка относно приемливостта на модула.
Гранулираността на SIT
SIT може да се проведе на три различни нива на детайлност:
(i) Вътресистемно тестване: Това е ниско ниво на интеграционно тестване, което има за цел да обедини модулите заедно, за да изгради единна система.
(ii) Междусистемно тестване: Това е тестване на високо ниво, което се нуждае от взаимодействие на независимо тествани системи.
(iii) Тестване по двойки: Тук се тестват наведнъж само две взаимосвързани подсистеми в цялата система. Целта е да се гарантира, че двете подсистеми могат да функционират добре, когато се комбинират заедно, като се предполага, че другите подсистеми вече работят добре.
Как да извършите тестване на системната интеграция?
Най-простият начин за извършване на SIT е чрез метода, управляван от данни. Изисква минимално използване на инструменти за тестване на софтуер.
колко струва мястото за продажба на бързи книги
Първо се извършва обмен на данни (импортиране и експортиране на данни) между системните компоненти и след това се изследва поведението на всяко поле с данни в отделния слой.
След като софтуерът е интегриран, има три основни състояния на поток от данни, както е споменато по-долу:
# 1) Състояние на данните в интеграционния слой
Интеграционният слой действа като интерфейс между импортирането и експортирането на данни. Извършването на SIT на този слой изисква някои основни познания за определени технологии като схема (XSD), XML, WSDL, DTD и EDI.
Ефективността на обмена на данни може да бъде изследвана на този слой чрез стъпките по-долу:
- Проверете свойствата на данните в този слой спрямо BRD / FRD / TRD (документ за бизнес изискване / документ за функционални изисквания / документ за техническо изискване).
- Кръстосана проверка на заявката за уеб услуга с помощта на XSD и WSDL.
- Изпълнете някои модулни тестове и проверете съпоставянията на данни и заявките.
- Прегледайте дневниците на междинния софтуер.
# 2) Състояние на данните в слоя база данни
Извършването на SIT на този слой изисква основни познания за SQL и съхранените процедури.
къде е apk файлът в android
Ефективността на обмена на данни на този слой може да бъде изследвана чрез следните стъпки:
- Проверете дали всички данни от интеграционния слой са достигнали успешно на слоя на базата данни и са били ангажирани.
- Проверете свойствата на таблицата и колоната спрямо BRD / FRD / TRD.
- Проверете ограниченията и правилата за проверка на данните, приложени в базата данни, съгласно бизнес спецификациите.
- Проверете съхранените процедури за обработка на данни.
- Преглед на регистрационните файлове на сървъра.
# 3) Състояние на данните в слоя на приложението
SIT може да се извърши на този слой чрез стъпките по-долу:
- Проверете дали всички задължителни полета са видими в потребителския интерфейс.
- Изпълнете някои положителни и отрицателни тестови случаи и проверете свойствата на данните.
Забележка: Може да има много комбинации, съответстващи на импортиране и експортиране на данни. Ще трябва да изпълните SIT за най-добрите комбинации, като се има предвид наличното време.
Тестване на системата срещу Тестване на системната интеграция
Разлики между системното тестване и SIT:
SIT (Тестване на системната интеграция) | Тестване на системата |
---|---|
SIT се прави главно, за да провери как отделните модули взаимодействат помежду си, когато са интегрирани в система като цяло. | Тестването на системата се извършва главно, за да се провери дали цялата система работи според очакванията по отношение на посочените изисквания. |
Провежда се след модулно тестване и ще се извършва всеки път, когато към системата се добави нов модул. | То се провежда на последно ниво, т.е. след приключване на теста за интеграция и непосредствено преди доставянето на системата за UAT. |
Това е тестване на ниско ниво. | Това е тестване на високо ниво. |
Тестовите случаи на SIT се фокусират върху интерфейса между системните компоненти. | Тестовите случаи, в този случай, се фокусират върху симулиране на сценарии от реалния живот. |
Тестване на системната интеграция срещу теста за приемане от потребителя
Ето разликата между SIT и UAT:
SIT (Тестване на системната интеграция) | UAT (Тест за приемане от потребителя) |
---|---|
Това тестване е от гледна точка на взаимодействието между модулите. | Това тестване е от гледна точка на потребителските изисквания. |
SIT се извършва от разработчици и тестери. | UAT се извършва от клиенти и крайни потребители. |
Извършено след модулно тестване и преди тестване на системата. | Това е последното ниво на тестване и се извършва след тестване на системата. |
Като цяло проблемите, открити в SIT, ще бъдат свързани с потока от данни, контролния поток и т.н. | Проблемите, открити в UAT, обикновено са като функциите, които не работят според изискванията на потребителя. |
Изображението по-долу за нивата на тестване ще ви направи ясен потокът от тестване на модули към UAT:
Пример за SIT
Нека приемем, че една компания използва софтуер за съхраняване на клиентски данни.
Този софтуер има два екрана в потребителския интерфейс - Екран 1 и Екран 2 и има база данни. Подробностите, въведени в Екран 1 и Екран 2, се въвеждат в базата данни. Към момента компанията е доволна от този софтуер.
Няколко години по-късно обаче компанията установява, че софтуерът не отговаря на изискванията и има нужда от подобрение. Следователно те разработиха екран 3 и база данни. Сега тази система с екран 3 и база данни е интегрирана със стария / съществуващ софтуер.
Сега тестването, извършено върху цялата система след интеграцията, се нарича тест за системна интеграция. Тук се тества съвместното съществуване на нова система със съществуваща, за да се гарантира, че цялата интегрирана система работи добре.
SIT техники
Основно има 4 подхода за извършване на SIT:
- Подход отгоре надолу
- Подход отдолу нагоре
- Сандвич подход
- Подход за Големия взрив
Подходът отгоре надолу и подходът отдолу нагоре е вид постепенни подходи. Нека започнем дискусията първо с подхода отгоре надолу.
# 1) Подход отгоре надолу:
При това тестването започва само с най-горния модул на приложение, т.е.потребителския интерфейс, който наричаме тестов драйвер.
Функционалността на основните модули се симулира със заглушки. Най-горният модул е интегриран с модула от по-ниско ниво един по един и по-късно се тества функционалността.
След като всеки тест приключи, мъничето се заменя с реалния модул. Модулите могат да бъдат интегрирани или по ширина или по дълбочина. Тестът продължава, докато се изгради цялото приложение.
Предимството на този подход е, че няма нужда от драйвери и тестовите случаи могат да бъдат определени по отношение на функционалността на системата.
Основното предизвикателство при този тип подход е зависимостта от наличието на функционалност на модула от по-ниско ниво. Може да има забавяне на тестовете, докато реалните модули бъдат заменени с заглушки. Писането на мъничета също е трудно.
# 2) Подход отдолу нагоре:
Той елиминира ограниченията на подхода отгоре надолу.
При този метод първо се сглобяват модулите от най-ниското ниво, за да се образуват клъстери. Тези клъстери служат като подфункция на приложението. След това се създава драйвер за управление на входа и изхода на тестовия случай. След това клъстерът се тества.
След като клъстерът бъде тестван, драйверът се премахва и клъстерът се комбинира със следващото горно ниво. Този процес продължава, докато се постигне цялата структура на приложението.
При този подход няма нужда от мъничета. Той става опростен, тъй като обработката се движи нагоре и нуждата от драйвери намалява. Този подход е препоръчителен за извършване на SIT за обектно-ориентирани системи, системи в реално време и системи със строги нужди от производителност.
Ограничението на този подход обаче е най-важната подсистема, т.е. UI се тества на последно място.
# 3) Сандвич подход:
Тук подходите отгоре надолу и отдолу нагоре, обсъдени по-горе, се комбинират заедно.
Системата се възприема като имаща три слоя - средния слой, който е целевият слой, слой над целта и слой под целта. Тестването се извършва както в посоките, така и в събранията на целевия слой, който е в средата и това е илюстрирано на изображението по-долу.
Стратегия за тестване на сандвич
Предимство на този подход е, че горният и долният слой на системата могат да бъдат тествани паралелно. Ограничението на този подход обаче е, че той не тества изчерпателно отделните подсистеми преди интеграцията.
За да елиминираме това ограничение, сме модифицирали сандвич тестване, при което интегрирането на горния, средния и долния слой се тестват паралелно с помощта на заглушители и драйвери.
# 4) Подход за Големия взрив:
При този подход интеграцията се извършва, след като всички модули на приложението са напълно готови. Тестването се извършва след интегрирането на всички модули, за да се провери дали интегрираната система работи или не.
Предизвикателство е да се намери основната причина за проблема в този подход, тъй като всичко е интегрирано наведнъж, за разлика от постепенното тестване. Този подход обикновено се възприема, когато се изисква само един кръг SIT.
как да декларирам списък в java -
Заключение
В тази статия научихме какво е тестване за системна интеграция (SIT) и защо е важно да го извършим.
Разбрахме за основните концепции, техники, подходи и методите, участващи в извършването на SIT. Преминахме също така как SIT се различава от UAT и системното тестване.
Надявам се да ви е харесала тази отлична статия !!
Препоръчително четене
- Какво е тестване на компоненти или модули (научете с примери)
- Какво е сравнително тестване (научете с примери)
- Какво е тестване на интеграция (урок с пример за тестване на интеграция)
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Разликите между модулното тестване, интегрираното тестване и функционалното тестване
- Функционално тестване срещу нефункционално тестване
- Интеграция на селен с JMeter
- Spock за интеграция и функционални тестове със селен