Разделы портала

Онлайн-тренинги

.
Хитрые стратегии расширения подхода к тестированию
08.05.2020 00:00

Автор: Саймон Найт (Simon Knight)
Оригинал статьи
Перевод: Ольга Алифанова

Если вы в тестировании не первый день, и особенно если вы долго тестируете один и тот же продукт, то вы наверняка заметили, что ваш мозг начинает мыслить о тестируемом продукте определенным устоявшимся образом.

Через какое-то время вы уже знаете, где находятся самые сложные области вашего продукта, и, начиная тестировать, вы сразу нацеливаетесь на эти области, потому что они уже показали себя плодотворной почвой для сочных багов.

Но как же вы попали в эту область системы? Каким маршрутом вы шли, что вы могли упустить по дороге?

Что, если вместо того, чтобы прямой наводкой идти к этой области, вы бы свернули в совершенно ином направлении?

Что вы могли бы найти?

Отрываемся

Мозг – забавная штука. Безусловно, очень мощная, но страдающая досадной тенденцией застревать в колеях и желобках комфортабельного мышления.

На самом деле, когда вы тестируете, ваш мозг, скорее всего, ищет способы по большей части думать быстро (лениво), а не медленно (намеренно, аналитически, креативно). Очень заманчиво разрешить ему это, потому что в этом-то и есть его суть, правда?

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

Как профессиональные тестировщики, мы должны не только знать о своих искажениях – мы должны контролировать их и постоянно бросать себе вызов, ломая комфортабельные паттерны мышления.

Представьте, что перед вами лист бумаги, и вы делаете на нем пометки ручкой. Лист в точности фиксирует эти пометки. Предыдущие пометки не влияют на получение новых.

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

Эдвард Де Боно, "Think!", Random House, 2009.

Именно из этих каналов, последовательностей и желобков, о которых говорит де Боно, нам и нужно вырваться, чтобы отклониться от проторенных дорог и последовательностей, тестируя программный продукт.

Разрыв шаблона

Об одном из способов сделать это де Боно говорит в той же самой книге – это использование случайных слов, чтобы переключить размышления с устоявшейся колеи и паттернов. Его техника на самом деле довольно проста.

  • У вас уже есть точка сосредоточения внимания, или же вы ее идентифицировали.
  • Вы выбираете случайное слово.
  • Вы используете это слово, чтобы креативно размышлять о том, что находится в центре внимания.

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

Все, что вам нужно сделать – это следовать новому направлению, к которому вас подталкивает это слово. В случае с грумингом вы можете начать размышлять или задавать вопросы вот о чем:

  • Что упущено или отсутствует в этой истории? Требования производительности? Требования безопасности?
  • Что, если определенная часть данных отсутствует или упущена из-за, скажем, пользовательской ошибки?
  • Что, если шаг пропущен или отсутствует?
  • Что, если часть архитектуры станет отсутствующей (или откажет)?

В зависимости от ваших обстоятельств, продукта и команды, вам могут прийти в голову многие другие идеи. Надеюсь, вы поняли смысл.

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

У Де Боно есть набор слов, которые он советует использовать для этого процесса – в основном существительные. Например, это Письмо, Барьер, Ухо, Зуб, Бомба, Мыло.

Однако его контекст немного отличается, он смотрит на ситуацию с креативной точки зрения. Тестирование, безусловно, креативная дисциплина, но нам, возможно, подходят другие слова для провоцирования мышления. Эвристики.

Многие тестировщики, особенно принадлежащие к сообществу тестирования, управляемого контекстом, любят говорить об эвристиках или мнемониках – мощных напоминалок, которые можно использовать как систему ориентиров, и для направления тестирования в сторону областей высокого риска. Часто они имеют форму чеклистов, ментальной карты, или чит-листа.

Для этой техники нам все это не понадобится. Достаточно списка эвристик, вроде нижеприведенного:

  1. Последовательность
  2. Совпадение
  3. Слияние
  4. Синхронизация
  5. Доля
  6. Взаимодействие
  7. Непрерывность
  8. Иерархия
  9. Приоритет
  10. Зависимость
  11. Повторение
  12. Цикл
  13. Параметр
  14. Предусловие
  15. Конфигурация
  16. Правило
  17. Кастомизация
  18. Ограничение
  19. Ресурс
  20. Доступ
  21. Замок
  22. Состояние
  23. История
  24. Откат
  25. Восстановление
  26. Обновление
  27. Клонирование
  28. Временный
  29. След
  30. Партия
  31. Пустота
  32. Отсутствие
  33. Обратная связь
  34. Насыщение
  35. Сортировка
  36. Масштаб
  37. Повреждение
  38. Целостность
  39. Вызывать
  40. Ритм
  41. Задержка
  42. Пользователи
  43. Информация
  44. Разработчик
  45. Команда
  46. Инструменты
  47. Расписание
  48. Конечные продукты
  49. Структура
  50. Функции
  51. Данные
  52. Платформа
  53. Операции
  54. Время
  55. Мощность
  56. Надежность
  57. Удобство использования
  58. Масштабируемость
  59. Производительность
  60. Совместимость.

Если вы чувствуете, что застряли (в устоявшемся желобе, колее или паттерне мышления), вы можете просто выбрать одно из слов в списке и использовать его для генерации новых идей для новых способов проведения тестирования.

Недавно я тестировал калькулятор выплат. Воспользуюсь им для ряда примеров, чтобы вам было понятнее.

Когда я смотрел на часы, я увидел, что секундная стрелка указывает на 41 – Задержка:

  • Что будет, если я отложу пользовательские действия? Допустим, отойду за кофе между прохождением различных этапов? Закончится ли моя сессия? Разлогинит ли меня? Делает ли приложение что-либо для защиты важной информации от посторонних глаз?
  • Что будет, если сервер под нагрузкой? Будут ли задерживаться ответы?

Попробуем еще раз. На этот раз получилось 47, Расписание. Я все еще работаю с тем же приложением:

  • Приложение дает возможность создать расписание выплат. Исследую этот вопрос. Работает ли расписание?
  • Могу ли я поменять расписание, если план выплат уже создан?

Попробовав еще раз, я получил 11, Повторение:

  • Что будет, если я повторю расчет? Получу ли я тот же результат?
  • Что, если я начну повторять тот же самый шаг? Могу ли я это сделать? Должен ли я мочь это сделать? Есть ли ошибки?

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

Следите за часами

Для случайного выбора вы можете использовать другую технику напрямую из репертуара Де Боно.

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

Обсудить в форуме