Принятие решений в тестировании на примере тестовой стратегии Шейко Роман О себе • • • • Luxoft, QA Lead Блог: www.33testers.blogspot.ru Weekend Testing Russia Контакты: – E-mail: r.sheyko@gmail.com – Twitter: @RSheyko – Skype: romko.3313 Intro Пример Методы Составление тестовой стратегии Summary 2 Решения в тестировании Несколько раз в год Несколько раз в месяц Каждый день • Высокий уровень: • Какую стратегию тестирования выбрать? • Какие люди нужны в команде? • Средний уровень: • Какую технику тестирования выбрать? • Как тестировать конкретный релиз? • Базовый уровень: • Баг или фича? • Как локализовать баг? Важность Intro Пример Методы Составление тестовой стратегии Summary 3 Сложность решений Сложность решений Растёт сложность продуктов: • Увеличивается количество пользователей • Растет количество платформ • Усложняются процессы разработки Сложность продуктов Пример из книги: Gerald M. Weinberg . Quality Software Management: Systems Thinking Intro Пример Методы Составление тестовой стратегии Summary 4 Что делать? 1. Упрощать продукты 2. Работать в компаниях, где разрабатываются простые продукты 3. Нанимать больше тестировщиков 4. Развивать навыки принятия решений Сообщение в блоге Алана Пейджа по теме: http://angryweasel.com/blog/will-we-survive-the-future-of-software/ Intro Пример Методы Составление тестовой стратегии Summary 5 План доклада 1. Пример 2. Методы принятия решений: – – Структурированный подход Эвристики 3. Составление тестовой стратегии Intro Пример Методы Составление тестовой стратегии Summary 6 Пример 7 Как достигнуть цели? Цель Текущее состояние Intro ??? Пример Методы Составление тестовой стратегии Summary 8 1 этап: изучение и анализ w2 h2 h1 w1 Intro Пример Методы Составление тестовой стратегии Summary 9 2 этап: выбор альтернативы Intro Пример Методы Составление тестовой стратегии Summary 10 Методы 11 Структурированный подход (Кепнер и Трего) Шаги 1. Изучение ситуации Детали 2. Анализ Чего мы хотим? Что нам мешает? 3. Генерация альтернатив Какие варианты решений у нас есть? 4. Выбор альтернативы Какие критерии для нас важны? 5. Оценка рисков Какие негативные последствия могут быть? 6. Презентация Как обосновать решение? Сбор информации Подробнее об этом подходе к принятию решений – в книге: Kepner, Tregoe. The New Rational Manager Intro Пример Методы Составление тестовой стратегии Summary 12 Эвристики • Эвристики – методы, которые помогают нам принимать решения • Характерные черты: (+) Интуитивность (+) Быстрота и легкость использования (-) Подверженность ошибкам, субъективность Крутая книжка: • Пойа. Как решить задачу Intro Пример Методы Составление тестовой стратегии Summary 13 Эвристики в тестировании • Оракулы • Мнемоники: – FEW HICCUPPS – SF DIPOT – FCC CUTS VIDS • HTSM (Heuristic Test Strategy Model) Блоги об эвристиках: • Болтон: http://www.developsense.com/blog/category/heuristics/ • Бах: http://www.satisfice.com/blog/archives/category/heuristics Мой доклад об оракулах: • http://sqadays.com/talk/12389 Intro Пример Методы Составление тестовой стратегии Summary 14 Сравнение методов Эвристики Intro Пример Методы Кепнер и Трего Составление тестовой стратегии Summary 15 Составление стратегии 16 Шаги составления тестовой стратегии 1. Изучение продукта и его окружения 2. Анализ информации 3. Формирование стратегии Intro Пример Методы Составление тестовой стратегии Summary 17 Стратегия составления тестовой стратегии 3. Формирование стратегии 2. Анализ информации 1. Изучение продукта и его окружения Intro Пример Методы Составление тестовой стратегии Summary 18 Соответствие HTSM и Flower HTSM Heuristic Test Strategy Model (HTSM) by James Bach Flower Heuristic Test Strategy Model (FHTSM) by me Intro Пример Методы Составление тестовой стратегии Summary 19 Шаг 1. Изучение продукта и его окружения • Знакомство • Погружение • Исследование открытых ресурсов Полезные советы по сбору информации для стратегии: http://satisfice.com/tools/htsm.pdf Intro Пример Методы Составление тестовой стратегии Summary 20 VIDEO Знакомство и погружение Ссылка на видео: https://www.youtube.com/watch?v=MXKBlG65u_Q Intro Пример Методы Составление тестовой стратегии Summary 21 Исследование открытых ресурсов • Много «Sorry for the trouble» • Языки: английский, немецкий, испанский • Около 100 сотрудников • Более 70 миллионов пользователей в 180 странах • Проводились исследования эффективности Lumosity • Большие инвестиции в компанию ($30 млн) Intro Пример Методы Составление тестовой стратегии Summary 22 Результаты изучения • • • • Intro Пример Более 70 млн юзеров в 180 странах В команде около 100 человек Регулярные и большие инвестиции Много жалоб на продукт в открытых ресурсах Методы Составление тестовой стратегии Summary 23 Результаты изучения • • • • • Intro Пример Локализация: 3 языка Поддержка мобильных платформ У каждой игры – свой движок Технология: Ruby on Rails Используется Continuous integration Методы Составление тестовой стратегии Summary 24 Принятие решений при изучении продукта и его окружения • Несколько методов-эвристик: – HTSM (Heuristic Test Strategy Model by James Bach) – Туры • Особое внимание вещам, от которых зависит объем и сложность тестирования Сообщение в блоге Ольги Киселевой по турам в тестировании: http://okiseleva.blogspot.ru/2015/01/blog-post_64.html Intro Пример Методы Составление тестовой стратегии Summary 25 Шаг 2. Анализ информации • • • • Intro Пример Увеличение числа пользователей Расширение контента Поддержка новых платформ Продвижение идеи развития мозга Методы Составление тестовой стратегии Summary 26 Шаг 2. Анализ информации • • • • • • Огромное число платформ Несколько локализаций Расширение контента Усложнение контента Частые релизы Поддержка 24*7 Intro Пример Методы Составление тестовой стратегии Summary 27 Шаг 2. Анализ информации • • • • • • • • Intro Пример Методы Функциональная полнота Харизма Расширяемость Нагрузоустойчивость Быстродействие Юзабилити Безопасность Supportability Составление тестовой стратегии Summary 28 Шаг 2. Анализ информации • • • • • Много платформ Несколько локализаций Частые релизы У каждой игры – свой движок Как тестировать интересность игр? Intro Пример Методы Составление тестовой стратегии Summary 29 Принятие решений при анализе информации • Были сформулированы: – – – – Бизнес цели Трудности при достижении этих целей Критерии качества Трудности с точки зрения тестирования Intro Пример Методы Составление тестовой стратегии Summary 30 Шаг 3. Формирование стратегии • Какие техники (виды) тестирования мы будем использовать • Другие высокоуровневые решения: – – – – Необходимые инструменты Стратегия автоматизации Состав команды И другие Intro Пример Методы Составление тестовой стратегии Summary 31 Техники (виды) тестирования Каждый релиз (1 приоритет): – Функциональное тестирование – Регрессионное тестирование Не каждый релиз (2 приоритет): – Локализации – Быстродействие – Нагрузочное тестирование Только для крупных релизов (3 приоритет): – – – – Intro Пример Методы Бета тестирование Краудсорс тестирование Адаптационное тестирование Безопасность Составление тестовой стратегии Summary 32 Техники (виды) тестирования Каждый релиз (1 приоритет): – Функциональное тестирование – Регрессионное тестирование • Функциональная полнота • Расширяемость • Частые релизы • Расширение контента • Усложнение контента Intro Пример Методы Составление тестовой стратегии Summary 33 Техники (виды) тестирования Не каждый релиз (2 приоритет): – Локализации – Быстродействие – Нагрузочное тестирование • Увеличение числа пользователей • Более 70 млн юзеров в 180 странах • 3 локализации Intro Пример Методы Составление тестовой стратегии Summary 34 Техники (виды) тестирования Только для крупных релизов (3 приоритет): – – – – Бета тестирование Краудсорс тестирование Адаптационное тестирование Безопасность • Много платформ • Много конфигураций • Как тестировать интересность игр? • Более 70 млн юзеров в 180 странах Intro Пример Методы Составление тестовой стратегии Summary 35 Другие решения: автоматизация • Цель - автоматизировать большую часть регрессии • Разделить тесты по приоритетам запуска • Технология: Selenium • • • • Много платформ Много конфигураций Частые релизы Несколько локализаций Intro Пример Методы Составление тестовой стратегии Summary 36 Другие решения: необходимые скилы • Тестирование веба и мобилок • Опыт тестирования игр • Скриптовые языки • Харизма • Много платформ • • • • Intro Пример Методы Мобильные платформы У каждой игры – свой движок Технология: Ruby on Rails Continuous integration Составление тестовой стратегии Summary 37 Другие решения: состав команды • 6 ручных тестировщиков • 2 тестера-автоматизатора Каждый релиз: • • Функциональное тестирование Регрессионное тестирование • Функциональная полнота • Много платформ • Несколько локализаций • У каждой игры – свой движок Intro Пример Методы Составление тестовой стратегии Summary 38 Другие решения • • Bug tracker: JIRA TCM: HP ALM • Прежде всего - искать баги в продукте Потом - quality control • • • • • • Внутри компании: • функциональное • регрессионное Можно на outsource: • другие виды тестирования Intro Пример Методы • Желательно в одной локации Ежедневные обновления статуса тестирования на Confluence Каждую неделю – сводный отчет по e-mail Dashboards в JIRA Составление тестовой стратегии Summary 39 Взвешивание альтернатив Важность Вар.1 Outsource Вар.2: Внутр. тестир. Вар.3: Внутр. + outsource Уровень коммуникаций 4 3 5 4 Тесная интеграция тестировщиков в Scrum команде 5 1 5 3 Стоимость тестирования 3 5 2 4 Качество тестирования 7 3 5 4 3*4 + 1*5 + 5*3 + 3*7 = 53 86 71 Критерий Всего: Intro Пример Методы Составление тестовой стратегии Summary 40 Принятие решений при формировании стратегии • Эвристики • Матрица взвешивания альтернатив (Кепнер и Трего) • Опыт Intro Пример Методы Составление тестовой стратегии Summary 41 Summary 42 Summary • Сложность принятия решений возрастает • Мы можем использовать: – Структурные подходы (например, Кепнер и Трего) – Эвристики • У всех методов есть плюсы и минусы • Поэтому в комбинировании этих методов – наша сила Intro Пример Методы Составление тестовой стратегии Summary 43 Следующие шаги • • • • Уделяйте внимание своим решениям Контролируйте использование эвристик Попробуйте структурные методы Потренируйтесь в презентации решений Intro Пример Методы Составление тестовой стратегии Summary 44 Материалы • См. на слайдах • По эвристикам: – Книга Пойа Д. «Как решать задачу. Пособие для учителей.» – http://www.developsense.com/blog/category/heuristics/ – http://www.satisfice.com/blog/archives/category/heuristics • По тестовой стратегии: – http://satisfice.com/tools/htsm.pdf – http://33testers.blogspot.ru/2015/02/3.html – http://www.slideshare.net/EuroSTARConference/fiona-charles-slides • По подходу Кепнера и Трего: – Книга Kepner, Tregoe «The New Rational Manager» Intro Пример Методы Составление тестовой стратегии Summary 45 Вопросы? Мои контакты: E-mail: r.sheyko@gmail.com Twitter: @Rsheyko Skype: romko.3313 46