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

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

.
Это не та карта, которую я имел в виду: значение, неточности и таксономия визуальных моделей тестирования, часть 1
12.02.2018 00:00

Автор: Аарон Ходдер (Aaron Hodder)

Оригинал статьи: https://www.testingcircus.com/documents/TestingTrapeze-2015-June.pdf#page=14

Перевод: Ольга Алифанова

Представьте, что вы – владелец зоопарка, которому хочется узнать, что поделывают коллеги по профессии. Вы открываете руководство по большим кошкам. Оно выглядит примерно так:

«Вот пример большой кошки: она отличается тем, что у нее есть усы, она пушиста, и имеет пару глаз. По моему опыту, очень полезно заводить такую большую кошку в зоопарке. Всем заинтересованным лицам очень нравится  моя большая кошка».

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

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

«Круто!» - думаете вы.

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

Вы взволнованно просите посмотреть на его большую кошку, и он показывает вам это:

«Ну, как тебе?» - спрашивает хозяин.

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

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

Полезная таксономия означает, что автор первой книги мог уверенно называть свою большую кошку «тигром» на основании его полосок, а автор второй – «львом» благодаря его гриве.

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

Давайте перейдем к тестированию: в 2010/2011 годах майнд-карты, казалось ворвались в мир контекстного тестирования, как отличный новый инструмент планирования и коммуникации. С тех пор они стали более распространены, и сейчас, кажется, шагу сделать нельзя, чтобы кто-нибудь не всучил тебе какую-нибудь майнд-карту. Однако их никто не категоризвал и не классифицировал. Любой артефакт, созданный с помощью ПО для майнд-карт, именуется майнд-картой. За этим следует ложное чувство эквивалентности различных артефактов, потому что все они называются одинаково, и это позволяет наряженным подо львов собакам называть себя большой кошкой.

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

Полезно классифицировать «львов» и «тигров» как различные виды больших кошек. Не менее полезно отделять балансовые отчеты от отчетов о движении денежных средств – это разные таблицы. Возможно, наши знания и знакомство с моделями тестирования достигли того уровня, когда необходима таксономия тестовых моделей, которые сейчас запихиваются в общий раздел «майнд-карт».

Такая таксономия может выглядеть, к примеру, так:


Кликните на изображение для просмотра полной версии

Зоология славится богатой историей споров и противоречий по поводу классификаций (см. «Краткую историю почти всего» Билла Брайсона и «Слепого часовщика» Ричарда Докинса – в обеих книгах есть любопытные истории о разногласиях и спорах в области таксономии). Я ожидаю того же от любой предложенной иерархии тестовых артефактов.

Используя эту модель, мы можем отметить, что при использовании выражения «майнд-карта» мы на самом деле имеем в виду особый вид системной, конкретно – древовидной, и обычно неупорядоченной диаграммы. Такая модель позволяет нам поместить слово «майнд-карта» туда, где ему самое место. Майнд-карта – это специфический вид системной диаграммы, больше похожий на то, что намеревался создать Тони Бузан. Итак, если используется древовидная диаграмма для мозгового штурма, или заметки во время лекции – я назову это майнд-картой.

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

Оба этих вида:

  • Артефакты (реальные продукты, созданные людьми)
  • Документы (записанные представления мыслей)
  • Системные диаграммы (символические представления информации, использующие узловые точки и связи между ними).

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

В приведенной выше иерархии можно увидеть, что неупорядоченные древовидные диаграммы имеют дальнейшую категоризацию. Один из типов – это план покрытия продукта. Эта диаграмма, название которой дал Пол Холланд (Paul Holland), представляет собой план тестируемого продукта и предназначена для раздачи заинтересованным лицам, чтобы они быстро ознакомились с продуктом и его элементами. Это не диаграмма про тестирование. Узнать больше про этот тип диаграмм можно тут и тут.

Теперь я хотел бы описать и определить близкого родственника плана покрытия продукта – план тестового покрытия, подсвеченный в иерархии красным цветом. С учетом иерархической таксономии можно отметить, что план покрытия продукта и план тестового покрытия имеют схожую классификацию:

  • Царство: артефакты
  • Тип: документы
  • Класс: системные диаграммы
  • Ранг: неуправляемые
  • Семейство: неупорядоченные древовидные диаграммы

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

Руководство по плану тестового покрытия

План тестового покрытия – отличный инструмент, когда в проекте хотят формального, «предсказуемого», отслеживаемого и подотчетного тестирования, а вы не хотите терять преимущества исследовательского, любознательного подхода к тестированию. Вот план тестового покрытия (содержание не так важно, я хочу показать структуру):

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

План тестового покрытия начинается с «семечка» - модели тестового покрытия. Эвристическая модель тестовой стратегии Джеймса Баха, модель I SLICED UP FUN Джонатана Кола, FIBLOTS Скотта Барбера – все это примеры моделей тестового покрытия, которые вы можете использовать, или же разработать свою собственную. Вот пример использования эвристической модели тестовой стратегии Джеймса Баха:

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

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