Дизайн тестов
Скрытое содержимое.
Это в теории. А на практике некоторые тестировщики находят дефектов в программе больше, чем другие, в том числе они умеют находить весьма нетривиальные дефекты. Почему? Как им это удаётся? Что за секретные техники они применяют?
Увы, никаких особых приёмов проектирования тестов, о которых не было бы написано в любой книжке, не существует. Эффективные тестировщики применяют те же самые техники, что и все остальные. Разница лишь в том, КАК они их применяют.
На этом тренинге я не буду ничего говорить о том, как и в каком формате записывать тесты, я буду рассказывать только о том, как их придумывать.
Мы постоянно будем держать в уме два противоборствующих фактора:
Тренинг логически состоит из двух частей.
Подробности о курсе
Первая часть посвящена практике применения базовых техник проектирования тестов. Тех самых, которые описаны в каждой книжке, но которые могут давать совершенно различные результаты в зависимости от того, как их использовать.
Во второй части мы постараемся более глубоко проникнуть в понимание принципов тест-дизайна. Это даст вам возможность придумывать тесты, не ограничиваясь базовыми техниками.
Часть 1: практика применения техник тест-дизайна
1. Анализ границ и разбиение данных на подобласти.
Это -- основа основ, те самые 20% усилий, которые обеспечивают 80% результата. И вместе с тем, эта по сути самая простая из техник является наиболее сложной с точки зрения практики её применения. Потому что, во-первых, эта техника невероятно многослойная -- если вы нашли какие-то границы, это не значит, что других нет, и дополнительный анализ иногда оказывается очень плодотворным. А во-вторых потому, что эта техника требует больше всего творчества, интуиции, иногда даже везения. То есть -- больше всего практики, потому что только таким путём можно выработать в себе чутьё границ.
2. Комбинаторные методы
В отличие от анализа границ, техники комбинирования данных не требуют особого творчества, здесь нужна кропотливая работа и полезно обладать некоторыми познаниями в области математики -- комбинаторики и математической статистики. Но, разумеется, если у вас нет высшего математического образования, или вы просто забыли то, что когда-то изучали -- это не повод бросать тестирование. Всё необходимое я расскажу, а большую часть чёрной работы будут выполнять за вас инструменты.
3. Тестирование последовательностей операций
Эта область тестирования в настоящее время исследована гораздо меньше, чем две вышеупомянутые, а применяемые техники сложны в использовании и слабо поддержаны инструментами. Тем не менее, на тренинге мы рассмотрим несколько подходов различной степени сложности к построению последовательностей -- на основе вариантов использования, на основе диаграмм взаимодействия, но основе автоматных моделей, и конечно же генерацию случайных последовательностей.
4. Тестовое покрытие: как понять, что тестов достаточно
Тестировщику важно не только уметь придумывать много тестов, но и вовремя остановиться. Это очень непростое решение, учитывая уже упомянутый факт, что сколько ни тестируй, это не гарантирует обнаружения всех дефектов. Тем не менее, в какой-то момент мы должны сказать, в первую очередь себе, что тестирование выполнено "полностью". Для этого требуется некоторый критерий "полноты". И в качестве такого критерия обычно используется покрытие чего-нибудь -- требований, программного кода, модели поведения, модели данных и т.д. Мы рассмотрим различные покрытия и проследим их связь с техниками проектирования тестов.
Часть 2: понимание принципов тест-дизайна
Вторая часть основана на внимательном изучении двух наборов эвристик, описанных в документе "Heuristic Test Strategy Model", созданном Джеймсом Бахом.
5. Product Elements: SFDPOT
При рассмотрении программного продукта можно выделить различные аспекты:
6. General Test Techniques: FDFS CURS
Последнее занятие будет посвящено обзору различных приёмов проектирования тестов, в том числе тех, которые ранее в явном виде не встречались в ходе тренинга. Мы рассмотрим классификацию техник тест-дизайна, выделив восемь "обобщенных техник":
Стоимость: 6500 + возможная комиссия
Скрытое содержимое.
Вы наверняка читали о том, что гарантированно найти все ошибки в сколь-нибудь сложной программе средствами тестирования невозможно. Равно как невозможно доказать, что ошибок в программе нет.Старт 2 сентября. Нужен орг.
Это в теории. А на практике некоторые тестировщики находят дефектов в программе больше, чем другие, в том числе они умеют находить весьма нетривиальные дефекты. Почему? Как им это удаётся? Что за секретные техники они применяют?
Увы, никаких особых приёмов проектирования тестов, о которых не было бы написано в любой книжке, не существует. Эффективные тестировщики применяют те же самые техники, что и все остальные. Разница лишь в том, КАК они их применяют.
На этом тренинге я не буду ничего говорить о том, как и в каком формате записывать тесты, я буду рассказывать только о том, как их придумывать.
Мы постоянно будем держать в уме два противоборствующих фактора:
- с одной стороны, тестов надо придумать достаточно много и они должны быть достаточно разнообразными, чтобы выявить как можно больше дефектов;
- с другой стороны, тестов надо придумать как можно меньше, чтобы не делать лишней работы.
Тренинг логически состоит из двух частей.
Подробности о курсе
Первая часть посвящена практике применения базовых техник проектирования тестов. Тех самых, которые описаны в каждой книжке, но которые могут давать совершенно различные результаты в зависимости от того, как их использовать.
Во второй части мы постараемся более глубоко проникнуть в понимание принципов тест-дизайна. Это даст вам возможность придумывать тесты, не ограничиваясь базовыми техниками.
Часть 1: практика применения техник тест-дизайна
1. Анализ границ и разбиение данных на подобласти.
Это -- основа основ, те самые 20% усилий, которые обеспечивают 80% результата. И вместе с тем, эта по сути самая простая из техник является наиболее сложной с точки зрения практики её применения. Потому что, во-первых, эта техника невероятно многослойная -- если вы нашли какие-то границы, это не значит, что других нет, и дополнительный анализ иногда оказывается очень плодотворным. А во-вторых потому, что эта техника требует больше всего творчества, интуиции, иногда даже везения. То есть -- больше всего практики, потому что только таким путём можно выработать в себе чутьё границ.
2. Комбинаторные методы
В отличие от анализа границ, техники комбинирования данных не требуют особого творчества, здесь нужна кропотливая работа и полезно обладать некоторыми познаниями в области математики -- комбинаторики и математической статистики. Но, разумеется, если у вас нет высшего математического образования, или вы просто забыли то, что когда-то изучали -- это не повод бросать тестирование. Всё необходимое я расскажу, а большую часть чёрной работы будут выполнять за вас инструменты.
3. Тестирование последовательностей операций
Эта область тестирования в настоящее время исследована гораздо меньше, чем две вышеупомянутые, а применяемые техники сложны в использовании и слабо поддержаны инструментами. Тем не менее, на тренинге мы рассмотрим несколько подходов различной степени сложности к построению последовательностей -- на основе вариантов использования, на основе диаграмм взаимодействия, но основе автоматных моделей, и конечно же генерацию случайных последовательностей.
4. Тестовое покрытие: как понять, что тестов достаточно
Тестировщику важно не только уметь придумывать много тестов, но и вовремя остановиться. Это очень непростое решение, учитывая уже упомянутый факт, что сколько ни тестируй, это не гарантирует обнаружения всех дефектов. Тем не менее, в какой-то момент мы должны сказать, в первую очередь себе, что тестирование выполнено "полностью". Для этого требуется некоторый критерий "полноты". И в качестве такого критерия обычно используется покрытие чего-нибудь -- требований, программного кода, модели поведения, модели данных и т.д. Мы рассмотрим различные покрытия и проследим их связь с техниками проектирования тестов.
Часть 2: понимание принципов тест-дизайна
Вторая часть основана на внимательном изучении двух наборов эвристик, описанных в документе "Heuristic Test Strategy Model", созданном Джеймсом Бахом.
5. Product Elements: SFDPOT
При рассмотрении программного продукта можно выделить различные аспекты:
- Structure: физическое устройство продукта, из чего он состоит;
- Functions: логическое устройство продукта, что он может делать;
- Data: какими данными может оперировать продукт;
- Platform: как продукт взаимодействует с окружением;
- Operations: как продукт используется;
- Time: всё, связанное со временем.
6. General Test Techniques: FDFS CURS
Последнее занятие будет посвящено обзору различных приёмов проектирования тестов, в том числе тех, которые ранее в явном виде не встречались в ходе тренинга. Мы рассмотрим классификацию техник тест-дизайна, выделив восемь "обобщенных техник":
- Functions testing
- Domain testing
- Flow testing
- Scenario testing
- Claims testing
- User testing
- Risk testing
- Stress testing
Стоимость: 6500 + возможная комиссия
Скрытое содержимое. Для просмотра необходимо: 15 оплаченных складчин.