Научная статья на тему 'СОЦИОТЕХНИЧЕСКИЕ ФАКТОРЫ ЛИМИНАЛЬНОЙ ПОЗИЦИИ ТЕСТИРОВЩИКОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

СОЦИОТЕХНИЧЕСКИЕ ФАКТОРЫ ЛИМИНАЛЬНОЙ ПОЗИЦИИ ТЕСТИРОВЩИКОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «СМИ (медиа) и массовые коммуникации»

CC BY
197
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ / РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ТЕСТИРОВАНИЕ / СОЦИОТЕХНИЧЕСКИЕ БАРЬЕРЫ / ПРОФЕССИЯ / ЛИМИНАЛЬНАЯ ПОЗИЦИЯ / INFORMATION TECHNOLOGY / SO WARE DEVELOPMENT / TESTING / SOCIOTECHNICAL BARRIERS / PROFESSION / LIMINAL POSITION

Аннотация научной статьи по СМИ (медиа) и массовым коммуникациям, автор научной работы — Земнухова Лилия Владимировна, Гусева Алиса Алексеевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по СМИ (медиа) и массовым коммуникациям , автор научной работы — Земнухова Лилия Владимировна, Гусева Алиса Алексеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOCIO-TECHNICAL FACTORS OF TESTERS' LIMINAL POSITION

The article presents the preliminary results of the research of testers in the framework of the project on socio-technical barriers of production and distribution of information technologies. Testers are considered as participants in the process of so ware development, where they find themselves in a situation of uncertainty: their status does not allow access to decision-making, and the boundaries of responsibility are blurred. The myths surrounding this specialization reflect biases that have taken root and reproduce the external image of testing. The position of testers can be described as liminal because the time it is in the process of transition for a long from a changing service to an independent significant role in the development process. Empirical materials of ethnography and in-depth interviews show that the diculties of the testers' work are largely related to the technological environment in which internal hierarchies, sequences, and restrictions on freedom of activity are inscribed. Accidentally appearing in the profession, testers are faced with three types of technological environments with which and within which they interact. Some are personal tools of testers and allow them to easily implement their daily tasks. Others are related to the so ware product and its testing, where developers play a leading role, and testers are dependent on the production cycles of developers. Still, others concern the organization of work in the company in general, where the main opportunities and limitations, rules and roles, culture and traditions are fixed. The latter is basic in the reproduction of liminal position and sociotechnical barriers, in which testers and themselves

Текст научной работы на тему «СОЦИОТЕХНИЧЕСКИЕ ФАКТОРЫ ЛИМИНАЛЬНОЙ ПОЗИЦИИ ТЕСТИРОВЩИКОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

разработка технологий и конструирование пользователей

социотехнические факторы лиминальной позиции тестировщиков программного

обеспечения

Лилия Владимировна Земнуховаа (l.zemnukhova@gmail.com)

Алиса Алексеевна Гусева6

а Социологический институт РАН — филиал Федерального научно-исследовательского социологического центра Российской академии наук,

Санкт-Петербург, Россия ь Независимый исследователь, Санкт-Петербург, Россия

Цитирование: Земнухова Л.В., Гусева А.А. (2019) Социотехнические факторы лиминальной позиции тестировщиков программного обеспечения. Журнал социологии и социальной антропологии, 22(6): 69-85. https://doi.Org/10.31119/jssa.2019.22.6.5.

Аннотация. Представлены предварительные результаты исследования тестировщиков в рамках проекта по изучению социотехнических барьеров производства и распространения информационных технологий. Тестировщики рассматриваются как участники процесса разработки программных продуктов, где они оказываются в ситуации неопределенности: их статус не позволяет иметь доступ к принятию решений, а границы ответственности размыты. Мифы, сложившиеся об этой специализации, отражают предубеждения, которые закрепились и воспроизводят внешний образ тестирования. Позиция тестировщиков может быть охарактеризована как лиминальная, поскольку уже длительное время находится в стадии перехода от меняющейся сервисной до самостоятельной значимой роли в процессе разработки. Эмпирические материалы этнографии и глубинных интервью показывают, что сложности работы тестировщиков связаны во многом с технологической средой, в которую «зашиты» внутренние иерархии, последовательности, ограничения свободы деятельности. Случайно оказываясь в профессии, тестировщики сталкиваются с тремя типами технологических сред, с которыми и в рамках которых они взаимодействуют. Одни являются персональными инструментами тестировщиков и позволяют им достаточно легко реализовывать свои повседневные задачи. Другие имеют отношение к программному продукту и его тестированию, где разработчики играют ведущую роль, а тестировщики оказываются в зависимости от производственных циклов разработчиков. Третьи же касаются организации работы в компании вообще, где закрепляются основные возможности и ограничения, правила и роли, культура и традиции. Последние становятся базовыми в воспроизводстве лиминальной позиции и социотехнических барьеров, в которых и обнаруживают себя тестировщики.

Ключевые слова: информационные технологии, разработка программного обеспечения, тестирование, социотехнические барьеры, профессия, лиминальная позиция.

Тестирование — необходимый этап разработки программного обеспечения, который предполагает проверку кода на работоспособность и качество продукта. Разработка в области информационных технологий (ИТ) постоянно усложняется, увеличивается масштаб систем и проектов, а задачи становятся все более специфическими и сложными. С изменением структуры организации труда трансформируются позиция и статус тестировщиков в процессе разработки. Изначально тестирование было направлено на поиск ошибок в программном коде (Myers 1979: 16), но с развитием программирования и дробления задач внутри процесса возникла потребность проверять качество продукта — от проверки кода до тестирования прототипов и уже готовых продуктов. Постепенно задачей тестировщиков стала оценка качества разрабатываемого продукта (Hetzel 1984: 7), в результате которой начала формироваться специализация по контролю качества — Quality Assurance (QA).

Однако статус тестировщиков все еще остается неопределенным, поскольку в разных компаниях и направлениях ИТ складываются свои представления о роли и значимости их участия в процессе разработки. В исследовательской литературе, посвященной тестировщикам, изучаются различные аспекты их профессиональной деятельности: влияние организационных факторов на рабочий процесс (Martin et al. 2007), трансформация повседневных практик (Taipale and Smolander 2006), командная кооперативная работа (Rooksby et al. 2009), конфликты между тестировщиками и разработчиками (Zhang et al. 2014). В этих и других работах тестирование рассматривается как часть процесса разработки, динамика которого менялась с течением времени, в связи с чем трансформируется статус тестировщиков (Galperin, Hetzel 1988). В публикациях обнаруживается следующее ключевое противоречие: с одной стороны, подчеркивается необходимость и важность тестирования для качественной разработки продуктов (Yang et al. 2009), с другой стороны, репутация тестировщиков представляется недооцененной (Whittaker 2009), а образ и вовсе может характеризоваться негативными коннотациями и отношением (Deak 2012). В том или ином виде это противоречие обсуждается и в самом сообществе (Stewart 2018), поэтому наша статья направлена на более внимательное его изучение. Мы предлагаем прояснить неопределенность позиции через понятие лими-нальности, которое отсылает к неоднозначности, невписываемости

в принятые классификации с понятным культурным смыслом (Turner 1969; Feakins, Zemnukhova 2018).

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

Данные и методы

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

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

История вопроса и его проблематика

Развитие области тестирования или проверки качества (QA) в сфере ИТ напрямую связано с динамикой трансформации самой профессиональной сферы. На начальных этапах разработчики отвечали за весь процесс производства продукта от начала и до конца, т.е. были разработчиками полного цикла (full stake developers). Они самостоятельно выполняли функции не только собственно программирования, но и проверки, тестирования продукта. С развитием ИТ продукты стали более комплексными и требовали подключения к производственному процессу разных специалистов, появилась необходимость распределения задач между членами команды, которые теперь специализировались на более точечных и узких функциях в рамках одного программного продукта или проекта. Эти частные специализации продолжают развиваться и меняться с разной степенью институционализа-ции и формализации, отражая тем самым тенденции в сфере ИТ вообще.

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

1) «ручное» тестирование подразумевает проверку продукта без использования программных средств путем моделирования действий пользователя (Kaner et al. 1999). Основная задача состоит в выявлении неработоспособного кода в пользовательских сценариях и подготовка отчетов для разработчиков;

2) автоматизированное тестирование (автотесты) — это код, который тестирует код. Автотесты пишут как разработчики, так и тестировщики. Основная идея заключается в автоматизации рутинных действий и оптимизации процесса проверки качества разрабатываемого продукта, включая экономию времени и затрат (Collins 2012).

Это разделение неконвенционально, хотя и близко к действительному положению дел (O'Broin 2015). К институционализации следует добавить, что часто тестировщики приравниваются к инженерам по качеству (QA), которые, предположительно, воспринимаются серьезнее и способствуют ребрендингу тестирования в программистской среде. Однако внутри сферы ИТ остаются сложности с профессионализацией и статусным положением тестирования, которые характеризуются множественными социотехническими барьерами.

Пилотный этап исследования тестировщиков показал, что барьеры связаны со многими факторами: менеджмент и управление, организация работы в команде, коммуникация и распределение обязанностей, технологические решения и мифологизация. Тестировщики вследствие нечетких профессиональных границ часто сталкиваются с ситуацией «жонглирования» функциями. Так, в литературе подчеркивается расширение спектра их ролей, тенденция к более всеобъемлющей (holistic) перспективе ответственности (Yang et al. 2011): теперь их задачи связаны не только с разработкой, но и с коммерческими целями и организационными задачами. В итоге тестирование становится результатом сотрудничества с разными участниками процесса, которые могут быть в большей или меньшей степени заинтересованы в этом сотрудничестве (Rooksby et al. 2009).

В то же время наши эмпирические материалы показывают, что тести-ровщики признаются в недооцененности их работы, в отсутствии признания значимости своей деятельности. «Люди не уважают QA» — так сформулировано распространенное отношение к тестировщикам извне (Stewart 2018), которое обсуждается на конференциях, отражает непривлекательный имидж для будущих или потенциальных специалистов, свидетельствует о своеобразном кризисе. Тестировщики как профессиональное сообщество переживают трансформационный период в поисках нового признаваемого статуса. Множественность ролей и усложнение функций предполагает расширение их полномочий и обретение доступа к принятию решений, но на практике тестировщики сталкиваются с непониманием возможностей и выгод, которые тестирование приносит компаниям вопреки сложностям внедрения технических решений по проверке качества. Наше утверждение состоит в том, что подобное положение тестировщиков закреплено и воспроизводится не только в социальных,

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

Мифы о тестировщиках и тестировании

Исследования тестировщиков позволяют понимать, как в процессе разработки программных продуктов отражены положение и роли разных участников, что, в свою очередь, показывает тенденции в профессиональной сфере ИТ. Чтобы оценить масштаб задач, с которыми сталкиваются тестировщики в своей повседневной работе, остановимся на нескольких представлениях о положении тестирования. Отчасти эти представления являются скорее мифами о профессии или специализации, но при этом они отражают трудности самой сферы и демонстрируют те внешние оценки и образы, которые имеют отношение к внутренним сложностям в профессиональной деятельности. Предлагаемые ниже мифы — это результат отбора повторяющихся сюжетов о стереотипах и предубеждениях как в разговорах с информантами, так и в неформальном общении на мероприятиях и открытых обсуждениях на профильных ресурсах в Интернете. Общая задача этого раздела — дать представление о социокультурном контексте (и культурных убеждениях), в котором находится и продолжает развиваться тестирование как специализация, и понять, что именно оказывается закрепленным в технологической среде.

1. Тестирование — это очень просто. Первый и самый повторяющийся миф о тестировщиках состоит в том, что тестирование является самым простым способом войти в профессиональный мир программирования. Такое представление возникло благодаря широкому распространению простого ручного тестирования интерфейсов, сначала «десктоп» (для рабочего стола), потом «веб» (в браузере), где тестировщику надо быть просто пользователем продукта и проверять работоспособность всех функций и возможных «багов» (сбоев в работе программ). По аналогии с самым легким уровнем работы в программировании такой вид тестирования называют «monkey-testing» («обезьянье» тестирование, т.е. простейшее /Nyman 2000/). В программировании к нему относят самые простые функции по написанию кода. Тестирование этого уровня дей-

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

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

* Одна из популярных шуток, которая разошлась в Интернете, из «Твиттера» инженера по тестированию Бренана Келлера (перевод авторов): «Инженер по тестированию заходит в бар. Заказывает пиво. Заказывает 0 пива. Заказывает 99999999999 пива. Заказывает ящерицу. Заказывает 1 пиво. Заказывает ueicbksjdhd. Первый реальный клиент заходит и спрашивает, где находится туалет. Бар воспламеняется, убивая всех» (A QA engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 99999999999 beers. Orders a lizard. Orders -1 beers. Orders a ueicbksjdhd. First real customer walks in and asks where the bathroom is. The bar bursts into flames, killing everyone) (Keller 2018).

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

3. Тестирование — это «недо-». «Недо-» — показатель стремления к любому другому завершенному представлению о специализации. Тести-ровщики могут считаться недо-программистами или недо-разработчика-ми (как в первом мифе) и по этой причине стремиться развиваться дальше и уходить в более понятные области с ясной идентичностью и статусом. Эти неопределенности связаны во многом с принципами организации процесса разработки или производства программного продукта: в зависимости от выбранных в компании или команде принципов работы выстраивается позиция, границы ответственности и значимость каждой из ролей в процессе, включая тестировщика. Распространенный аргумент в недовольстве тестировщиков связан с тем, что их роль сейчас становится завершающей и недооцененной в процессе разработки (Zhang 2010). Например, в методике организации работы «waterfall» тестировщи-ки оказываются в самом конце последовательности, когда они уже не могут повлиять на принятие ключевых решений (Tsai et al. 1997), а принципы регрессионного тестирования требуют дополнительных трат времени и денег. Современный подход к организации процесса предполагает более гибкую интеграцию разработчиков и тестировщиков, что приводит к необходимости внедрения новых методик, таких как «agile», где они участвуют в процессе производства наряду с разработчиками и имеют более широкий и определенный доступ к принятию технологических решений (Talby 2006). А риторической попыткой преодолеть «недо»-статус стало переопределение тестировщиков в инженеров по качеству (QA)*. С учетом того, что сфера ИТ слабо регламентирована и не имеет прочных бюро-

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

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

4. Тестирование — это роскошь. Неопределенность границ и обязанностей тестировщиков приводит к тому, что их роль и позиция не только остаются недооцененными, но и иногда воспринимаются как необязательный, дополнительный элемент в разработке. В кризисных для компаний ситуациях отдел тестирования или команда инженеров по качеству могут попадать под сокращение, потому что затраты на эти ресурсы — человеческие и временные — представляются неосновными, ими можно пожертвовать ради общей оптимизации процесса производства. Проблема этого мифа состоит в том, что тестирование не воспринимается как необходимая мера для качественной разработки продуктов, а скорее как затратное дополнение к ней. С учетом разнообразия тех масштабов, которые могут быть внедрены специалистами по тестированию, нет единого внятного понимания необходимости этого этапа работы. Например, в России еще лет десять назад было распространено мнение о том, что тестированием кода или продукта могут заниматься сами разработчики, а нанимать отдельных специалистов для этого нецелесообразно. Одно из важных следствий такого подхода — потенциальные конфликты между разными участниками процесса разработки (Zhang et al. 2014). Если статус тестировщиков слабо определен, то любая попытка перераспределить зоны контроля и ответственности может натыкаться на барьеры (Cohen et al. 2004) и не выглядеть оправдано в глазах тех, в чьи сферы деятельности производится вмешательство, поскольку оно не признается легитимным. В результате под сокращение первыми попадают те, чьи границы ответственности могут быть перераспределены в пользу более институционализированных ролей и статусов (например, программисты).

5. Тестирование — для девочек. Тестирование — одна из немногих сфер в разработке ИТ, где доля девушек выше, чем в других, поскольку она рассматривается как менее квалифицированная (Wajcman, Pham Lobb 2007). Отчасти это объясняется первым мифом с низким порогом вхождения в деятельность, особенно с учетом того, что здесь нет длительного пути вхождения (например, профильного высшего образования по тестированию не существует, есть только курсы по подготовке или повышению квалификации). Гендерные исследования показывают, что в профессиональных средах, где доминируют мужчины (статусно, численно, на уровне культурных убеждений), какой продолжает оставаться сфера ИТ,

соискатели и работники имеют неравные шансы на получение работы, распределение рабочего времени, равную заработную плату (Ridgeway 2009). В ИТ гендерная ситуация стала меняться только последние 5-7 лет, однако в тестировании, в отличие от общей сферы, доля женщин действительно была высока, и это позволило иначе сформировать культурные убеждения, которые оказывались более привлекательными для женщин-инженеров. Предполагается, что женщины с инженерным образованием могут выбирать тестирование для своей профессиональной карьеры из-за более благоприятных условий труда и более сбалансированного гендер-ного состава. Первые результаты нашего исследования показывают, что тестирование обретает образ более «женской» сферы вследствие круга обязанностей, связанного с менеджментом и коммуникацией, так называемыми soft skills. Так, тестировщицы могут выполнять функции менеджеров, но официально ими не являться, это минимизирует потенциальные конфликты с коллегами-мужчинами (статусный диссонанс), хотя и оставляет работу скрытой и недооцененной*.

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

Социотехнические факторы лиминальности

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

* Гендерному аспекту следует посвятить отдельную публикацию, поэтому он не будет рассматриваться здесь подробно.

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

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

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

Подробные исследования конфликтов разработчиков показывают, что в основе этих конфликтов лежат такие причины, как отсутствие эффективной коммуникации, пренебрежение документированием своей работы или следованием стандартным процедурам, а также негативное восприятие друг друга (Zhang et al. 2014). Здесь обнаруживается потенциальный парадокс: чем более подкованными технически становятся тестировщики,

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

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

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

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

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

Заключение

Специалисты по тестированию, или тестировщики, или инженеры по качеству (ОЛ), представляют собой пока еще формирующееся сообщество в рамках более широкой и лучше институционализированной сферы информационных технологий. Тестирование стало естественным шагом в развитии ИТ в условиях усложнения программных продуктов и процесса разработки с последующим распределением задач. А чем более ответственными оказываются эти системы (т.е. чем больше процессов они на себя берут на волне автоматизации) и/или чем ближе они становятся к пользователю (и поэтому требуют мгновенных решений технологических вопросов), тем более важным и даже необходимым представляется тестирование в современной программной разработке. Однако несмотря на все кажущиеся потребности в таком перераспределении задач и ресурсов, где необходима роль отдельных специалистов по контролю качества, тести-ровщики все еще остаются на периферии производственного процесса. Одна из причин — их неопределенный статус в профессиональной среде, который мы назвали лиминальной позицией.

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

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

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

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

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

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

Выражение благодарности

Исследование выполнено при поддержке гранта Российского научного фонда (проект РНФ № 17-78-20164) «Социотехнические барьеры внедрения и использования информационных технологий в современной России: социологический анализ».

Литература/References

Cohen C.F., Birkin S.J., Garfield M.J., Webb H.W. (2004) Managing Conflict in Software Testing. Communications of the ACM, 47(1): 76-81.

Collins E.F. (2012) Software Test Automation Practices in Agile Development Environment: An Industry Experience Report, 57-63.57. Zurich, Switzerland: IEEE.AST.

Deak A. (2012) Understanding socio-technical factors influencing testers in software development organizations. 2012 IEEE 36th International Conference on Computer Software and Applications.

Feakins M., Zemnukhova L. (2018) 'I'm not a gastarbeiter anymore': liminal mobility of young Kazakh IT professionals in Russia. Discourse: Studies in the Cultural Politics of Education, 39(5): 752-766.

Gelperin D., Hetzel B. (1988) The Growth of Software Testing. Communications of the ACM, 31(6): 687-695.

Hetzel W. (1984) The Complete Guide to Software Testing. Wellesley, MA: QED Information Sciences, Inc.

Kaner C., Falk J., Nguyen H.Q. (1993) Testing computer software. Second edition, Van Nostrand Reinhold.

Martin D., Rooksby J., Rouncefield M., Sommerville I. (2007) 'Good' organisational reasons for 'bad' software testing: An ethnographic study of testing in a small software company. In: ICSE '07: Proceedings of the 29th international conference on Software Engineering. Washington, DC, USA: IEEE Computer Society: 602-611.

Myers G.J. (1979) The Art of Software Testing. New York: John Wiley & Sons.

Nyman N. (2000) Using monkey test tools. Software Testing and Quality Engineering, 29(2): 18-23.

Ridgeway C.L. (2009) Framed Before We Know It How Gender Shapes Social Relations. Gender & Society, 23: 145-160.

Rooksby J., Rouncefield M., Sommerville I. (2009) Testing in the wild: The social and organisational dimensions of real world practice. Computer Supported Cooperative Work, 18(5-6): 559-580.

Taipale O., Smolander K. (2006) Improving software testing by observing practice. In ISESE '06: Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, New York: ACM: 262-271.

Talby D., Keren A., Hazzan O., Dubinsky Y. Agile Software Testing in a Large-scale Project. IEEE Software, 23(4): 30-37.

Tsai B.-Y., Stobart S., Parrington N., Thompson B. (1997) Iterative Design and Testing within the Software Development Life Cycle. Software Quality Journal, 6(4): 295-309.

Turner V. (1969) The ritual process: Structure and anti-structure. Chicago: Aldline.

Wajcman J., Pham Lobb L.A. (2007) The Gender Relations of Software Work in Vietnam. Gender, Technology and Development, 11(1): 1-26.

Whittaker J. (2009) Exploratory Testing. Addison-Wesley Professional.

Yang Y., Onita C., Dhaliwal J., Zhang X. (2009) TESTQUAL: Conceptualizing Software Testing as a Service. AMCIS 2009 Proceedings.

Zhang X., Hu T., Dai H., Li X. (2010) Software development methodologies, trends and implications: A testing centric view. Information Technology Journal, 9(8): 1747-1753.

Zhang X., Stafford T.F., Dhaliwal J.S., Gillenson M.L., Moeller G. (2014) Sources of Conflict between Developers and Testers in Software Development. Information & Management, 51(1): 13-26.

Источники

Keller B. (2018) Twitter [https://twitter.com/brenankeller/status/ 1068615953989087232] (дата обращения: 03.03.2019).

Stewart S. (2018) Release is a risky business [https://assets.ctfassets.net/ut4a3ci ohj8i/1xms0ppTTSqKsEsMqiK220/d33de8754c7d0e9e169ea0ba868354b6/Simon_ Stewart_-_Release_is_a_risky_business.pdf] (дата обращения: 03.03.2019).

i Надоели баннеры? Вы всегда можете отключить рекламу.