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

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

.
5 языков тестирования
29.01.2018 00:00

Автор: Энди Тинкам (Andy Tinkham)

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

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

Начиная с девяностых годов, Кем Кейнер, Джеймс Бах и Брет Петтикорд начали формулировать свою концепцию «школ тестировочной мысли». Они самоидентифицировались как принадлежащие к школе «тестирования, управляемого контекстом», и описывали другие способы мышления, с которыми они сталкивались в течение своей карьеры, как фабричную школу, аналитическую школу, и школу качества. Позднее они добавили пятую школу – школу Agile. Такая организация научной мысли давала новый способ разобраться в различиях мнений о «хорошем» тестировании [1].

С тех пор определения школ развились от изначально задуманной перспективы (определенной работой Томаса Куна про способы развития сводов знаний) в нечто куда более расплывчатое. Противоречия множились, так как концепция школ использовалась для того, чтобы категоризировать и даже демонизировать людей, а не идеи (Джошуа Рейн писал об этих аспектах школ в декабрьском выпуске Testing Trapeze). В какой-то момент дискурс вокруг школ даже описывал их как нечто религиозное. Разговор вокруг школ начал включать элементы, схожие с теми, которые встречаются в дискуссиях о политике (как минимум тут, в США – язвительность, личные атаки, укоренившиеся взгляды). Однако никто не бывает прав в 100% случаев, и ни одна группа не может всегда владеть единственно верной перспективой по отношению к определенной проблеме. Сейчас меня беспокоит, что люди говорят, не слушая друг друга, вместо того, чтобы совместно развивать отрасль. Наши дискуссии приносят больше вреда, чем пользы.

Встречайте Арнольда Клинга

Эта схожесть с политическими дискуссиями привела меня к потенциальному решению вопроса. Арнольд Клинг – это экономист, адьюнкт института Като. Исследуя тематику в своем блоге [2] несколько месяцев, он написал электронную книгу «Три языка политики» в 2013 году [3]. В ней он описывает американский политический дискурс как застрявший в паттерне, когда каждая группа последовательно перекраивает все те же концепции, не слушая друг друга и демонизируя несогласных (звучит знакомо, не правда ли?). Он утверждает, что основная причина такого поведения в том, что группы используют различные рамки для своих аргументов. Он предложил модель с тремя осями как способ понять разницу между тремя крупными политическими группами – прогрессивистами, консерваторами и либералами.

Клинг основывает свою модель на концепции племен. Он рассматривает людей как племена в плане образа мыслей. Мы серьезно заботимся об относительной позиции своего племени по сравнению с другими племенами. Обе эти позиции – про статус, а один из способов повлиять на статус – через лингвистические различия. По словам Клинга, «Люди используют язык как сигнальную систему, улучшающую сплоченность племени и обостряющую различия с другими племенами» [3, глава 5]. По мере роста племени его члены используют языковые различия для роста племенного статуса, как индивидуально, так и в группах. В политике каждая вышеперечисленная группа – это такое племя.

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

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

Вернемся к тестированию

Читая книгу Клинга, я вспомнил о дискуссиях про школы тестирования. «Хорошее» тестирование описывается очень по-разному. Я наблюдал попытки внедрить лингвистические различия (к примеру, тестирование против проверок – многие тестировщики любят это противопоставление, другие ненавидят его). Группы, как видится, повторяют все те же аргументы, и ни одна сторона не меняет своей позиции. Как это будет выглядеть, если применить модель Клинга к тестированию?

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

Используя оси Клинга, как племя может принять концепцию, которая ценится другим племенем, и переформулировать ее так, чтобы второе племя ее отвергало? Ценность Стандартного племени – постоянство – может быть рассмотрена как бездумная работа над текущей ситуацией племенем Контекста.

Племя

Континуум

Фабрика/Стандарт

Постоянство против хаоса

Аналитика

Правильность против случайностей

Контекст

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

Качество/Контроль

Процесс против халтуры

Agile

Ответственность за качество всей команды против качества задним числом


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

Даже это объяснение не устраняет конфликт и не снижает интеллектуальную «битву» парадигм, которую Томас Кун описал в своей «Структуре научных революций». Совсем напротив! Интеллектуальный рост рождается в борьбе с идеями, в их оспаривании и изучении, и конфликт – часть этой борьбы. Однако этот континуум может дать нам инструмент для того, чтобы сделать эти дискуссии и битвы эффективнее. Старые и новые идеи в тестировании могут быть сформулированы различными способами, подчеркивающими системы ценности различных племен, предоставляя  новые перспективы и открывая дорогу для новых дискуссий, позволяя нам профессионально расти и выйти за рамки устоявшихся догматичных аргументов.

Заключение

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

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

Примечания

[1] Kaner, Cem, James Bach & Bret Pettichord, “Four Schools of Software Testing,” 2004.

[4] Kling, Arnold. ASK Blog.

[3] Kling, Arnold. The Three Languages of Politics. 2013.

[2] Kaner, Cem. “Context-driven testing is not a religion,” 2012

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