Если
вы гуглите "Военная разведка", особенно на английском языке, Military
Intelligence Corps, одним из первых результатов вы найдете девиз военной
разведки США, который говорит:
Во-первых, я солдат, во вторых, я профессионал разведки.С гордостью в моем наследии, но ориентированный на будущее,Выполняю первостепенную задачу армии:Обнаружить, изучить и никогда не терять противника.С чувством неотложного упорства, профессиональной и физической подготовки,и, прежде всего, целостности, ибо в этом лежит победа.Всегда на тихой войне, но готовый к стрельбе,Скрытый воин армии.
Я не смог найти источник, чтобы процитировать его, но это звучит достаточно близко к тому, что я знаю о разведчиках от некоторых друзей с огромным военным опытом.
Почему я пишу о
"солдатах"?
Ответ
очень прост.
Некоторое
время назад мой друг прокомментировал одно из моих сообщений, и он с
нетерпением ждал объяснения по поводу моих мыслей о том, что работа тестеров во
многом похожа на работу сотрудников военной разведки.
Я
думаю, он имел в виду следующую цитату из моего поста:
"...
Во многих случаях мы, тестеры, выступаем в качестве (военных) разведчиков нашей
организации, что помогает ей разрабатывать наиболее сложные стратегические и тактические
решения».
Назад к основам: какова
роль QA?
Цель
QA разведки:
Предоставление
конкретной, актуальной и своевременной информации, собранной из разнообразных
возможных источников информации и использование большого числа приемов для
того, чтобы помогать нашим клиентам делать тактические и стратегические
решения.
Это
определение состоит из 3 частей:
(1)
Мы предоставляем нужную информацию
(2)
Мы собираем информацию из различных источников
(3)
Целью этой информации является помощь в принятии правильных решений
Психологические
упражнения:
Перед
тем, как двигаться вперед я бы хотел, чтобы вы выполнили следующее упражнение.
Я обещаю, что это не повредит, и это займет у вас менее чем 4 минуты, чтобы
завершить его.
ЧАСТЬ
1:
Прочитайте
определение цели QA
разведки выше, и подумайте
о вашей нынешней команде тестирования.
-
Помогло ли это определение вам определить цели вашей команды?
-
На высоком уровне, поможет ли оно вам точно определить приоритеты вашей работы
и объяснить другим в вашей команде и за ее пределами, что вы на самом деле
пытаетесь достичь?
ЧАСТЬ
2:
Теперь,
подумайте о офицере военной разведки, который работает вместе с высокопоставленными
генералами армии, и еще раз прочтите определение цели QA разведки, но думайте о работе именно
офицера военной разведки.
-
Помогло ли вам это определение в понимании целей службы военного разведчика?
-
Помогло ли оно вам в понимании приоритетов его работы и в том какие задания и
обязательства лежат на его команде?
Вывод:
Во
многом цели QA и офицера разведки очень похожи.
Каждый
из нас работает в своих собственных контекстах, но в наши задачи входит
предоставление информации, которая поможет нашему начальству и остальной команде/
взводу сделать свою работу лучше и принимать правильные решения.
Мы находимся информационном
бизнесе
Так
же, как офицеру разведки не поручена борьба с врагом в рукопашном бою, так и тестерам
мы не поставлена задача написания кода, который будет поставляться конечным
пользователям. Наша задача заключается в обеспечении информационной поддержки
людей, которые делают стратегические и тактические решения, а также тех, кто на
линиях борьбы с заказчиками и кодом.
Это
не значит, что у нас менее сложное и высокотехническое задание.
Во
многих случаях наша работа даже более технически сложна, чем просто
"только писать код", потому что мы должны думать и моделировать странные
сценарии, но также и реалистичные сценарии, где клиенты будут использовать наш
продукт в непредвиденных условиях, и таким образом искать проблемы, которые
могут скрываться в этих экстремальных условиях.
Вы
когда-нибудь видели тестеры, которые используют тактику «контр-разведки ошибки"
на примере фразы: "если бы я была ошибка, где бы я пряталась...?» Я знаю,
что все мы так делали!
Теперь
серьезно, одно из самых сложных заданий у QA инженеров это убедиться, что мы
предоставляем правильную информацию. Под правильной информацией я не (только) понимаю
правильные данные результатов наших тестовых запусков, но также это фактическая
информация, полученная от переработки всех наших точек данных и формирование представления
информации, которое является одновременно точным и информативным.
Также
мы иногда должны работать с неполной информацией, делать предположения и определять
их как рискованные случаи, которые могут произойти, а могут и не встретится.
Это же звучит, как будто мы угадываем, где противник прячется и как он будут
себя вести!
В
конце дня наши клиенты, начальство не имеют времени, чтобы перебрать все
результаты и предположения. Они ожидают от нас, чтобы сделали это обработку для
них. Все, что они хотят получить, являются суммированные плюсы и минусы,
описанные как можно проще, чтобы помочь им принять правильное решение быстро.
Мы собираем информацию
из нескольких источников исходных данных
Еще
одна вещь, которая едина между тестерами и офицерами военной разведки в том,
что мы работаем с большим количеством источников данных и типов.
Подобно
тому, как мы должны выполнять функциональные тесты, API тесты, нагрузочные
тесты и т.д., офицерам разведки необходимо собрать данные со спутников, личных
наблюдений, шпионов и т.д.
Для
нас это не только ошибки и тесты, но и о статистика использования и различные
типы поведения пользователей, а также технологические изменения и различные
типы платформ и условия, в которых наша продукция может быть использована.
Аналогичным образом, для них важны данные не только о противнике и их оружии,
но и об общем населении в конкретных районах, а также политические,
экономические и даже этнические связи между различными сторонами войны.
И
нам, и им необходимо предоставить конкретные, краткие и своевременные показания
из всей этой информации, представляя текущее состояние дел и оценку будущего на
основе ограниченного числа предположений.
Честность и правда
Наконец,
я не мог не заметить то, что было написано в девизе в начале статьи и не
связать его со словами, которые дали мне Джерри Вайнберг и Джеймс Бах в своих
ответах на мои 5 вопросов тестирования.
Девиз
говорит:
"...
и, прежде всего, целостности, ибо в этом
лежит победа".
Когда
я прочитал это, я понял, что это похоже на то, как Джерри и Джеймс ответил на
некоторые мои вопросы.
Например,
когда Джерри ответил, что самый важный совет для тестера будет:
"Никогда не лгите
..."
И
когда Джеймс написал, что помимо основных черт тестер всегда должен иметь:
"... Сильное
чувство этики".
Поэтому
не стоит недооценивать важность тестирования в процессе разработки программного
обеспечения, так как программисты (ударная сила) и тактика (начальство, клиенты)
в целом зависят от того, как ситуацию оценивает QA отдел.
Я
считаю, автор очень метко привел сравнение этих двух профессий.
А
как думаете вы?
Вольный перевод статьи Joel Montvelisky