DevOps-специалист — это профессионал широкого профиля, который разбирается в принципах разработки и тестирования ПО и понимает, как конкретный код будет работать на «железе», виртуальных серверах или в облаке. Он может выступать в роли консультанта как в момент проектирования ПО, так и после внедрения. DevOps-специалисты «вырастают» либо из системных администраторов, либо из разработчиков (случается значительно реже).
Белый ящик — тестирование, при котором специалист, проверяющий ту или иную систему, знает ее устройство и может догадаться о природе проблемы, которую находит. Черный ящик — тестировщик не знает, что происходит внутри программы. То есть, например, при ручном тестировании человек нажимает кнопку, получает положительный или отрицательный результат — и просто фиксирует его. Серый ящик — в таком случае специалист знает общее устройство программы, но не знает деталей. Поэтому может объяснить только наличие особо грубых ошибок. Все остальные он регистрирует, описывает и передает на расшифровку другим специалистам. Общаясь с тестировщиком, мы всегда спрашиваем, занимался он ручным или автоматизированным тестированием, какие виды тестирования осуществлял, с помощью чего делал автотесты, писал ли скрипты самостоятельно. Если да, то на каком языке программирования
Функциональное тестирование — грубо говоря, «обычная», основная проверка, которая показывает, насколько программа выполняет свои функции. Системное тестирование — сквозное тестирование всех модулей программы на корректную взаимную работу. Нагрузочное тестирование — позволяет определить предельно допустимую нагрузку, например, на сайт. Регрессионное тестирование — проверка того, как новые модули влияют на уже существующие элементы системы. Тестирование безопасности — проверка защищенности системы от вирусов, атак хакеров и любого другого несанкционированного доступа.
эксперт по автоматизированному тестированию должен знать и уметь больше, чем ручной тестировщик. Для работы авто-QA необходимо знать один, а лучше несколько языков программирования: чаще всего это Java и Python. Также они часто используют в своей работе такие инструменты, как PyTest или Selenium для написания тестировочных кодов. И по мере профессионального развития, как правило, становятся разработчиками. А начинают как раз с ручного.
Неоспоримый плюс автоматизированного тестирования заключается в отсутствии человеческого фактора типа усталости или невнимательности. А кроме того, автотесты помогают понять, как будет работать софт в ситуациях, которые сложно воспроизвести вручную, например при высокой нагрузке на сайт.
Автоматизированное тестирование. В данном случае новый софт тестируется с помощью специальных программ — автотестов. Естественно, такие тестирующие программы должны быть кем-то написаны. Но однажды созданные автотесты можно использовать неограниченное количество раз, что значительно удешевляет и ускоряет тестинг.
Manual Testing (ручное тестирование) происходит следующим образом: QA-специалист «изображает» поведение пользователя и регистрирует, где и что именно пошло не так.