Рассказываем о двух типах тестирования, с которым чаще всего сталкиваются начинающие QA-инженеры.
Представьте, что вы собираетесь купить машину. Вы обращаетесь в автосалон и записываетесь на тест-драйв — хотите проверить, как машина покажет себя на дороге. Люди часто заранее изучают товар или продукт, перед тем как купить его. Так мы проверяем, соответствует ли продукт нашим ожиданиям, выполняет ли свои функции.
Многие вещи проходят этап тестирования не только перед покупкой, но и на производстве.
Прежде чем вашу будущую машину отправили в салон, ее тщательно протестировали на заводе: изучили, как работают все системы в разных условиях. Это важно, чтобы бренд не выпустил на рынок некачественный товар — а значит сохранил свою репутацию и предотвратил убытки.
В разработке программ всё работает похожим образом. Перед тем, как выпустить приложение на рынок, компания проводит тестирование — проверяет готовый продукт и выясняет, соответствует ли он требованиям. Если на этом этапе найдутся ошибки, команда сможет вовремя их исправить.
Машину, приложение или любой другой большой продукт сложно тестировать без четких технических требований. Обычно они записаны в документ, о котором мы поговорим ниже.
Рассмотрим еще один пример. Предположим, вам нужно поменять обычный чайник на электрический. Еще до покупки вы определились, что новый чайник должен:
Вы открываете интернет-магазин и изучаете разные предложения. Открыв описание очередной карточки, вы видите список технических требований:
Именно такой чайник вы и искали — все технические требования подходят.
Как у бытовых приборов, у программ тоже есть характеристики. Обычно они записаны в документе, который называется техническое задание или документация.
Тестировщики в своей работе часто обращаются к документации. Она помогает выяснить качество продукта и провести оба вида тестирования: функциональное и нефункциональное. В первую очередь начинающий тестировщик сталкивается именно с этими видами тестирования. Поэтому мы разберемся в них подробнее.
Читайте также: Как пройти собеседование на тестировщика: все этапы и вопросы
Первый вид тестирования — это функциональный. В этом случае тестировщик проверяет, выполняет ли продукт свои функции так, как это заявлено в требованиях.
Рассмотрим функциональное тестирование на знакомом примере. Мы распаковываем чайник, вставляем его в розетку, наливаем воду и нажимаем кнопку. Если он включился, подогрел воду до 100 градусов и выключился — функциональное тестирование пройдено. Чайник выполняет все основные функции из документации.
Иногда требований может и не быть — тогда проводится функциональное тестирование без документации. Большинство микроволновок начинают греть еду, если нажать на кнопку «Старт», в некоторых моделях надо еще выставить мощность и время. Зная всё это на личном опыте, мы можем провести функциональное тестирование, не уточняя требования в документации.
Первый вид тестирования отвечает на вопрос «Что умеет делать наш продукт?», но на этом проверки не заканчиваются. Еще надо понять, насколько приятным, удобным и безопасным получился продукт. Чтобы выяснить, как продукт выполняет свои задачи, нужно провести нефункциональное тестирование.
Продолжим пример с чайником. Какие еще требования надо проверить?
С тестированием чайников мы разобрались, но как эти знания применить для программ и приложений?
Представьте, что вы работаете тестировщиком приложения в банке и хотите проверить форму ввода логина и пароля. Это важный этап: если пользователь не сможет залогиниться, у него не откроется доступ к остальным функциям.
Читайте также: Гид по профессии тестировщик: чем занимается специалист в сфере QA, сколько зарабатывает, что надо знать и где учиться
Начнём с функционального тестирования. С точки зрения пользователя важно, чтобы форма выполняла основные функции:
Если эти функции работают, пользователь сможет зайти в свой аккаунт и воспользоваться всеми остальными возможностями банка.
Перейдем к проверке нефункциональных требований.
В первую очередь пользователи мобильного банка обращают внимание на безопасность. Поэтому тестировщику нужно проверить форму логина и пароля, найти слабые места в ее защите и рассказать об этом разработчикам. Они устранят проблемы и сведут риски к минимуму.
Еще важно, чтобы форма авторизации загружалась быстро, потому что клиенты банка будут пользоваться формой с мобильного устройства. Вряд ли они захотят подолгу стоять с телефоном в руках в ожидании загрузки, ведь медленная работа приложения будет раздражать пользователей.
Третий важный критерий — удобно ли пользователю вводить свои данные. Нужно проверить, вдруг:
Тестировать продукт или программу важно, и можно делать это очень по-разному. Пока мы познакомились только с двумя видами, которые отличаются по цели:
Разговоры о качестве продукта не ограничиваются двумя видами тестирования. В классификации есть еще много важных видов и типов. На практике с ними сталкиваются также часто, как с функциональным и нефункциональным тестированием.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях