continuous testing devops
Какво е непрекъснато тестване и тръбопровод за непрекъснато тестване в DevOps?
Надявам се, че всички сте харесали последния урок нататък Непрекъснато внедряване в DevOps .
Знаем значението на тестването при всяка доставка на софтуер и DevOps са кратък цикъл на доставки, невъзможно е да се стартират всички проектирани тестови случаи всеки път ръчно, когато един ред код се актуализира в инструмента за контрол на версиите и това е мястото, където непрекъснато тестването и автоматизираният конвейер за непрекъснато тестване влизат в картината в DevOps.
Предложено четене => Урок за обучение на DevOps от Scratch
Предимства на CT:
-
- Качеството и скоростта са огромните предимства на CT.
- По-бърза и бърза обратна връзка за кода.
- Повишава доверието на екипа и ги насърчава да се усъвършенстват непрекъснато.
ВИДЕО Част 3 Блок 4: Непрекъснато тестване- 14 минути 39 секунди
Стенограма:
В този блок ще научим за Непрекъснато тестване и тръбопровод за непрекъснато тестване подробно.
Непрекъснатото тестване е друг важен процес на тръбопровода за непрекъсната доставка, заедно с непрекъснатата интеграция, в тръбопровод, който включва, различни фази на тестване при което автоматизираните тестове се изпълняват заедно с автоматизираните порти за качество между тях.
По този начин непрекъснатото тестване е, изпълнявайки автоматизирани тестове, непрекъснато и многократно спрямо кодовата основа и различните среди за внедряване.
По принцип модулните тестове, статичен анализ на кода, анализ на кода за сигурност, тестове за интеграция, тестове за натоварване и производителност са част от непрекъснатото тестване, което се изпълнява в автоматизиран конвейер за непрекъснато тестване.
Тъй като непрекъснатата интеграция и непрекъснатото внедряване се наричат CI, CD, непрекъснатото тестване се нарича по-често CT.
Ако видите тази диаграма, която е тръбопровод за непрекъсната доставка, този тръбопровод включва два тръбопровода, единият е изграден тръбопровод, който е CI тръбопровод или непрекъснат интеграционен тръбопровод, който се състои от автоматичен спусък за изграждане, компилиране, изграждане и внедряване.
Другият е изпитателен тръбопровод, който е непрекъснат изпитателен тръбопровод
въпроси и отговори за интервю за php за 2-годишен опит
Сега нека видим повече за непрекъснатото тестване.
Ние знаем колко е важно тестването, тестването на всеки ред код ... .. тестване всеки път ... и тестване на различни етапи и е почти невъзможно да се изпълняват всички проектирани тестове всеки път ръчно, когато ред код се актуализира в контрола на версиите.
Именно там се появява непрекъснатото тестване.
Така че, освен ако кодът, който попадне в автоматизирания непрекъснат интегриран тръбопровод, не бъде тестван задълбочено и гарантира необходимото качество, няма полза от пускането на софтуера на клиентите. Искам да кажа, че качеството не може да бъде гарантирано, ако кодът не е добре тестван.
Така че, непрекъснатото тестване, както е дефинирано по-рано, е да изпълнява различни видове тестове, непрекъснато върху кодовата основа и в различни среди, в които се разполага, както е предварително дефинирано и проектирано в конвейера за непрекъсната доставка.
Както виждате на снимката, единичните тестове се случват на самия CI сървър, който тества всяка единица от системата изолирано.
как да приложите хеш таблица в java
Тестовете за интеграция се провеждат в среда за интеграция, която основно проверява компонентите, интегрирани заедно. Системни тестове в средата за тестване на системата, където BIG системата с всички интегрирани компоненти и интерфейси се тества чрез сценарии на системно ниво в среда за тестване на системата и т.н.
И дълбочината на тестване често напредва, тъй като симулацията на околната среда се приближава до производството.
Непрекъснатите тестове постепенно стават по-строги и по-дълги с напредването към производствената среда, тъй като трябва бавно да добавяме редица тестове и по-сложни тестове, докато кодът узрее и сложността на средата напредва.
Не е, че едни и същи тестови случаи ще бъдат изпълнявани през цялото време, тестовите случаи трябва да се актуализират всеки път на различни фази и автоматизираните скриптове се актуализират, тъй като кодът става по-зрял, преминава към по-високо ниво на среда, където конфигурациите и инфраструктурата също предварително, докато не влезе в производство.
Така че дори времето, необходимо за стартиране на тестовете, се увеличава с напредването на теста към точката на освобождаване, като модулното тестване може да отнеме много по-малко време, докато някои интеграционни тестове или някои системни тестове или тестове за зареждане могат да отнемат няколко дълги часа, за да стартират или може да отнемат няколко дни за бягане.
Тук непрекъснатото тестване би се изпълнявало автоматично с автоматично задействане на автоматизираните тестови случаи с тригер. Но както дефинирахме по-рано, непрекъснатата доставка включва и някои ръчни тестове и порти, при които определени тестове се извършват ръчно, преди да се вкарат в производството.
Тези междинни качествени порти на всеки етап от тестването и увеличават доверието в кода.
Така че тръбопроводът за непрекъснато тестване като такъв включва модулно тестване заедно с предварителни автоматизирани проверки на сигурността. След това влиза в ниво на интеграция на тестване, където се изпълняват автоматизирани тестове за интеграция, след това на системно ниво, където сценариите на системно ниво се автоматизират и изпълняват.
Тук се извършват дори определени сценарии за тестване на производителността.
След това се преминава към „Изпитване за приемане“, което по същество включва автоматизирани случаи на изпитване за приемане на сайт и след това към „Изпитване за приемане от потребителя“, което може да бъде ръчно изпълнение и включва участие на крайния потребител за извършване на тестовете и това ще бъде един вид окончателно изписване на продукта или функция, при която се извиква ръчен портал и накрая се разполага на производствената площадка.
Така че, с напредването на непрекъснатото тестване сложността на тестовете и тестовата среда се увеличава и достига до средата, която е по-близо до производството като симулация.
Не е необходимо да споменавам конкретно, че всички тези етапи на изпитване включват тестове за проверка на изграждането, тестове за здравословно състояние, тестове за дим и регресия, отново, както казах, зависи от това, което проектираме в непрекъснатото тестване и доставка.
Това е типичният тръбопровод за непрекъснато тестване, добре, той може да бъде проектиран от екипа въз основа на вида на продукта и различните нива на тестване и видове тестове, които продуктът изисква.
Непрекъснатото тестване изисква интегриране на рамка за автоматизация с инструмента за контрол на версиите и CI и различните автоматизирани инструменти за извършване на функционални и нефункционални тестове през различни фази на тестване, като:
- Сонар за анализ на статичен код,
- Укрепване за сигурен анализ на код,
- Селен за функционални тестове,
- Товарен бегач за тестване на товара и т.н.,
Microsoft TFS, Jenkins, chef, puppet са малко инструменти, които се предлагат на пазара за проектиране на CI-CD тръбопровод.
Работата е там, че тези инструменти може да не поддържат пълната автоматизация от край до край, в зависимост от използвания инструмент за контрол на версиите, така че малко организации може да предпочетат да разработят свои собствени рамки за автоматизация, което позволява автоматизирането на край до край на тръбопровода за доставка от код ангажирайте се с доставка на код
Така че, непрекъснатото тестване като много важна част от тестването гарантира качеството на продукта или пускането и трябва да бъдете много внимателни при избора на инструмент, рамка и т.н., което определя предимно качеството и скоростта на доставка.
Така че създаването на десен тръбопровод за непрекъснато тестване отнема малко повече време в тръбопровода за непрекъсната доставка. Не само върху инструменталната и рамковата част, но и върху частта от тестовите случаи. Непрекъснатото тестване също включва дефиниране на тръбопровод за внедряване в рамките на.
Тъй като CT изисква автоматизираното внедряване на надстройката към различни среди на различни фази, което изисква автоматизиране на разгръщането и настройка на средите чрез автоматизирани скриптове.
тествайте уебсайт за уязвимост при инжектиране на sql
Тези автоматизирани скриптове, които включват настройка на инфраструктура и конфигурации на средата като код, се проверяват в инструмента за контрол на версиите и конвейерът за доставка го взема от инструмента за контрол на версиите, за да извърши внедряването. Това се нарича тръбопровод за внедряване.
Сега нека да стигнем до предимствата на CT,
Постигането на качество и скорост е най-голямото предимство на непрекъснатото тестване.
За разлика от по-рано, когато тестването се е случвало само в края, тестването през цялото време е концепцията за непрекъснато тестване и следователно непрекъснатото тестване в тръбопровод за доставка, позволява на екипа да въведе качествени порти навсякъде и произволен брой качествени порти, които те искат, за да за да постигнат степента на качество, от която се нуждаят.
Така че, ако изобщо кодът не успее да се тества в която и да е точка или порта в тръбопровода, екипът може да се върне и автоматично да провали цялото разполагане до тази точка.
Това дава ясна индикация както на екипа на Dev, така и на Ops, че там нещо липсва и екипът може да работи, за да го поправи. И така, това е предимството и гъвкавостта на тръбопровода за непрекъснато тестване.
Така че, въвеждането на качествени портали в различни фази на теста управлява качеството на кода по-добре в процеса.
Колкото повече броят преминава през кода, толкова повече ще бъде увереността на екипа в кода, че той може да стигне до продукцията с по-високо ниво на качество.
Така че, непрекъснатото тестване повишава доверието на екипа и ги насърчава да се усъвършенстват непрекъснато.
Като цяло, ако екипът наистина не пренебрегне нито един от неуспехите на тестовете в някоя фаза на теста или качествените порти в тръбопровода, определено непрекъснатото тестване ще бъде бонус за постигане на висококачествени цели.
Така че, за да завършим с непрекъснатото тестване, направо от модулните тестове, които се изпълняват по време на предварителния етап, чрез тестовете за приемане, тестването на производителността и дори някои ръчни тестове, които ще бъдат изпълнени, са МНОГО МНОГО критични за определяне на непрекъснато тестване в тръбопровода DevOps.
Това завършва нашата дискусия по част 3 теми за непрекъсната интеграция, непрекъсната доставка и непрекъснато тестване.
В нашия предстоящ урок ще обсъдим повече Управление на конфигурацията, управление на изданията и мониторинг на изпълнението на приложенията.
Препоръчително четене
- Непрекъснато внедряване в DevOps
- Непрекъсната доставка в DevOps
- Топ 10 инструменти за непрекъснато тестване за тестване на DevOps (Списък 2021)
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Урок за тестване на DevOps: Как DevOps ще повлияе на QA тестването?
- Обобщение на видео уроците за DevOps
- Непрекъсната интеграция в DevOps
- Изтегляне на eBook за тестване на Primer