devops testing tutorial
Урок за тестване на DevOps: Неотдавнашно проучване на RightScale установи, че 54% от компаниите са приели DevOps и интересът към DevOps се увеличава бързо.
В тази статия ще научим как тази нова методология за разработване на софтуер ще повлияе на QA и как функцията за QA като цяло трябва да се развива, за да приеме тази промяна.
Вижте => Пълна серия уроци за DevOps
В тази статия ще научим повече за DevOps и как това ще повлияе на QA и неговите функции.
как да играя видео файл matroska -
Какво ще научите:
Какво е DevOps?
DevOps - е комбинация от Devосвобождаване &Наерации - това е методология за разработка на софтуер, която се стреми да интегрира всички функции за разработка на софтуер от разработка до операции в рамките на един и същ цикъл.
Това изисква по-високо ниво на координация между различните заинтересовани страни в процеса на разработване на софтуер (а именно Разработка, QA и операции )
DevOps цикъл
Идеалният DevOps цикъл ще започне от:
- Кодът за писане на Dev
- Изграждане и внедряване на двоични файлове в QA среда
- Изпълнение на тестови случаи и накрая
- Внедряване в производството в един плавен интегриран поток.
Очевидно този подход поставя голям акцент върху автоматизацията на изграждане, внедряване и тестване. Използването на инструменти за непрекъсната интеграция (CI), инструменти за тестване на автоматизацията се превръщат в норма в a DevOps цикъл.
Защо DevOps?
Въпреки че има фини разлики между Agile и DevOps тестване , тези, които работят с Agile, ще намерят DevOps за малко по-познат за работа (и в крайна сметка за осиновяване). Докато Agile принципите се прилагат успешно в итерациите за развитие и осигуряване на качеството, това е съвсем различна история (и често кост на раздора) от страна на операциите. DevOps предлага да коригира тази разлика.
Сега вместо непрекъсната интеграция, DevOps включва „Непрекъснато развитие“ , където кодът е написан и ангажиран с контрол на версиите, ще бъде изграден, внедрен, тестван и инсталиран в производствената среда, която е готова да се използва от крайния потребител.
Този процес помага на всички в цялата верига, тъй като средите и процесите са стандартизирани. Всяко действие във веригата е автоматизирано. Освен това дава свобода на всички заинтересовани страни да концентрират усилията си върху проектирането и кодирането на висококачествен продукт, вместо да се тревожат за различните процеси на изграждане, експлоатация и осигуряване на качеството.
Той намалява времето за живот драстично до около 3-4 часа, от времето, когато кодът е написан и ангажиран, до внедряване в производството за потребление на крайния потребител.
Накратко, DevOps е разширение на Agile или аз обичам да го наричам „Agile on Steroids“.
Променена роля на QA в DevOps
Традиционно QA получава компилация, която се разполага в определената от тях среда и QA след това започва тяхната Функционални & Регресионно тестване . В идеалния случай компилацията ще седи с QA за няколко дни преди QA подписването на компилацията. Всички тези стъпки се променят в DevOps.
QA промени за тестване на DevOps:
- От QA се изисква да съгласуват усилията си в цикъла DevOps.
- Те трябва да се уверят, че всичките им тестови случаи са автоматизирани и да постигнат почти 100% покритие на кода.
- Те трябва да се уверят, че тяхната среда е стандартизирана и разполагането на техните QA кутии е автоматизирано.
- Всички техни задачи за предварително тестване, почистване, задачи след тестване и др. Са автоматизирани и съобразени с цикъла на непрекъсната интеграция.
Както вече споменахме, DevOps изисква високо ниво на координация между различните функции на веригата за доставка. Това също означава, че границите между различните роли на участниците във веригата стават порести.
DevOps насърчава всички да допринесат за веригата . Така, наред с други неща, разработчикът може да конфигурира разполагания. Инженерите за внедряване могат да добавят тестови случаи към хранилището на QA. QA инженерите могат да конфигурират своите тестове за автоматизация във веригата DevOps.
Всички заедно във веригата носят отговорност за качеството и навременността на резултатите.
DevOps и тестова автоматизация
За да постигнете такава скорост и гъвкавост, е важно да автоматизирате всички процеси на тестване и да ги конфигурирате да се изпълняват автоматично, когато внедряването приключи в QA среда. За постигането на тази интеграция се използват специализирани инструменти за тестване на автоматизацията и инструменти за непрекъсната интеграция.
кой слой от модела osi се използва за неща като сигнали, битове, кабели и съединители?
Това също така налага изграждането на зряла рамка за тестване на автоматизацията, чрез която човек може бързо да скриптира нови тестови случаи.
Стратегия за тестване на DevOps: Съвети за успех на DevOps
- Тестовите случаи, които трябва да бъдат изпълнени за определена компилация, трябва да бъдат идентифицирани.
- Изпълнението на теста трябва по същество да бъде постно.
- QA и Dev трябва да седнат заедно и да идентифицират засегнатите зони поради конкретно изграждане и изпълнение на свързаните тестови случаи плюс тест за здравословно състояние.
- Също така трябва да конфигурирате специализирани инструменти за анализ на кода и покритие, за да сте сигурни, че постигате близо 100% покритие на кода.
- Концепцията за изпълнение всичко регресионните тестови случаи за тест успешно скоро остаряват.
- Стратегията за тестване на нови функции трябва да бъде формализирана и междинните компилации могат да бъдат предоставени на QA, който от своя страна ще създаде тестови скриптове и ще изпълни тези тестове за автоматизация на междинните компилации, докато кодът стане достатъчно стабилен, за да бъде внедрен в производствената среда .
- Всички среди, необходими за тестване, трябва да бъдат стандартизирани и разполаганията трябва да бъдат автоматизирани.
- Използвайки различни техники за автоматизация, QA трябва да може да задейства тестове за автоматизация в различни среди на различни платформи (и на различни браузъри в случай на уеб приложения).
- Паралелното изпълнение на тестове помага за намаляване на времето за живот, което от своя страна е същността на успешното внедряване на DevOps.
- Критериите за изход трябва да бъдат зададени за всеки цикъл, така че когато резултатите от тестовете се връщат обратно във веригата, да се вземе решение за производство / не-отиване.
- Намерените блокиращи или критични грешки трябва да бъдат докладвани и коригирани и преминати през същата верига от събития, преди кодът да бъде разположен в производствената среда.
Мониторинг на приложения
QA също трябва да може да открива проблемите рано и да ги докладва активно. За да постигнат това, те трябва да настроят мониторинг на производствената среда, за да могат да излагат грешки, преди да причинят отказ.
Настройването на специализирани броячи, като време за реакция, използване на паметта и процесора и т.н., може да предостави много представа за практическата работа на крайния потребител.
Например , ако средното време за реакция за влизане постепенно се увеличава по време на различните компилации, QA трябва активно да докладва този проблем за оптимизиране на кода за вход, в противен случай бъдещите компилации могат да причинят разочарование на крайния потребител поради дългите времена за реакция.
QA може също така да използва малка подгрупа от съществуващи тестове с висок приоритет, които да се изпълняват периодично в производството, за активно наблюдение на околната среда. Грешки като „Тази грешка се появява понякога“ или „ Не може да се възпроизведе ”Може да бъде уловен чрез тази стратегия, която в крайна сметка прави приложението по-стабилно и също така получава по-доволни крайни потребители.
Отново, тези монитори трябва да бъдат конфигурирани да се стартират автоматично с богато отчитане (като дневници и скрийншотове на грешки и т.н.).
Заключение
Waterfall отстъпи място на V-Model, който от своя страна беше заменен от Agile като предпочитан избор за разработка на софтуер.
DevOps е бъдещето. Това е непрекъснат цикъл на усъвършенстване, който моделите за разработка на софтуер преминават от време на време. Трябва да го прегърнете, разберете и привиете.
Трябва да овладеете различните инструменти за автоматизация и непрекъсната интеграция, така че вашите усилия за автоматизация да добавят стойност към веригата и да са достатъчно слаби, за да се адаптират бързо към промените. Може да работите по проекти, които могат да включват алфа , бета и UAT среди преди да бъдат внедрени в производствената среда.
Концепцията по същество остава същата. Автоматизацията и повече автоматизация е сърцевината на успешния цикъл на DevOps. Но като QA вие също трябва да можете да начертаете граница доколко автоматизацията е твърде голяма автоматизация.
За автора: Aniket Deshpande работи като QA Manager в AFour Technologies , Пуна и работи в областта на софтуерното тестване през последните 9+ години в различни домейни и платформи. Той е запален по DevOps и работи като консултант, за да насочва организациите при приемането на стратегии за тестване на DevOps.
Ако се интересувате да научите повече или искате да внедрите DevOps и свързания тестов подход във вашата организация, не се колебайте да контакт автора.
Какво мислите за тестването на DevOps? Смятате ли, че като накарате разработчиците и операторите да работят заедно, може да бъде от полза за проекта?
java направи копие на масив
Кажете ни вашите коментари / предложения относно тази статия.
Препоръчително четене
- Непрекъснато тестване в DevOps
- Урок за DevOps: Най-доброто ръководство за DevOps (25+ урока)
- Демистифициране на DevOps: Урок за видео (Част 1)
- Топ 10 инструменти за непрекъснато тестване за тестване на DevOps (Списък 2021)
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Какво е тестване на софтуер? 100+ безплатни ръководства за ръчно тестване
- Функционално тестване срещу нефункционално тестване
- Алфа тестване и бета тестване (Пълно ръководство)