Практикум по тест-дизайну 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), исследование продукта
  • Тестирование методом свободного поиска
  • Использование техник для систематического тестирования
  • Оценка полноты тестирования
  • Анализ рисков как источник информации для тестов
  • Особенности проектирования тестов для автоматизации

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

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

Твоя оценка

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

Комментарии

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

Разработчик на Spring Framework

Разработчик на Spring Framework

ru
Курс будет полезен всем. От Junior Java-программистов, не имеющих опыта работы со Spring, с минимальным опытом с IoC-контейнером Spring или испытывающих трудности с ним до архитекторов и тех.лидов, желающих узнать про современные возможности Spring для решения высокоуровневых задач.
Appium Android: простое руководство по автоматизации тестирования

Appium Android: простое руководство по автоматизации тестирования

en
Автоматизируйте собственное тестирование мобильных приложений под Android с помощью Appium и Java. Работа с реальными устройствами и эмуляторами Android. Этот курс по автоматизации тестирования мобильных приложений c Appium обучает вас простому, прямому подходу, всего за 5,5 часов видео...
Gatsby - Генератор статических сайтов для React - Полное руководство

Gatsby - Генератор статических сайтов для React - Полное руководство

en
Создавайте потрясающие сверхбыстрые веб-сайты с помощью React и GraphQL, начинайте работу со стеком JAM и подходом Headless CMS. В этом курсе вы узнаете, как создавать удивительные и сверхбыстрые статические веб-сайты с помощью Gatsby.js. Gatsby - это невероятно быстрый современный генератор...
Изучение Python, Tkinter и Django

Изучение Python, Tkinter и Django

ru
​Данный видео курс предназначен для людей, которые хотят научиться программировать на языке Python. В курсе будут рассмотрены базовые моменты языка Питон, а также рассмотрена тема работы с библиотеками. Вы научитесь писать программы под ПК при помощи фреймворка TKinter, а также создавать мощные...
Serverless React c AWS Amplify - Полное Руководство

Serverless React c AWS Amplify - Полное Руководство

en
Создавайте полнофункциональные приложения React быстрее, чем когда-либо, которые масштабируются до миллионов пользователей и работают исключительно в облаке! Хотите создавать удивительные, производительные и в целом лучшие приложения React? Смотрите не дальше, чем AWS Amplify. Этот курс - лучшее...
BDD с Cucumber и Serenity BDD

BDD с Cucumber и Serenity BDD

en
Изучите все навыки, необходимые для работы BDD в вашей команде, используя BDD Cucumber и Serenity. BDD, - это чрезвычайно эффективная практика доставки программного обеспечения, которая помогает командам лучше сотрудничать и сосредоточиться на предоставлении действительно важных функций. Cucumber...
Курс по айдентике

Курс по айдентике

ru
В основе курса методика, которая применяется в российских брендинговых агентствах и Высшей Школе Брендинга. Курс записан в ноябре 2017, состоит из 20 вебинаров. Каждая лекция завершается домашним заданием и списком полезных книг для развития навыка. Вы можете выполнять один из учебных брифов...
chat
logo