Практикум по тест-дизайну 2.0 - Видеоуроки

Практикум по тест-дизайну 2.0
Duration 12:46:15
Открыть все курсы от softwaretesting

Практикум по тест-дизайну 2.0 - Полный список уроков

Развернуть / Свернуть
  • Урок 1. Лекция 1.1. Что такое тестирование 00:13:30
  • Урок 2. Лекция 1.2. Что такое программа. Что такое контроль качества. 00:12:42
  • Урок 3. Лекция 1.3. Что такое качество. Что такое баг, ошибка, дефект, сбой. 00:12:04
  • Урок 4. Лекция 1.4. Виды тестирования 00:15:39
  • Урок 5. Лекция 2.1. Перед тем, как начать тестировать... 00:10:56
  • Урок 6. Лекция 2.2. Анализ логической структуры программы 00:18:08
  • Урок 7. Лекция 2.3. Анализ физической структуры программы 00:14:51
  • Урок 8. Лекция 2.4. Первые результаты тестирования 00:23:12
  • Урок 9. Лекция 3.1. Варианты использования (use cases) 00:17:00
  • Урок 10. Лекция 3.2. Альтернативы, отклонения от основного сценария 00:14:56
  • Урок 11. Лекция 3.3. Параметры сценария 00:14:49
  • Урок 12. Лекция 3.4. Разбиение на области, или классы эквивалентности 00:28:55
  • Урок 13. Лекция 3.5. Анализ границ 00:11:28
  • Урок 14. Лекция 4.1. Разбиение на области, или классы эквивалентности 00:19:03
  • Урок 15. Лекция 4.2. Что можно разбивать на области 00:29:05
  • Урок 16. Лекция 4.3. Выбор представителей 00:18:33
  • Урок 17. Лекция 4.4. Типы границ 00:19:45
  • Урок 18. Лекция 4.5. Почему эта техника работает 00:08:03
  • Урок 19. Лекция 5.1. Построение комбинаций - как и зачем 00:14:45
  • Урок 20. Лекция 5.2. Количество комбинаций 00:21:38
  • Урок 21. Лекция 5.3. Деревья решений 00:11:46
  • Урок 22. Лекция 5.4. Комбинации малой размерности (pairwise) 00:29:30
  • Урок 23. Лекция 6.1. Объекты и связи (концептуальная диаграмма) 00:20:12
  • Урок 24. Лекция 6.2. Типовые цепочки функций 00:22:16
  • Урок 25. Лекция 6.3. Диаграммы состояний и переходов 00:18:06
  • Урок 26. Лекция 6.4. Все техники работают вместе 00:07:02
  • Урок 27. Лекция 7.1. Оракулы 00:13:04
  • Урок 28. Лекция 7.2. Источники оракулов 00:19:02
  • Урок 29. Лекция 7.3. Баг или не баг 00:14:11
  • Урок 30. Лекция 7.4. Представление результатов тестирования 00:13:41
  • Урок 31. Лекция 8.1. Польза от применения техник 00:18:16
  • Урок 32. Лекция 8.2. Использование моделей в тестировании 00:26:20
  • Урок 33. Тестирование на основе моделей_ ужас-ужас или всё не так страшно 00:42:12
  • Урок 34. Лекция 9.1. Характеристики качества информации 00:15:35
  • Урок 35. Лекция 9.2. Оценка полноты тестирования 00:23:25
  • Урок 36. Лекция 9.3. Тестирование как эксперимент 00:23:23
  • Урок 37. Лекция 9.4. Отражение полноты тестирования в отчетах 00:11:36
  • Урок 38. Лекция 10.1. Стратегия тестирования 00:20:09
  • Урок 39. Лекция 10.2. Анализ рисков 00:18:05
  • Урок 40. Лекция 10.3. Тест-дизайн и автоматизация 00:07:33
  • Урок 41. Лекция 10.4. Тест-дизайн и регрессионное тестирование 00:09:37
  • Урок 42. Тестирование на основе моделей_ ужас-ужас или всё не так страшно 00:42:12

Курс позволит освоить базовые техники проектирования тестов, чтобы научиться применять их на практике и иметь возможность придумывать разнообразные тесты.  Какой навык является самым главным для тестировщика? Конечно, умение проектировать тесты. Да, важны также наблюдательность, усидчивость, внимание к деталям, умение общаться с коллегами, но это всё не навыки, а личные качества (которые, конечно, тоже можно тренировать и развивать). А главным техническим навыком является умение проектировать тесты.

Вообще-то придумывать тесты легко. Берём программу и выполняем с ней любые действия, это уже можно считать тестированием. Сложность заключается в том, чтобы за минимальное время выполнить как можно больше полезных тестов, которые с высокой вероятностью находят баги либо подтверждают их отсутствие.

Кроме того, нужно уметь грамотно изложить результаты своей работы. Описать, какие тесты были выполнены. Объяснить, почему именно эти тесты и именно в таком порядке. Доказать, что этих тестов достаточно, что тестирование можно считать “достаточно полным”. А если тестировщик, несмотря на все усилия, пропустит баг, он должен уметь проанализировать причины этого неприятного события и скорректировать свой подход к проектированию тестов.

Почему у некоторых тестировщиков придумывать полезные тесты получается лучше, чем у других? Почему они реже пропускают баги? Может быть они знают какие-то секретные приёмы и техники? Ничего подобного. Эффективные тестировщики применяют те же самые техники, что и все остальные. Разница лишь в том, КАК они их применяют.

Именно этому мы и будем здесь учиться: грамотно использовать те самые техники проектирования тестов, которые описаны в книжках. Разбиение на классы эквивалентности, pairwise, деревья решений, диаграммы состояний и переходов -- все эти и другие техники имеют свои области применения. Понимание границ применимости техник даёт возможность эффективно использовать каждую из них в отдельности и в комбинации с другими техниками.

Тренинг по структуре напоминает “слоёный пирог”. Начнём с простых примеров, затем постепенно будем применять техники во всё более и более сложных ситуациях, а в конце порассуждаем о том, что делать тогда, когда никакие из известных техник не могут быть использованы для построения тестов.

Приготовьтесь выполнять много домашних заданий. Прослушивание лекций не даёт такого эффекта, как самостоятельное “хождение по граблям”. Только через практику знание превращается в опыт.

Этот курс будет полезен разным категориям тестировщиков:

  • начинающим тестировщикам, уже имеющим небольшой опыт, он поможет быстро “прокачаться” и научиться делать хорошие тесты,
  • опытным тестировщикам, которые чувствуют наличие пробелов в образовании и хотят их заполнить, освоить новые техники и приёмы, которые пока не входят в их арсенал,
  • опытным тестировщикам, которые умеют проектировать хорошие тесты, но не умеют объяснять, как они это делают, и поэтому не могут передать свои навыки младшим товарищам.

Тренинг будет менее полезен:

  • тем, кто вообще не имеет опыта тестирования и только готовится войти в эту профессию, вам лучше пойти на курс “Школа для начинающих тестировщиков”,
  • менеджерам, потому что в нём ничего не рассказывается про людей, только про техники, хотя разделы про оформление тестов и про доказательство полноты тестирования может представлять интерес и для этой категории,
  • автоматизаторам, если только вы сами не занимаетесь проектированием тестов,
  • специалистам по нефункциональным видам тестирования (производительность, защищенность, удобство использования и другие), потому что в этих областях слишком много специфики, которая не нашла отражения в этом курсе.

Этот тренинг представляет собой новую версию одного из самых популярных наших учебных курсов “Практикум по тест-дизайну”. Мы расширили и углубили программу, но в целом здесь изучается тот же самый набор техник. Поэтому если вы уже проходили “Практикум”, идти на этот курс, наверное, нет особого смысла. Но если вы всё таки хотите это сделать, для участников “Практикума” действуют специальные условия, вы можете пройти новую версию курса за 30% стоимости.

Тема 1. Предисловие

Определения

  • Зачем нужны базовые определения
  • Что такое “тестирование компьютерных программ”?
  • Что такое “качество”?
  • QA, QC, тестирование
  • Баг, ошибка, дефект, сбой

Классификации

  • Характеристики качества
  • Уровни тестирования (модульное, интеграционное, системное)
  • Черное и белое
  • Цели тестирования

Тема 2. Тестирование “без техник” (на самом деле нет)

Псевдотехники (quicktests)

  • Цель: знакомство с программой и очевидные баги
  • Средство: сценарии использования

Структура программы

  • Логическая (цели пользователей, функции программы)
  • Физическая (входы, выходы, взаимодействующие части)

Представление результатов

  • Что является результатом?
  • Найденные баги
  • Выполненные тесты
  • Почему выбраны именно эти тесты?

Тема 3. “Делай раз, делай два, делай три”

 Техники тестирования

  • Цепочки действий (сценарии)
  • Полный перебор
  • Классы эквивалентности
  • Позитивные и негативные тесты
  • Границы
  • Комбинирование параметров

Тема 4. Применение техник в более сложных условиях. Разбиение на области

Разбиение на области (классы эквивалентности)

  • Разбиение на области входных данных
  • Разбиение на области выходных данных
  • Разбиение на области внутреннего состояния
  • Проблема выбора представителей
  • Границы, типы границ, переход границ

Тема 5. Применение техник в более сложных условиях. Комбинаторика

Техники, ориентированные на данные

  • Полный и частичный перебор
  • Случайные комбинации
  • Неслучайные (особые) комбинации
  • Комбинирование позитивных и негативных данных
  • Учет зависимостей: деревья и таблицы решений
  • Комбинации малой размерности (pairwise и другие)

Тема 6. Применение техник в более сложных условиях. Сценарии

Техники, ориентированные на сценарии

  • Правила выделения "атомарных" функций (шагов сценария)
  • Комбинаторные цепочки, построение коротких простых сценариев
  • Диаграммы состояний и переходов, построение длинных сценариев
  • Другие источники сценариев
  • Комбинирование сценариев и тестовых данных

Тема 7. Оракулы и баги

Прошёл тест или нет?

  • Источники оракулов
  • Что делать, если прошёл?
  • Что делать, если не прошёл?
  • Что делать, если непонятно, прошёл или нет?

Представление результатов

  • С простых тестов начинать или со сложных?

Как описать все придуманные тесты?

  • Несколько итераций тестирования

Тема 8. Модели и реальный мир

Так все же, почему техники работают?

 Смысл применения техник

  • Эффективность (гипотезы об ошибках)
  • Воспроизводимость (повторяемость)
  • Экономичность (минимальность)
  • Эвристический характер

 Виды моделей, используемых в тестировании

  • Модель поведения программы
  • Модель поведения пользователя
  • Модель ошибок разработчика
  • Модель рисков
  • Связь техник с моделями

Представление результатов

  • Модели, идеи и конкретные тесты

Тема 9. Возможно ли полное тестирование?

 Общая теория тестирования

  • Что такое тестирование?
  • Критерии качества информации
  • Управляемый эксперимент
  • Эвристики

Полнота

  • Покрытие приложения
  • Покрытие требований
  • Покрытие моделей (полнота по построению и отдельная модель покрытия)
  • "Лоскутное одеяло"
  • Какую полноту обеспечивают техники?

Неполнота

  • Верификация, индуктивизм (подтверждающие эксперименты)
  • Фальсификационизм (опровергающие эксперименты)
  • Альтернативные теории как источник новых экспериментов

Представление результатов

  • "Доказательство" полноты
  • Объяснение неполноты
  • Обоснование приоритетов
  • Оценка качества тестов

Тема 10: Ещё раз обо всём с самого начала

Стратегия тестирования продукта

  • Выявление целей тестирования
  • Простые тесты (quicktests), исследование продукта
  • Тестирование методом свободного поиска
  • Использование техник для систематического тестирования
  • Оценка полноты тестирования
  • Анализ рисков как источник информации для тестов
  • Особенности проектирования тестов для автоматизации

Представление результатов тестирования

  • Регрессионное тестирование и новые тесты
  • Борьба с дублированием тестов

Твоя оценка

38 1
Следи за последними обновлениями и новостями в нашем coursehunter-club.net (Ex coursehunters.club), или вступай в наш канал telegram.

Комментарии

Последнее добавленное

Введение в Python

Введение в Python

en
Вы всегда хотели изучить Python, но не знали, с чего начать? После этого интенсивного семинара вы получите полное представление об основах. Вы узнаете все, что вам нужно знать для создания и запуска простых программ на Python, включая работу с доступными типами данных, написание функций и классов...
Тестирование Vue

Тестирование Vue

en
Хотите начать с модульного тестирования в Vue? Вот почти все, что вам нужно. Мы рассмотрим настройку тестового окружения, использование Vue Test Utilities, мокинг и создание заглушек общих зависимостей, таких как Vue Router и Axios, тестирование Vuex как внутри компонентов, так и изолированно.
React JS и Redux Bootcamp - Освойте React Веб-разработку

React JS и Redux Bootcamp - Освойте React Веб-разработку

en
Изучите React.js и Redux правильно. Погрузитесь в движок React, создайте 5 приложений и станьте веб-разработчиком React. Дайте мне пять минут вашего времени, и я объясню, почему этот курс - лучшее время, которое вы можете потратить, чтобы научиться писать приложения React и Redux.
Автоматизированное тестирование с WebdriverIO

Автоматизированное тестирование с WebdriverIO

en
Мне потребовались годы, чтобы остановиться на концепции автоматизации тестирования. Все, что я пробовал, казалось впечатляющим, но никогда не соответствовало реальному использованию. Затем я наткнулся на WebdriverIO, и все это изменилось. Из-за его удивительных особенностей и простоты в дизайне...
React с Firebase

React с Firebase

en
Я преподаю React с 2015 года, а начал работать с ним еще раньше. Сегодня есть еще одна технология, о которой я хочу повогорить с вами - это Firebase. В этом курсе мы построим готовое приложение чата в реальном времени. Мы реализуем переписку в реальном времени между пользователями, авторизацию...
chat
logo