Е.М. Егошина, К.А. Смирнова
ТИПОЛОГИЯ МЕТОДОВ ТЕСТИРОВАНИЯ В РАБОТЕ ИНЖЕНЕРА ПО КАЧЕСТВУ
Согласно названию, в статье описываются обязанности инженера по контролю качества и виды тестирования. Статья дает читателю информацию о ручном и автоматизированном тестировании. Ручное тестирование - тип тестирования, при котором тестовые действия выполняются тестировщиком вручную, без использования средств автоматизации. Упоминается, что автоматизированный тест - это сценарий, который позволяет инженеру по контролю качества программного обеспечения запускать тестирование автоматически. В статье дается подробный анализ разницы между ручным и автоматизированным тестированием. В статье подробно говорится о различных типах тестирования, таких как: модульное тестирование, интеграционное тестирование, системное тестирование, приемочное тестирование. Особенно отмечается, что черные, белые и серые ящики являются методами тестирования. Они отражают то, как много тестировщик знает о продукте в начале работы.
Ключевые слова: тестировщик, методы тестирования, программное обеспечение, инженер по качеству.
Главная роль инженера по качеству улучшение разработки программного обеспечения и избежание дефектов в производстве. Они проверяют, чтобы команда разработчиков по программному обеспечению выполняла корректные действия. Масштаб работы QA инженера включает в себя несколько обязанностей.
В обязанности инженера по обеспечению качества входят: рассмотрение требований и специфики продукта; проверка того, что требования излагаются понятно, четко, ясно, логично для всей команды; выбор наиболее подходящей методологии и тестирующих инструментов для проекта; создание тестового плана и тестовых кейсов; проектирование тестов на разных этапах тестирования; идентификация, отслеживание и ведение документации обнаруженных ошибок и недочетов; проверка исправлений; подготовка отчета состояния по обеспечению качества.
В зависимости от способа выполнения тестирования выделяют ручное тестирование и автоматизированное тестирование.
Ручное тестирование - это тип тестирования, в котором тест кейсы выполняются вручную тестировщиком без использования автоматических инструментов. Этот тип тестирования полагается на навыки наблюдения человека для нахождения ошибок в системе, которые сложно выявить с помощью только автоматических тестов. Обычно этого достаточно для тестирования программного продукта.
Автоматическое тестирование - это сценарий, который позволяет программному рЛ инженеру автоматически запускать тестирование.
Обязанности инженера по автоматическому тестированию более сложные. Цель автоматического тестирования предотвратить трату времени на рутинное тестирование и регрессию.
В таблице представлены сходства и различия между ручным и автоматизированным тестированием.
РУЧНОЕ ТЕСТИРОВАНИЕ АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ
В ручном тестировании тест кейсы выполняются человеком. Автоматизированное тестирование использует специальные инструменты, которые выполняют тест кейсы.
Большие затраты по времени, более высокая стоимость. Автоматизированное тестирование сохраняет время и деньги. Автотест создается один раз и может использоваться неограниченное количество раз, что экономит финансовые затраты.
Любое приложение может быть протестировано вручную Автоматизированное тестирование применяется для более-менее стабильных, повторяющихся систем. В большинстве случаев автотесты используются для регрессионного тестирования.
© Е.М. Егошина, К.А. Смирнова, 2023.
Из этого следует, что ручное тестирование подходит для стартапов. Для меняющихся приложений не используется автоматизированное тестирование. Автоматизированному тестировщику придется постоянно писать тесты, это будет очень дорого, так как за каждый раз придётся платить немаленькие деньги. Но для готового проекта с большим количеством данных лучше использовать автоматическое тестирование.
Следующая типология предлагает разделять тестирование на модульное, интеграционное, системное, приемочное. Приведем характеристику каждого из методов.
1.Модульное тестирование (Unit-тесты) предполагает проверку отдельных компонентов ПО или частей кода. Это эффективный способ тестирования, если готовое приложение обновляют или дополняют функционалом. Сначала тестируется модуль отдельно, а потом добавляется в систему.
2.Интеграционное тестирование проверяет, как отдельные части приложения работают вместе. Часто бывает, что страницу авторизации и личный кабинет приложения программируют разные специалисты. Их инструменты и подходы могут отличаться, из-за этого конечный сервис может работать с ошибками. На этом этапе уже не нужно проверять отдельные элементы- это уже сделали unit-тестом. Здесь важно запустить разные элементы в группе и проверить, что они работают корректно.
3.Системное тестирование нужно, чтобы понять, соответствует ли ПО исходным техническим требованиям. Это этап, когда модульные и интеграционные тесты уже прошли. Теперь время смотреть на готовый продукт, кликать по кнопкам, проверять, что все работает, как задумано, сервисом удобно и приятно пользоваться.
4.Приемочное тестирование проверяет, подходит ли приложение под требования бизнеса. На этом этапе тестировщики исследуют поведение пользователей и производительность системы.
В зависимости от того, насколько тестировщик знает о продукте на старте работы, выделяют методы черного, белого и серого ящиков.
Тестирование «черного ящика» — метод, в котором тестировщик ничего не знает о коде или структуре продукта. QA работает с программой как конечный пользователь. Этот метод тестирует функциональность
Тестирование «белого ящика», также известное как glass box или прозрачное тестирование, — это, по сути, проверка исходного кода. Тестировщик анализирует блоки системы по отдельности и ищет проблемы.
Например, прозрачным тестированием можно проверить формы ввода контактов пользователя в интернет-магазине. Со стороны пользователя это выглядит так: вы нажали кнопку, email-адрес отправился в базу подписчиков магазина, вам на почту пришло письмо с промокодом на скидку. Если тестировать эту часть «черным ящиком», вы можете нажать на кнопку и не получить никакого письма. Зафиксировали баг, тест заканчивается. Методом «белого ящика» можно выявить, почему это происходит. QA-специалист смотрит, чтобы на уровне кода форма была надежно защищена от взлома и данные пользователей не утекли в руки мошенников. Также он следит, чтобы адрес почты отправился в базу данных, а дальше запустился процесс автоматической рассылки новостей об акциях и промокодах.
Тестирование «серого ящика» объединяет методы тестирования «белого» и «черного ящика». Цель этого подхода — найти любые ошибки в пользовательском интерфейсе или в разработке. У тести-ровщика нет доступа к коду приложения, но он знает общую структуру сервиса и его ограничения.
Квалифицированные специалисты - инженеры по контролю качества всегда востребованы, есть большие возможности для карьерного роста, а заработная плата, как правило, высока. Особенно, если теоретические знания будут дополнены практическим опытом. Как показывает практика, необходимая подготовка не слишком сложна, квалификацией овладевают относительно быстро.
Библиографический список:
1.Канэр Сэм и др. Тетсирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. М.: Издательство «Диасофт», 2001. - 544с.
2.Майерс Г. Искусство тестирования программ/Пер. с англ, под ред. Б. А. Лозина. — М.: Издательство «Финансы и статистика», 1982.— 176 с.
ЕГОШИНА ЕЛЕНА МИХАЙЛОВНА - кандидат педагогических наук, доцент, Поволжский государственный технологический университет, Россия.
СМИРНОВА КСЕНИЯ АЛЕКСАНДРОВНА - студентка, Поволжский государственный технологический университет, Россия.