Авторский канал тестировщика, который ушел в сферу IT с образованием журналиста. Только откровенные заметки про работу в российской и американской компаниях.
🙇🏻♀️ Вопрос-ответ: что такое негативное тестирование?
Всем доброго выходного дня! Я рада, что до сих пор в бот @QaNoteBot от вас поступают вопросы) А если вы еще не задали - то самое время это исправить ☺️
Ну а пока закрываем один из теоретических вопросов про негативное тестирование.
Давайте вспомним еще раз, что тестирование в целом — это проверка, работает ли софт должным образом, соответствует ли необходимым требованиям, а также выдерживает ли он нестандартную нагрузку.
Негативное тестирование олицетворяет негативный подход к тестированию. Его можно назвать тестированием на сбой.
Его цель — найти негативные стороны приложения путем написания специфического тест-кейса; другими словами, все крутится вокруг того, как приложение реагирует на некорректные данные. И в таком подходе есть смысл, как будет видно далее.
👉🏼 Как это выглядит на практике
Далее приведены техники, применяемые при негативном тестировании.
📍Анализ граничных значений (Boundary Value Analysis - BVA)
Метод подразумевает написание тест-кейсов в стандартном для тестировщиков виде: проверка значений, выходящих за пределы, например, для поля со значениями от 1 до 100.
📍Разделения по классам эквивалентности (Equivalence Partitioning - EP)
Метод проверки функциональности путем группирования тестовых значений по нескольким “классам эквивалентности”.
📍Угадывание ошибок (Error Guessing - EG)
В ходе процедуры тестировщик задает специальные условия, выдающие сообщения об ошибке. Если возможно, тестировщик пытается идентифицировать и исправить проблему, не допуская падения приложения.
📍Чеклисты
Базовый, и все еще критически важный метод в QA, документирующий условия, в которых проводится тестирование. Обычно применяется в работе в команде.
📍Антипаттерны
Если есть паттерны дизайна, то могут быть и антипаттерны. Если паттерн — лучший способ решить проблему, то антипаттерн — решение, которое точно не работает. Антипаттерны — идеальный источник негативных тестов.
📍Исследовательское тестирование
Метод, повышающий скиллы тестировщика и его понимание приложения в процессе работы. Применяется параллельно с другими тестами. Делает «общую картину» приложения яснее — в каких условиях приложение работает, а в каких нет.
📍Небольшая автоматизация
Отлавливаются ошибки с памятью, грубые ошибки в коде и другие проблемы, неожиданно возникающие на проде. Несколько сотен или тысяч раз проводится прогонка, чтобы посмотреть, что происходит с приложением.
📍Фаззинг-тестирование
Техника тестирования ПО, часто автоматическая или полуавтоматическая, заключающаяся в передаче приложению на вход неправильных, неожиданных или случайных данных.
📍Тестирование перехода состояний
Техника поиска багов, построенная на концепции, что софт в момент времени должен пребывать в одном конкретном состоянии. Приложение должно быть в своем нормальном состоянии, пока не появится проблема.
Заметки тестировщика