Aug. 22nd, 2013 10:51 am
система vs беспорядок
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
У нас есть сотрудник с Украины (из фирмы вендора), он работает отдельно от нас, но при этом всегда успевает в разы больше нас. Он постоянно находит какие-то крутые баги, выискивает хитрые ходы и так далее. Мои сотрудники-чехи решили узнать, как он это делает. Началось обсуждение. И я поняла, что это "наше" беспорядочное ad-hoc тестирование именно того, где вероятнее всего могут быть баги, чехам совершенно непонятно. Они считают, что у того украинца обязательно должна быть система: либо система виртуальных машин, на которых он может за короткое время протестировать много вариантов, либо система тестов, либо какая-то волшебная база данных, где созданы волшебные условия для тестирования. Удивительно, но чехи совершенно не верят, что это может быть просто опыт (о чем мне этот сотрудник не раз говорил) + тестирование практически наугад и знание, где что менялось.
В этой итерации мы попробовали провести регрессионные тесты без плана - примерно так, как это делает этот украинец. В итоге довольно много багов не были замечены. Получается, что чехи просто не созданы для беспорядочного тестирования и вообще работы. Им нужна система, структура, план. Они очень многого таким образом добиваются, но без плана разрастается беспорядок.
И еще я заметила, что один из наших словаков, очень толковый девелопер (к тому же постарше остальных), по методам работы очень похож на этого украинца. Он делает крутые штуки, но порой как раз порядка ему и не хватает.
Не знаю, может ли тут быть золотая середина :)
no subject
Но если чехи не понимаю, как это возможно, то с этим сложнее :)
Добудьте какое-нибудь обучение по exploratory testing, очень многие люди после структурировано поданного материала перестают относиться к ET как к анархии :)))
no subject
Погляжу, что это за exploratory testing, спасибо :)
no subject
В итоге он просто работает над теми задачками, которые можно структурировать и упорядочить и делает он это хорошо и это нужно все команде.
no subject
no subject
no subject
no subject
опыт, опыт, опыт.
почитай про систему принятия патчей в кернел. вкратце (и только то что связано) - я посылаю патч(-и) в какой-то публичный мэлинг лист (считай, на форум), на который многие "монстры" подписаны и читают всё подряд.
так вот, эти монстры (зачастую не помня кода) вылавливают при одном лишь взгляде (даже не применяя сам патч) такие ошибки, что никакой штаб тестеров вовек не найдет. просто опыт - они уже не раз с этим сталкивались, не раз видели как это проявляется, знают где искать, знают слабые стороны итд.
недавно с одним очень пробивным молчелом общался, в брно на конференцию приезжал. в его софтварной фирме они выкатывают проект за проектом за минимальные сроки - которые и не снились никаким стартапам.
говорит что перепробовал очень много методик разработки, и остановился на опыте NT-кернела (почитай про отель и виски, интересное чтиво :) ) - возьмем, как пример, простенький сайт с фронтендом, бэкендом, базой данных.
берется комманда из нескольких человек - один дизайнер ui/ux, один фронтенд-девелопер, один бэкенд-девелопер, один по базам данных, ну и сисадмин. за пару часиков набрасывают, как что где будет работать, без особой детализации (ну а что ещё можно за пару часиков решить :) ). потом берется один монстр на все руки - обычно очень опытный, разносторонний профи, который делает *всё* на хорошем уровне (который, конечно, ниже уровня узких специалистов, но всё же...). объясняется ему проект, и он за пару дней-неделю делает *всё* - и фронтэнд, и бэкенд, и сервера поставит-настроит, и бд распишет и поднимет. всё, конечно, сырое до ужаса, с багами итд. но (кое-как :) ) рабочее. т.е. выкатывает базу всего проекта. и отдает её той комманде профи, что набросала изначальную схему. каждый оттуда материться, но за пару дней доводит *свою* часть до вменяемого состояния - ибо база уже есть, все заимодействия между компонентами продуманы профи (который на этом собаку съел за весь свой опыт) - и вот тебе и первая бета. занимает всё, по опыту, от ТЗ до первой беты, от недели до трех. на достаточно крупный проект. что было бы, если бы проект составляла та комманда, думаю, понятно - за это время только бы примерное описание родилось, а не сам проект :).
так что опыт играет *огромную* роль во всем. очень похоже на образ мышления профессиональных шахматистов - они уже столько партий сыграли за карьеру, что почти любая ситуация у них уже была разыграна и разобрана, и они уже примерно представляют все сильные и слабые стороны, и как дальше ходить :).
no subject
По поводу кернела - интересно, почитаю, спасиб :)
no subject
Ты же пишешь: "это может быть просто опыт (о чем мне этот сотрудник не раз говорил) + тестирование практически наугад и знание, где что менялось.". Начнём с конца. "Знание, где что менялось". Это уже немало! То есть человек сразу наугад тестирует там где нужно. Потом опыт. Ну я не знаю как объяснить, но когда даже я, ни разу не тестировщик, вижу программу, которая делает то-то и то-то, я сразу ожидаю, где может проявиться вот такой, обычно всеми забываемый, баг. Эта система, которую просто тяжело передать другим людям. Потому что где-то это интуиция в том смысле как её Фрейд объяснял, то есть все факты на лицо, но связывает их подсознание, а не сознание; где-то для того, чтобы баг таким образом отловить нужен багаж знаний как у этого гениалного человека и просто научить этому невозможно.
no subject
no subject
no subject
no subject
просто быстро
по плану работать- надоедает. становится скучно, время тянется
сейчас, пока собирается проект на проекте, фиксятся баги на другом, потом я возвращаюсь к собранному, не забывая, на чем закончил педалинг еще в3-4 местах.
не потому что хочется проявить скорость, а потому, что эти полторы минуты ожидания сборки не заполнены ничем
за 12 лет работы, хочется, чтобы работа эта не дай Бог не приелась, не стала чем-то шаблонным, роботизированным
no subject
по поводу нежелания надоедания работы - понимаю :)
no subject
no subject