Про IT

Oct. 18th, 2011 03:59 pm
ksjuh: (Default)
[personal profile] ksjuh
Порвало. Не могу не поделиться.
Источник тут

Многие меня спрашивают: а где ты, Ромик, работаешь? Обычный ответ типа "QA в стартапе" остается непонятым и тогда я впадаю в путанные объяснения о том, что и как делают программисты и зачем это проверяют тестеры. Настала пора собрать все мысли до кучи и поведать, как это происходит.

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

Ver. 1.0
Через некоторое время R&D (грубо говоря, программист), делает первую версию барабана и отправляет ее в QA (грубо говоря, тестировщику).
QA: Барабан не работает. То есть вообще. Ни одного звука. Кроме того, его неудобно держать, необходим ремешок.
R&D: Ну да, он не работает потому, что мы пока что не дали к нему колотушку. Ждите патч. А ремня в заказе не было. Напишите дополнительное требование и будет вам ремень.

Ver. 1.1
QA: Барабан все равно не работает. При ударе колотушкой звук не раздается.
R&D: Ну да, мы забыли встроить туда кожанную мембрану. Отдайте пока что пользователю так, как есть.
Юзер обращается в техподдержку: Я получил барабан, но с ним совершенно невозможно работать. Он не издает ни звука.
ТП (не тупая пизда, а техподдержка): Да, это известная проблема, над ней сейчас работают. В следующей версии вы получите полностью работоспособный барабан и кроме того удобный ремешок из чистой кожи!
Юзер: Но что с ним делать сейчас?
У техподдержки нет ответа на этот вопрос, поэтому они обращаются в QA, те обращаются к программистам, программисты, в свою очередь, обращаются в маркетинговый отдел, который направляет пользователю примерно такой ответ:
Маркетинг: Пока что вы можете повесить обод от барабана на шею и проводить рекламную кампанию среди ваших потенциальных клиентов.

Ver. 1.2
QA получает от девелоперов ремешок и мембрану, при тестировании барабан гремит, но кошки так и не появляются.
R&D: Сигнал от нас исходит? Исходит. Значит проблема на той стороне. Свяжитесь со складом кошек, может быть они изменили протокол. А пока что передайте пользователю кожу и ремешок. Пока он будет устанавливать, мы все починим.
Юзер получает по почте ремень и мембрану для барабана, но понятия не имеет, что с этим всем делать, поэтому обращается в ТП. Те по телефону его подробно инструктируют, заодно пишут дополнительное требование к продукту - возможность автоматической установки патчей. Пока пользователь разбирается с устройством, пока выясняет, что барабан хоть и звучит, но кошек не добывает, связь с поставщиком кошек налажена и юзер получает от маркетинга письмо с предложением выкинуть предыдущую версию барабана и получить на почте новую-кленовую, с исправлением старых ошибок (и внесением новых) и возможностью автоматического апдейта.


Ver. 1.3
В это время QA выясняет, что кошки хоть и идут на звук барабана, но не селективно, а все подряд. R&D отвечает, что необходимо встроить фильтр, а пока что пользователь может производить селекцию вручную. Когда фильтр сделан и новая версия автоматически установлена на барабан пользователя, выясняется, что по ошибке в фильтр вставили условие пропускать только котов.

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

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

Ver. 2.0
Когда все исправлено, все работает и все довольны, на барабан приходит автоматическое обновление и он превращается в барабан для стиральной машины. Пользователь звонит в техподдержку и ему объясняют, что барабан для кошек - это старая версия, которая уже не поддерживается. И нет, даунгрейд сделать невозможно. Но зато в следующей версии мы подключим к барабану воду и слив и вы сможете стирать. Нет, стиральная машина пока что в разработке, но вы можете крутить барабан вручную. Спасибо, что обратились в нашу компанию. Мы надеемся на плодотворное сотрудничество!

Profile

ksjuh: (Default)
ksjuh

November 2011

S M T W T F S
  12 345
6789 101112
13 141516171819
2021 222324 2526
27282930   

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2017 05:41 pm
Powered by Dreamwidth Studios