Вводная от себя
К сожалению информация во втором уровне оказалась крайне не последовательная, слабо структурированная и местами вообще непонятная. Не объясняются базовые понятия, которые заложены в названиях глав (уроков).
Поэтому придется искать дополнительную информацию и добавлять её к материалу.
Тест-анализ. Исследование ПО.
Материалы курса 2-го уровня.
Система - множество модулей, взаимосвязанных между собой, выполняют взаимосвязанные функции и решают задачи пользователя.
Анализ системы помогает изучить систему, основывается на изучении составных частей системы.
Тест-анализ позволяет проверить все составляющие тестирования.
Системный анализ базируется на типах ПО: ERP, SRM, SCM, WMS; настольные, мобильные, web, облачные (SaaS); медицинское, банковское, игровое, телекоммуникационное и пр. и т.д.
Декомпозиция - это рассмотрение сложной системы как множества её частей.
Декомпозиция помогает:
- понять структуру системы,
- выявить особенности частей системы,
- определить связи между частями системы.
Как можно производить декомпозицию:
Интеллект-карта – это техника представления любого процесса, события, мысли или идеи в систематизированной визуальной форме.
Декомпозиция увеличивает уверенность в качестве, поскольку мы лучше понимаем структуру ПО и точно уверены. что проверяем все зависимости между компонентами, а также напишем качественные тесты.Плюс в них мало текста и они легко обновляются.
Декомпозиция требований - то м чего нужно начинать в первую очередь.
Доп. материалы:
Декомпозиция — научный метод, использующий структуру задачи и позволяющий заменить решение одной большой задачи, решением серии меньших задач, пусть и взаимосвязанных, но более простых. (wikipedia)
Принцип декомпозиции состоит в том, что тестируемое приложение (отдельный его модуль или функционал) можно рассматривать, как состоящий из относительно независимых друг от друга подсистем, каждую из которых тестировать гораздо проще и понятнее, чем всю систему сразу.
Декомпозиция системы чаще всего представляется в виде иерархического дерева, вершина которого – сама система, а уровни – выделенные подсистемы.
Это научный метод разделения или разбиения чего-либо на части. Применительно к сфере тестирования мы используем декомпозицию в тест-анализе и исследовательском тестировании продукта.
В тест-анализе мы можем посмотреть на тестируемый продукт, как на единое целое, и как на множество отдельных частей и моделей, тем самым обретая представление, что из себя представляет продукт, и что именно будет протестировано. Что касается исследовательского тестирования, здесь декомпозиция применяется для того, чтобы систематизировать тестирование, упорядочить его и не перескакивать с одной функциональной области продукта в другую, несмотря на всю гибкость исследовательского тестирования.
Принцип декомпозиции состоит в том, что тестируемое приложение можно рассматривать как состоящее из независимых друг от друга нескольких частей, блоков, каждый из которых тестировать гораздо проще и понятнее, чем всю программу сразу.
Применительно к тестированию продуктов декомпозицию можно рассматривать по нескольким принципам:
- Функциональная декомпозиция
- Компонентная декомпозиция
- Декомпозиция графического пользовательского интерфейса (GUI)
- Декомпозиция этапов взаимодействия
Далее в статье разбираются подробнее эти принципы.
Доменное тестирование и комбинации параметров
Материалы курса 2-го уровня.
Тест-дизайн - всё что относится к тестовой документации: чек-листы, тест-кейсы, тест планы, стратегии.
Тест-дизайн
Техники тест-дизайна:
- Тестирование Классами Эквивалентности (Equivalence Class Testing).
- Тестирование Граничных Значений (Boundary Value Testing).
- Таблица Принятия Решений (Decision Table Testing).
- Тестирование Состояний и Переходов (State-Transition Testing).
- Метод Парного Тестирования (Pairwise testing).
- Доменный анализ (Domain Analysis Testing).
- Сценарий использования (Use Case Testing).
В статье дается расшифровка каждой техники.
Метод комбинаторного покрытия условий.
Критерий комбинаторного покрытия условий удовлетворяет также и критериям покрытия решений, покрытия условий и покрытия решений/условий.
Этот метод требует создания такого числа тестов, чтобы все возможные комбинации результатов условия в каждом решении выполнялись по крайней мере один раз.
Доменное тестирование.
Доменное тестирование.
Техника заключается в комбинации эквивалентного разбиения и анализа граничных значений.
Доменное тестирование (domain analysis) — методика разработки тестов, относящаяся к методу черного ящика, использующаяся для определения действенных и эффективных тестовых сценариев в случаях, когда множественные параметры могут или должны быть протестированы одновременно. Методика базируется и обобщает методы эквивалентного разбиения и анализа граничных значений.
Доменное тестирование — это вид тестирования, направленный на анализ различных значений, поиск их взаимосвязи и составление эффективных тестов.
То есть суть доменного тестирования заключается в том, чтобы разделить набор условий тестирования на те значения, которые можно считать одинаковыми, и за счет этого протестировать эффективней.
Ещё про доменное тестирование:
Материалы курса 2-го уровня.
Fuzzing - высоко-негативная техника тестирования, при которой вместо ожидаемых валидных входных данных в программу нужно ввести случайные или невалидные данные нарочно.
Материалы курса 2-го уровня.
Тестовая комбинаторика
Тестовая комбинаторика - методика формирования тестов, при котором тест могут покрывать куда большее количество параметров и области их применения, нежели 1 к 1. Оптимальный набор комбинаций данных для достижения полного уровня покрытия.
Тестовый набор
Тестовый набор - множество тестовых входных данных, условий выполнения и результатов, разработанных для определенных целей, например для выполнения конкретного пути в программе или для верификации согласованности с заданными требованиями.
Что делать дальше с этими сочетаниями? - Разбить по техникам тестирования.
Позитивное тестирование - по требованиям.
Негативное тестирование - не по требованиям.
Исследовательское тестирование - при отсутствии требований, для изучения продукта тестирования на основании опыта и пр. источников.
Техники тестовой комбинаторики
- минимальной проверки
- перебор значений
- атомарные проверки
- попарное тестирование
- метод взаимосвязанных проверок
Материалы курса 2-го уровня.
Тестирование состояний и переходов
Что такое состояние и что такое переходы? И то и другое определяется через диаграммы и через таблицы. Диаграммы выводятся из требований и тест-дизайна. А таблица исходит из диаграмм и отображает все состояния приложения и переходы между каждым из состояний.
Т.е. таблица отвечает на вопросы: что из себя представляет программа в определенном промежутке времени и что нужно для преобразования состояния программы в другую форму с иными возможностями. Таблица также может отображать различные роли состояний, за что состояние ответственно и где они применяются.
Переход - переключение одного состояния в другое, происходящее из-за определенного события (по условиям и без).
Событие - это активация особых условий для перехода из одного состояния в другое.
Действия - это ответ системы на какое-либо событие.
Действие возникает при переходах и представляет собой выполнение какого-либо задания (например показать экран, зажечь красную лампочку).
Точка входа - это старт всей системы. А точно выхода - то финиш.
Роль влияет на то, какой переход может делать пользователь и какой контент он может видеть.
Условия перехода или сторожевые условия - обозначаются в квадратных скобках и представляют собой ограничение для происхождения события. Другими словами, если в переходе указывается условие, то событие произойдет в нем только тогда, когда выполнится это условие.
Диаграммы составляются на основе ТЗ. Тестировщики не занимаются проектной деятельностью и не участвуют в составлении архитектуры диаграмм.
Как не пропустить все переходы?
Для этого нужно составить таблицу, в которой информация будет отображена. Таблица состоит из столбцов:
- текущее состояние
- событие
- действие
- следующее состояние
- условие
null - обозначает точка входа и точка выхода, но лучше отображать по разному, чтобы было два разных состояния инициации и финала.
Материалы курса 2-го уровня.
Тест-анализ на основе бизнес-логики
Требования - то:
- условия или возможности программного продукта, необходимые пользователю для решения определенных задач или достижения определенных целей.
- условия или возможности программного продукта, которые должны быть достигнуты для выполнения контракта, стандартов, спецификации или других формальных документов.
Таблицы принятия решений - техника тестирования черного ящика. Таблицы строятся из множества наборов условий; выполнение конкретного набора условий приводит к определенному результату.
Таблица принятия решений помогает:
- упорядочить и задокументировать сложную логику приложения;
- протестировать все комбинации условий и состояний.
Тест анализ на основе рисков (предугадывание ошибок)
Виды ошибок
Почитать про туры тестирования можно здесь:
Нефункциональное тестирование:
Оценка эффективности тестов
Комментариев нет:
Отправить комментарий