Текущая тема
Параллельное
Интеграционное тестирование
Тест кейсы
Протестировать новое приложение и сравнить со старой версией
Понять поведение и производительность программной системы
Техника тестирования, в которой поведение нового (или модифицированного) приложения сравнивается с поведением эталонного приложения (предположительно работающего верно).
Тестирование критического пути (critical path144 test) направлено для проверки функциональности, используемой обычными пользователями во время их повседневной деятельности.
Классификация тестирования
По степени формализации
Исследовательское тестирование
Чек-листы
тестирование ПО для его исследования и выявления дефектов, требующих доработки.
это углубление в познании продукта, приложения и нахождения «на лету» возможных багов. Также такое тестирование помогает в дальнейшем проэктировании тест кейсов для покрытия функционала данного приложения.
Исследовательское тестирование (exploratory testing) — частично формализованный подход, в рамках которого тестировщик выполняет работу с
приложением по выбранному сценарию
, который, в свою очередь, дорабатывается в процессе выполнения с целью более полного исследования
приложения.
На основе тест-кейсов
Составить подробную инструкцию для проведения тестирования
Формализованный подход, в котором тестирование производится на
основе заранее подготовленных тест-кейсов, наборов тест-кейсов и иной документации.
По природе приложения
Веб
Целиком приложение
Тест- кейс
Полностью проверить работу всего приложения
найти проблемы, также известные как ошибки, проблемы или дефекты
тщательная проверка сайта на наличие потенциальных ошибок
По привлечению конечных пользователей
Гамма-тестирование
Внешние приемочное
обратная связь от реальных пользователей используется для устранения последних недоработок.
Устранить последние недоработки
финальная стадия тестирования перед выпуском продукта, направленная на исправление незначительных дефектов, обнаруженных в бета-тестировании.
На основе (знания) источников ошибок
Предугадывание ошибок
Пример тестирования
Тест кейс
найти как можно больше ошибок, попытаться сломать работающий функционал.
Найти дефекты в компонентах или функциях приложения с помощью опыта и знаний тестировщика
Техника тестирования, в которой тесты разрабатываются на основе опыта
тестировщика и его знаний о том, какие дефекты типичны для тех или
иных компонентов или областей функциональности приложения.
По степени автоматизации
Автоматизированное тестирование
повысить эффективность тестирования, выявить поведение ПО, отличное от ожидпемого
обеспечение качества ПО
Автоматизированное тестирование (automated testing, test automation) —
набор техник, подходов и инструментальных средств, позволяющий исключить человека из выполнения некоторых задач в процессе тестирования.
Ручное тестирование
Выявить любое поведение, отличающееся от ожидаемого пользователем.
Ручное тестирование (manual testing) — тестирование, в котором тесткейсы выполняются человеком вручную без использования средств автоматизации. Несмотря на то что это звучит очень просто, от тестировщика в те
или иные моменты времени требуются такие качества, как терпеливость,
наблюдательность, креативность, умение ставить нестандартные эксперименты, а также умение видеть и понимать, что происходит «внутри системы»,
т.е. как внешние воздействия на приложение трансформируются в его внутренние процессы.
На основе моделей поведения приложения
Тестирование на основе вариантов использования
Системное тестирование (System Testing)
(на базе случаев использования (use case based))
Тест-кейсы
Оценить работоспособность
каждой из функций разработанного программного обеспечения, не заглядывая
в особенности реализации
Техника тестирования (по методу чёрного ящика), в которой
тест-кейсы разрабатываются на основе вариантов использования
На основе случайных данных
Поиск дефектов не заранее выбранными логичными данными, а случайными
Выявление не интуитивных дефектов
Дефект-репорт, чеклист
Ввод числовых значений в строковый
Определение: техника тестирования (по методу чёрного ящика), в которой входные данные, действия или даже сами тест-кейсы выбираются на основе
случайных значений так, чтобы соответствовать операционному профилю
По целям и задачам
Тестирование интернационализации
УРОВЕНЬ
ТЕСТИРОВАНИЯ
Чек-листы, тест-кейсы
Проверить возможно ли адаптировать данную систему
Проверка возможности адаптации
Тестирование интернационализации (internationalization testing, i18n testing, globalization testing, localizability testing) — тестирование, направленное на проверку готовности продукта к работе с использованием различных
языков и с учётом различных национальных и культурных особенностей.
Тестирование безопасности
УРОВЕНЬ ТЕСТИРОВАНИЯ
Полное тестирование
ОБЪЕКТ ТЕСТИРОВАНИЯ
Вся система
АРТЕФАКТЫ
Тест-кейс
Чек-лист
ЗАДАЧА
Что необходимо сделать
Выявление уязвимых мест ПО, позволяющих получить доступ к информации злоумышленникам
ОПРЕДЕЛЕНИЕ
Тестирование, направленное на проверку способности приложения противостоять злонамеренным
попыткам получения доступа к данным или функциям, права на доступ к которым у злоумышленника нет.
Удобства использования
Системный
К готовому проукту
определение уровня удобства и простоты решения задач пользователем, для выполнения которых продукт был создан.
тестирование, направленное на исследование того, насколько конечному пользователю понятно, как работать с продуктом, а также на то, насколько ему нравится использовать продукт. И это не оговорка — очень часто успех продукта зависит именно от эмоций, которые он вызывает у пользователей. Для эффективного проведения этого вида тестирования требуется реализовать достаточно серьёзные исследования с привлечением конечных пользователей, проведением маркетинговых исследований и т.д.
сделать приложение приятным и удобным для пользователей
Восстанавливаемости
данного вида тестирования является проверка систем восстановления (или дублирующих основной функционал систем), которые, в случае возникновения сбоев, обеспечат сохранность и целостность данных тестируемого продукта. Тестирование на отказ и восстановление очень важно для систем, работающих по принципу “24x7”.
тестирование способности приложения восстанавливать свои функции и заданный
уровень производительности, а также восстанавливать данные в случае возникновения критической ситуации, приводящей к временной (частичной)
утрате работоспособности приложения.
Функциональное тестирование
Системное тестирование (System Testing)
(на базе требований (requirements based))
Компоненты, группы компонентов, подсистемы и система
Установить соответствие разработанного программного обеспечения (ПО) исходным функциональным требованиям заказчика
Спецификация требований, сценарии использования системы или функциональная спецификация, либо могут быть недокументированны.
Проверить, что тестируемая система удовлетворяет требованиям документа SRS (функциональной спецификации)
Вид тестирования,
направленный на проверку корректности работы функциональности приложения (корректность реализации функциональных требований)
Инсталляционное
Системный или интеграционный
Проверка корректности установки обновлений
тест-кейс, чеклист
Удостовериться в том, что ПО корректно устанавливается и настраивается
Проверка правильности инсталляции/обновления системы
Определение: направлено на выявление дефектов, влияющих на протекание стадии установки приложения
По (убыванию) степени важности тестируемых функций
Расширенное
Уровень тестирования
Компонентный (модульный)
Пример
Ввод спецсимволов
Переполнение массивов
Нелогичное использование
Работа кнопок
Артефакты
Чек-лист
Тест-кейс
Задача
подтема
Цель
Исследование всей заявленной в требованиях функциональности даже той, которая низко проранжирована по степени важности.
Определение: тестирование, при котором проверяется нестандартное использование программного продукта, границы переполнения массивов данных, ввод специальных символов, нелогичное кликанье по кнопкам, открыть одно окно и закрыть предыдущее, и так далее.
Тестирование критического пути
Системное тестирование
Проверить функции и элементы приложения на работоспособность
Подробные тест-кейсы
Элементы и функции приложения
Определение правильности работы значимых элементов и функций приложения при стандартном их использовании
Дымовое тестирование (smoke test)
Компонентное или Модульное тестирование (Component or Unit Testing)
.
Задача такого рода тестов заключается в быстрой проверке работоспособности и стабильности программного обеспечения в целом, без надобности проведения тщательных проверок в будущем.
Определение общего
уровня качества приложения и принятие решение о (не)целесообразности выполнения тестирования критического пути и расширенного тестирования.
Дымовое тестирование направлено на проверку самой главной, самой важной, самой ключевой функциональности, неработоспособность которой делает бессмысленной саму идею использования приложения (или иного
объекта, подвергаемого дымовому тестированию).
Все модули приложения