04.02.2013

QA и военная разведка



Если вы гуглите "Военная разведка", особенно на английском языке, Military Intelligence Corps, одним из первых результатов вы найдете девиз военной разведки США, который говорит:
Во-первых, я солдат, во вторых, я профессионал разведки.
С гордостью в моем наследии, но ориентированный на будущее,
Выполняю первостепенную задачу армии:
Обнаружить, изучить и никогда не терять противника.
С чувством неотложного упорства, профессиональной и физической подготовки,
и, прежде всего, целостности, ибо в этом лежит победа.
Всегда на тихой войне, но готовый к стрельбе,
Скрытый воин армии.
Я не смог найти источник, чтобы процитировать его, но это звучит достаточно близко к тому, что я знаю о разведчиках от некоторых друзей с огромным военным опытом.
Почему я пишу о "солдатах"?

Ответ очень прост.

Некоторое время назад мой друг прокомментировал одно из моих сообщений, и он с нетерпением ждал объяснения по поводу моих мыслей о том, что работа тестеров во многом похожа на работу сотрудников военной разведки.

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

Назад к основам: какова роль QA?

Цель QA разведки:

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

Это определение состоит из 3 частей:
(1) Мы предоставляем нужную информацию
(2) Мы собираем информацию из различных источников
(3) Целью этой информации является помощь в принятии правильных решений

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

ЧАСТЬ 1:
Прочитайте определение цели QA разведки выше, и подумайте о вашей нынешней команде тестирования.

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

ЧАСТЬ 2:
Теперь, подумайте о офицере военной разведки, который работает вместе с высокопоставленными генералами армии, и еще раз прочтите определение цели QA разведки, но думайте о работе именно офицера военной разведки.

- Помогло ли вам это определение в понимании целей службы военного разведчика?
- Помогло ли оно вам в понимании приоритетов его работы и в том какие задания и обязательства лежат на его команде?

Вывод:

Во многом цели QA и офицера разведки очень похожи.

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

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

Это не значит, что у нас менее сложное и высокотехническое задание.

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

Вы когда-нибудь видели тестеры, которые используют тактику «контр-разведки ошибки" на примере фразы: "если бы я была ошибка, где бы я пряталась...?» Я знаю, что все мы так делали!

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

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

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

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

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

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

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

Честность и правда
Наконец, я не мог не заметить то, что было написано в девизе в начале статьи и не связать его со словами, которые дали мне Джерри Вайнберг и Джеймс Бах в своих ответах на мои 5 вопросов тестирования.

Девиз говорит:
"... и, прежде всего, целостности, ибо в этом лежит победа".

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

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

И когда Джеймс написал, что помимо основных черт тестер всегда должен иметь:
"... Сильное чувство этики".

Поэтому не стоит недооценивать важность тестирования в процессе разработки программного обеспечения, так как программисты (ударная сила) и тактика (начальство, клиенты) в целом зависят от того, как ситуацию оценивает QA отдел.

Я считаю, автор очень метко привел сравнение этих двух профессий.
А как думаете вы?

Вольный перевод статьи Joel Montvelisky