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