what is infrastructure testing
Това изчерпателно ръководство за тестване на инфраструктурата обхваща предимствата, предизвикателствата, инструментите и методологиите за тестване на инфраструктурата:
Инфраструктурата се споделя между много проекти. Тестването на инфраструктурата е тестване на хардуерни и софтуерни зависимости, необходими за стартиране на софтуерни продукти. Помага за покриване на продуктовите рискове, свързани с целевата инфраструктура.
Този урок ще ви помогне да научите тестването на инфраструктурата от нулата. Ще разгледаме пълни подробности като предимства и предизвикателства, кой може да изпълни, кога да изпълни и техники за извършване на това тестване. Инструментите за тестване на инфраструктурата също са разгледани в този урок.
Какво ще научите:
- Какво представлява инфраструктурата?
- Какво е тестване на инфраструктурата?
- Методологии за тестване на инфраструктурата
- Инструменти за тестване на инфраструктура
- Заключение
Какво представлява инфраструктурата?
Екосистемата за ИТ инфраструктура включва платформи на операционни системи (като Windows, UNIX, Linux, macOS), платформи за компютърен хардуер (като Dell, IBM, Sun, HP, Apple), интернет платформи (като Apache, Cisco, Microsoft IIS, .NET ), Управление и съхранение на данни (като IBM DB2, Oracle, SQL Server, MySQL) и корпоративни софтуерни приложения (като SAP, Oracle, Microsoft).
Какво е тестване на инфраструктурата?
Всеки софтуер изисква инфраструктура за извършване на своите действия. Тестването на инфраструктурата е процесът на тестване, който обхваща хардуер, софтуер и мрежи. Включва тестване на всеки код, който чете конфигурационни стойности от различни неща в ИТ рамката и ги сравнява с предвидените резултати.
Намалява риска от неуспех. Това тестване включва тестови упражнения, процедури, които гарантират, че ИТ приложенията и основната инфраструктура са настроени да осигуряват изпълнение, адаптивност, непоклатимо качество, достъпност, производителност и мащабируемост. Целта е да се тества инфраструктурата между тестови среди, тестови инструменти и офис среди.
Защо е необходимо тестване на инфраструктурата?
Организациите харчат много долари, за да се уверят, че техните бизнес приложения са тествани до съвършенство. Въпреки това, основната основа, т.е. инфраструктурата, която хоства и предава тези приложения, е от време на време тествана и обикновено подценявана.
коя е най-добрата услуга за електронна поща за използване
Необходимо е тестване на инфраструктурата, за да се намали рискът от повреда на който и да е хардуерен или софтуерен компонент. Когато се подготви нов дизайн на инфраструктурата за софтуера, става необходимо да се извърши това тестване. Необходимо е да се гарантира дали новата функционалност на инфраструктурата работи по предназначение. Проблемите възникват по-вероятно, когато нов инфраструктурен модул е интегриран с проекта.
Неизправности в инфраструктурата възникват, когато не се планира тестване на мащабируема инфраструктура. Следователно, за да се предотвратят смущения и проблеми в последния момент, трябва да се извърши това тестване.
Това тестване е необходимо за идентифициране на дефекти, които не са били ефективно открити по време на различни процеси на тестване. Става важно да се анализира софтуерното приложение, когато се променят хардуерните и софтуерните ресурси. Прави се за анализ на ефективността и производителността на системата.
Необходимо е навременно внедряване на този тип тестване, тъй като проектите включват високи разходи за инфраструктура. Следователно са необходими добри познания за това тестване, за да се минимизират разходите, свързани с рисковете от проекта. За да се избегнат грешки, това тестване е необходимо като индустриален стандарт.
Какви са предимствата на тестването на инфраструктурата?
Планираният и изчерпателен подход на тестване на инфраструктурата дава много предимства както на софтуерен продукт, така и на организации.
Малко от предимствата са изброени по-долу:
- Намаляване на производствените неуспехи.
- Подобряване на идентифицирането на дефекти преди изпълнението на производството. Надградете качеството на инфраструктурата с нулево приплъзване на дефекти до производство.
- Ускорено изпълнение на теста, даващо възможност за ранно пускане на живо.
- Помага за годишни икономии на разходи в операциите, както и в бизнеса.
- Уверете се, че софтуерът работи в систематична и контролирана процедура.
- Намаляване на престоя.
- Подобряване на качеството на услугата.
- Наличие на стабилна среда.
- Намаляване на разходите, свързани с рисковете.
- По-добро потребителско изживяване.
Предизвикателства при тестване на инфраструктурата
Нека разгледаме няколко предизвикателства, пред които са изправени компаниите, когато се стремят да възприемат тестване на инфраструктурата.
# 1) Отдалечена среда
Тестовите среди или ресурси са разположени в топографски отдалечени локали, което кара тестовите екипи да разчитат на групи за поддръжка в района за управление на предизвикателства, свързани с оборудване, хардуерни компоненти, софтуерни компоненти, мрежи и др. Това често изисква известни инвестиции по отношение на времето и причините закъснения, особено когато отборите са разположени в различни часови зони.
# 2) Липса на специален екип
Липсата на знания сред екипа е основно предизвикателство за провеждането на това тестване. Специализиран екип е длъжен да поддържа информация, свързана с всички дейности, включително графици, планове, покритие, отчети за състоянието.
# 3) Разследване на проблемите с тестовата среда
Много пъти проблемите с тестовата среда не могат да бъдат разрешени и се нуждае от разследване. Необходима е координация със съответните екипи, докато проблемът бъде решен.
# 4) Поддържане на среда на едно място
Поддържането на общ склад на тестови среди, тяхната стара съвместимост, както и най-новите версии, представляват голямо предизвикателство при извършването на това тестване. Подробностите за свързване и конфигурациите на всички версии не се поддържат.
# 5) Ръчна работа
Малко дейности, участващи в това тестване, изискват ръчна работа, тъй като няма налични инструменти. Това води до човешка грешка и закъснения в процеса.
# 6) Липса на стандартна дефиниция за тестване на инфраструктурата
Повечето хора все още не са наясно с изпълнението и процесите. Неправилното познание и разбиране често водят до трудности при изпълнението. Възникват много нови проблеми, които могат да повлияят на процеса, за да бъде стабилен.
# 7) Изолирани екипи
Съществува голяма разлика между местата в екипа. Това обикновено води до липса на прозрачност и лоша работа в екип.
Кой може да извършва тестване на инфраструктурата?
В този тип тестване участват различни екипи. Те са обяснени по-долу:
# 1) Екип за тестване на инфраструктурата
Екипът за тестване на инфраструктура има доста куп знания, свързани с това тестване. Те също са ангажирани с екипа за осигуряване на качеството. Този екип знае как да тества ИТ инфраструктурата. Този екип знае как да проектира тестови случаи за този тип тестване.
# 2) Екип на системния администратор
Екипът на системния администратор често тества инфраструктурата на мрежово ниво. Проектиране на екип и тестване на документи въз основа на техния опит. Те са отговорни да гарантират, че приложенията няма да бъдат засегнати след промяна в мрежата.
# 3) Екип за поддръжка на инфраструктурата
Този отбор играе много важна роля. Те участват на ранен етап и са отговорни да определят тестови среди според изискванията. Те участват в тестовото планиране и поддържане на инфраструктурна среда.
# 4) Екип за осигуряване на качеството
Екипът на QA отговаря за провеждането на регресионен тест. Те също така участват в тестове за интеграция. Те извършват тестване на различни тестови среди, които са създадени според различна инфраструктура.
# 5) Ръководител на проекти
Ръководителят на проекта е отговорен да се справи с проекта. Те участват в планирането, проектирането, документирането на тестови случаи, които са необходими за този тип тестване. Ръководителят на проекти е в синхрон с всички екипи.
Кога да се извърши тестване на инфраструктурата?
Има спешна необходимост да се извърши това тестване, когато се въведат промени, свързани с инфраструктурата.
Примери за такива промени са:
- Всяка нова корекция в системата е разработена.
- Всякакви нови системни актуализации са изпитани.
- Всяка актуализация в операционната система.
- Версията / структурата на базата данни се надгражда.
- Когато има надграждане на паметта за сървъри.
- Внедряване на новия инструмент.
- Поправки на сигурността.
- Актуализация на софтуера.
Понякога този тип тестване става по-важен, когато се срещне миграция на база данни или център за данни. Необходим е по-голям фокус, когато има разнообразни и бързи промени в приложението и когато са включени миграции на инфраструктура.
Извършва се и когато се въведе поддръжката на нови устройства за софтуер.
Пример:
- Нови лаптопи / настолни компютри
- Нови мобилни устройства
- Нови инструменти на трети страни
Методологии за тестване на инфраструктурата
В това има различни модули. Малко от тях са изброени по-долу:
- Сървърна / клиентска инфраструктура
- Миграция на данни
- Тестване на инфраструктурата в облак
- Тестване на ниво мрежа
- Инсталиране / Деинсталиране / Разгръщане
- Тествайте инфраструктурата на околната среда
- TDD подход
# 1) Сървърна / клиентска инфраструктура
Сървърите включват уеб сървъри, файлови сървъри, пощенски сървъри, прокси сървъри, виртуални сървъри и физически сървъри на хардуер. Клиентът включва ОС, приложения, потребителски настройки и др. Сървърите изпълняват различни услуги и тези услуги могат да бъдат използвани от клиентите.
Основната цел е да се тества качеството на сървъри, настолни компютри, операционни системи и хардуер. Сървърните / клиентските компоненти се тестват, за да се гарантира, че производителността на инфраструктурата се подобрява в производствената среда. Той също така включва тестване на инсталация или деинсталация на приложения, тестване на съвместимостта на браузъра, тестване на интеграция с различни версии на операционната система и потребителски настройки.
Процедура:
- Най-важното е да се съберат изискванията от заинтересованите страни.
- Съставете план за изпитване според разбирането на необходимата инфраструктура.
- След това се проектират тестови случаи, обхващащи поддръжка на операционни системи, сценарии за надграждане, обхват на тестване на инфраструктура сървър / клиент, както и тестване на функционалността.
- След одобрението на тестовите случаи екипът за QA изпълнява всеки сценарий и съответните тестови случаи.
Всички промени, свързани със сървъра / клиента, като надграждане, промени в конфигурацията, вече са тествани на QA настройки, така че това гарантира, че ще има по-малко въздействие в производствената среда. Също така, различни версии на операционната система ще бъдат тествани преди внедряване в производството. Освен това, ако нещо се провали в производството, резервните процедури се тестват предварително, за да се осигури архивиране.
# 2) Миграция на данни
Миграцията на данни включва данни, мигрирани от стара версия към нова версия, данни, мигрирани от един сървър на друг, както и данни, мигрирани към различни конфигурации.
Основната цел на теста за миграция на данни е да тества миграцията на данни на различни версии, сървъри, нови компилации. Тествайте приложението, за да удостоверите, че няма въздействие поради миграция. Тестът за миграция на данни също се извършва, за да се провери производителността и латентността в приложението.
Процедура:
- Тествайте приложението преди и след миграцията.
- Тествайте сървърите преди и след миграцията на данни, за да сте сигурни, че не се наблюдават промени.
- Тествайте, че не се наблюдават промени в работата на приложението след миграция на данни.
- Тествайте приложението с различни версии на базата данни
- Тествайте новата компилация е съвместима с всички версии на базата данни.
- Тествайте различни конфигурационни настройки на сървъра с различни версии на базата данни
С помощта на тестване на миграция на данни могат да бъдат открити несъответстващи конфигурации на сървъра. Всички проблеми със изграждането на сървъра, ако съществуват при извършване на миграция на данни, могат да бъдат разрешени преди внедряването на производството. Тестването на миграция на данни подобрява качеството и стабилността на продукта. Това тестване по-късно помага при тестване на инсталацията, докато разгръща приложението в производствената среда.
# 3) Тестване на инфраструктурата в облак
Информацията и данните се съхраняват предимно на виртуални сървъри и тези сървъри се съхраняват и управляват от доставчици на изчислителни облаци като AWS.
Основната цел е да се сертифицират облачните услуги за различни версии на приложения. Тествайте архитектурата на приложението в облака. На Cloud се симулира истинско приложение и се тестват производителността и мащабируемостта на приложенията.
Процедура:
- Тествайте натоварването върху приложението с различни конфигурации.
- Извършете регресионно тестване и се уверете, че приложението не засяга тестването на натоварване.
- Тествайте дали дадено приложение е съвместимо с браузър в облачна среда.
- Тествайте инсталирането на приложението в облака.
- Тествайте дали приложението работи според очакванията в различни среди в облака.
Тестването на инфраструктурата в Cloud гарантира безпроблемно внедряване на приложението в производствената среда. Помага да се знае производителността, мащабируемостта и стабилността на приложението. Той помага при използването на ресурсите, намиращи се в облака, като хардуер, софтуер и инфраструктура.
# 4) Тестване на ниво мрежа
Мрежата е най-важната част от инфраструктурата на приложението. Мрежата помага в комуникацията между сървъри, клиенти и други мрежи. Мрежите имат различни модули като прокси сървъри, инфраструктура за интернет свързаност.
Основната цел е да се контролират и управляват проблеми на ниво мрежа като прекомерно използване на ресурси, престой на сървъра, конфигурация на системата, инфраструктура, необходима за операции, кръпки на операционната система.
Процедура:
- Тествайте мрежовия слой за бъдещи актуализации на приложението.
- Тест за резервни процедури в случай на неизправност в производствената среда.
- Извършвайте системно тестване, UAT тестване, тестване на сигурността.
- Проектирайте тестови случаи и подгответе тестови данни.
- Уверете се, че услугите на ниво сървър / мрежа не са засегнати след нова версия.
- Тест за изолирана мрежа.
- Тествайте въздействието върху производителността на приложението в различни мрежи като VPN, Wi-Fi, LAN и др.
Тестването на инфраструктура на ниво мрежа подобрява времето за възстановяване. Той осигурява архивиране и възстановява механизмите. Помага и за сигурността на приложенията.
# 5) Инсталация / деинсталация / внедряване
Основната цел на тестването на инфраструктурата по време на изпълнението на инсталацията е да се гарантира, че когато нов клиент използва приложението, няма да възникнат проблеми при инсталирането на приложението за първи път. Деинсталирането на приложението се извършва, за да се тества изходният процес на приложението.
Процедура:
- Тест за инсталационните пакети, необходими за инсталиране на приложението.
- Тествайте за допълнителни библиотеки, изграждайте пакети.
- Тествайте за времето, необходимо за инсталиране и деинсталиране на приложението.
- Инсталирайте приложението на различни операционни системи.
- Необходим е тест за дисково пространство.
- Тествайте дали всички файлове са премахнати след деинсталирането на приложението.
Тестването на инфраструктура по време на инсталиране / деинсталиране / внедряване гарантира, че приложението може да бъде инсталирано по мрежата в определен момент. Той гарантира, че всяка поправка може да бъде инсталирана по-късно или не. Помага за подобряване на съхранението, изисквано от приложението.
# 6) Тествайте инфраструктурата на околната среда
Тестовата среда е колекция от хардуер, софтуер, инструменти и процеси. За да се извърши тестването точно и ефективно, тестовата среда е необходима. Тестовата среда включва и работното място, където на тестерите се осигурява добра мрежа, компютър и захранване, за да изпълняват работата си.
Основната цел е да се провери инсталирането на софтуера, настройките на конфигурацията на приложението, да се изберат правилните инструменти за тестване, които поддържат планирането на теста, изпълнението на теста. Той също така осигурява непрекъснатост на изпълнението на теста.
Процедура:
- Създайте тестова среда за редовни издания на проекта.
- Създайте тестова среда за издания с актуални корекции.
- Създайте решения за управление на проблеми със сървърната и клиентската среда.
- Финализиране на тестовите инструменти за план за тестване, дизайн на теста и изпълнение.
- Решете инструменти за отстраняване на грешки и докладване на грешки.
- Създайте документ за настройка на тестовата среда.
Използването на инструменти и тестови среди имат множество предимства. Наблюдава се по-високо качество. Производителността се увеличава с използването на инструменти. Тестовите дейности се извършват по обработен начин. Документирането на тестовата среда помага на новите членове на екипа да разберат по-добре.
# 7) TDD подход
Test-Driven Development или TDD framework е метод за първо писане на тестови случаи на базата на документите за изисквания и след това внедряване на функционалността според теста.
Основната цел е да се знаят инфраструктурните ресурси, необходими за проекта. Целта е да се дефинира и организира инфраструктурата за сигурност, операции и производство.
Процедура:
- Проектни документи за инфраструктурни изисквания.
- План за тестване на проекти, обхващащ инфраструктурата, необходима за приложението
- Проектирайте тестови случаи, включващи инфраструктурни тестове.
- Тест за различни конфигурации.
TDD подходът помага за подобряване на сложността на проекта. Всички промени в инфраструктурата се тестват, преди да се премине към производство. Различни възможни конфигурации могат да бъдат внедрени, тъй като тестовете вече са проектирани.
Инструменти за тестване на инфраструктура
Готвач, куклен, и Отговорни са различни инструменти, които служат на една и съща цел. Тези инструменти се използват при разполагане и конфигуриране на различни сървъри, необходими за приложение. Тези инструменти помагат много, когато има сложни задачи, свързани с инфраструктурата. За екипа става лесно да изпълнява задачи на множество сървъри заедно, използвайки тези инструменти.
Екипът, който използва тези инструменти, бързо разгръща множество приложения, зависимости и библиотеки. Други дейности включват сървъри, двоични файлове, регистрационни файлове, механизми за възстановяване, надграждане на версията, управление на база данни.
# 1) Главен готвач
Характеристика: Главният готвач поддържа специфични за Ruby домейн езици. Следователно е трудно за разработчиците да научат този инструмент. Въпреки че е труден за езикова поддръжка, този инструмент е силно достъпен. Главният готвач следва конфигурацията master-slave. В механизма master-slave първичният сървър, т.е. chef-server, може да бъде заменен от резервния сървър, ако във всеки случай се срещне неуспех.
Можем да разгръщаме приложения, да конфигурираме инфраструктура и да конфигурираме мрежата с Chef. Той не е силно обезопасен.
Цена: Той е по-евтин от Puppet, но по-скъп от Ansible. Цената му е приблизително $ 13.5k / година до 100 възли.
Въпроси и отговори за интервю за oracle pl / sql за 7 години опит
Уебсайт: Главен
# 2) Марионетка
Характеристика: Puppet е изграден с Ruby и поддържа DSL и Embedded Ruby. Програмист може да управлява конфигурацията само ако е избрана куклата, която да се използва. Екипът на системните администратори също е наясно с конфигурациите на този инструмент. Следва архитектура майстор-майстор. Ако активен майстор изпитва неуспех, друг майстор може да го замени.
Puppet е полезен в мащабируемостта на машините, при задаването на различни конфигурации за всеки хост. Ако се направи някаква промяна в конфигурацията, този инструмент помага за глобални промени. Това също не е толкова силно защитен инструмент.
Цена: Цената му е най-високата на приблизително $ 11k - $ 20k / година за до 100 възли.
Уебсайт: Куклен
# 3) Отговорни
Характеристика: Ansible е написан на Python и също така поддържа YAML командни скриптове. Python е четим от човека и затова този инструмент е идеален за системни администратори. Той работи с един активен възел, но в случай на неизправности, той има и вторичен възел.
Ansible е силно мащабируем, т.е.може да управлява голям брой възли без никакви проблеми. В сравнение с Puppet, Ansible е по-удобен от гледна точка на мащабируемост. За разлика от Chef and Puppet, той е силно защитен инструмент със SSH.
Цена: Цената му е много по-ниска от Puppet and Chef приблизително $ 10k / година за до 100 възли.
Уебсайт: Отговорни
Заключение
Тестването на инфраструктурата е необходимо за жизнения цикъл на разработката на софтуер, тъй като компаниите правят големи разходи за инфраструктурата. В този урок са разгледани различни теми като предимства, предизвикателства, техники и хора, участващи в този тип тестване. Погледът на инструментите за тестване на инфраструктурата също е обхванат.
Препоръчително четене
- Мониторинг на ефективността на приложенията и ИТ инфраструктурата с помощта на eG Enterprise Tool (практически преглед)
- Видове тестване на софтуер: Различни видове тестване с подробности
- Тестване на приложения - в основите на софтуерното тестване!
- Какво е гама тестване? Последният етап на изпитване
- Какво е тестване за съответствие (тестване за съответствие)?
- Тестване на ефективността срещу тестване на натоварване срещу тестване на стрес (разлика)
- Проучвателно тестване срещу тестване по сценарий: кой печели?
- Какво е тестване на скалируемост? Как да тестваме мащабируемостта на приложението