tgoop.com/eshu_coding/83
Last Update:
Одно из традиционных направлений в разработке софта — автоматизация всего, что движется. Возведённый в абсолют, этот подход приводит к концепции непрерывного развертывания. Это когда новый код доходит до клиентов практически сразу после того, как его написали — например, в тот же день.
"Олдскульная" система разработки ПО начинается с того, что программисты сидят и пишут код. В конце определенного отрезка времени — спринта — всё написанное собирается в единое обновление. Обновление проверяется тестировщиками, и, если всё ок, «выкатывается» на пробу заказчику, и, если все в порядке, так или иначе поставляется клиентам.
Процесс проверки такого обновления тестировщиками и заказчиком занимает огромное количество человеко-часов. При этом никто не застрахован от проникновения к конечному пользователю каких-либо критических багов.
Сейчас мир разработки ПО движется в замены процесса ручного тестирования и опытной эксплуатации автоматизированными тестами. Установка и настройка тоже полностью автоматизируется.
На каждый кусочек кода программист пишет другой кусочек кода, который проверяет, что первый работает так, как надо — и сообщает результат. Кроме того, пишутся тесты, которые проверяют работоспособность и корректность взаимодействия более крупных компонентов ПО. Например, микросервисов.
Предположим, программист завершил какую-то небольшую подзадачу. Он добавляет своё маленькое обновление в общее хранилище кода. Когда это происходит, ПО ставится на специальный тестовый сервер, где прогоняются ВСЕ тесты, отвечающие за функциональность. Отчёт о результатах тестирования отправляется всем, кому этот отчёт нужен.
Постепенно обновления могут начать автоматически добираться напрямую до клиентов. В случае использования микросервисов в архитектуре последствия пропущенной проверки критического бага минимизируются. Если умрет один микросервис из сотни, его просто восстановят из последней работоспособной версии. Основная часть клиентов даже не почувствует ущерба.
Казалось бы, тестировщики в скором времени начнут вымирать: большая часть тестов пишется программистами, тестирование автоматизировано. Но всё не так ужасно: системные администраторы ведь не вымерли, а превратились в devops-ов и в специалистов по информационной безопасности. Так и тестировщики – просто сольются до неразличимости с программистами, но без работы не останутся.
BY Эшу быдлокодит
Share with your friend now:
tgoop.com/eshu_coding/83