Перейти к содержимому

Публикации OVA

162 публикаций создано OVA (учитываются публикации только с 06 мая 2023)



#89275 Нагрузочное тестирование в Яндексе

Отправлено автор: OVA 30 мая 2011 - 03:46 в Тестирование производительности

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

Я понимаю что вопросов сильно меньше не станет, но в меру ленивому мне было бы удобно. Ну а в целом для ознакомления публики, т.к. очень круто искать когда ты знаешь что искать тебе надо, но я готов поспорить что вопросы по прошлогоднему докладу из Ебурга про мяско просто так далеко не всем в голову придут.



#87406 Нагрузочное тестирование в Яндексе

Отправлено автор: OVA 21 апреля 2011 - 17:21 в Тестирование производительности

3. Какой интервал берете при сборе показателей системы - 1сек, 5сек, etc. Например как часто следует мониторить утилизацию диска. Ведь если брать интервал в 1 сек, то например за 10 часов будет такое кол-во данных что график либо не отрисуется, либо будет сильно лагать.

10 часов по секунде это всего 36к кортежей, если все в одну кучу. Ну если расстараться то больше, но линейно и не сильно, почти наверняка. Это плюш, честно.
К тому же 10 часов на один тест это совсем не торт. Много такого редко надо. А после прогона можно результаты и обработать как следует.

зы: для анализа еще матмоды ок.



#88998 Нагрузочное тестирование в Яндексе

Отправлено автор: OVA 26 мая 2011 - 03:19 в Тестирование производительности

Андрей, кстати, было бы круто если бы кто-нибудь (например ты %)) собрал все эти материалы в одном месте и еще чтобы с камментами, картинками, линкой на то чтобы скачать лунапарк и все такое)



#96832 Разновидности тестирования.

Отправлено автор: OVA 10 ноября 2011 - 03:50 в Про тестирование обо всём подряд

ручное нагрузочное тестирование

Совершенно нормальное и часто применяемое тестирование. Именно ручное, именно нагрузочное.

Я жажду подробностей этого извращения.



#96860 Разновидности тестирования.

Отправлено автор: OVA 10 ноября 2011 - 11:28 в Про тестирование обо всём подряд



ручное нагрузочное тестирование

Совершенно нормальное и часто применяемое тестирование. Именно ручное, именно нагрузочное.

Я жажду подробностей этого извращения.

http://webest.net/2006/06/22/professionalnyiy-minet-ot-5-u-e.php

Это где-то очнь далеко от тестирования. Но вообще можно и как фб делать - нагрузки сразу на живых пользователях проверять.
Главное чтобы мозг рака вот до такого не добрался (а необремененный знаниями и перенасыщенный терминами мозг может): http://loadstorm.com.../happy-new-year



#96866 Разновидности тестирования.

Отправлено автор: OVA 10 ноября 2011 - 11:40 в Про тестирование обо всём подряд

Виды контроля качества должны выбираться исходя не из типа ПО, а в первую очередь из уровня культуры разработки в компании. Во вторую очередь исходя из заранее заданных требований к атрибутам качества ПО. А веб там или не веб - дело 100500-ое. "Там где моют руки - там все нормально."

Я боюсь все еще сложнее и волшебный ответ как всегда - "there is no silver bullet for this problem".
Опять же - "контроль качества" это странная фикция, просто потому что "Там где моют руки - там все нормально", например. С другой стороны, "качество" это субъективное понятие и активность тестировщика по выявлению нужных субъектов и выявлению их же нужд она +/- всегда нужна. Опять же - опеределение атрибутов качества которые нас интересуют вопрос зачастую вполне обсуждаемый: http://thetesteye.co...acteristics.pdf



#96787 Разновидности тестирования.

Отправлено автор: OVA 08 ноября 2011 - 17:50 в Про тестирование обо всём подряд

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

Если бы все было так просто... Бета-тестирование белого ящика это конечно хорошо. Ровно как и приемочные тесты которые никогда и низачто не могут быть регрессионными (ручное нагрузочное тестирование обоземойнекраудсорсинг). От таких выводов приходится потом санитарию голов делать.

Хотя может оно лучше так чем вообще никак. Я подумаю над этим. Это концентрация на терминах хороша только в меру.



#96890 Разновидности тестирования.

Отправлено автор: OVA 10 ноября 2011 - 16:05 в Про тестирование обо всём подряд

Это уже BDD какой-то получается. В любом случае и те и те проверки стоит скорее называть "rejection checks" а не "acceptance tests", как это принято. По смыслу корректнее получится. И в любом случае это все еще недостаточные процедуры.



#96714 Разновидности тестирования.

Отправлено автор: OVA 07 ноября 2011 - 15:23 в Про тестирование обо всём подряд


1. Гугль все еще не переплюнут.

По ссылке - нет разбивки по классификационным признакам. Получилась каша.

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



#96662 Разновидности тестирования.

Отправлено автор: OVA 06 ноября 2011 - 16:05 в Про тестирование обо всём подряд

Я не уверен что пытаться собрать и упорядочить over 9000 терминов это хороший способ что-то понять.



#96660 Разновидности тестирования.

Отправлено автор: OVA 06 ноября 2011 - 14:46 в Про тестирование обо всём подряд

Тестирование скорости и надежности (load/stress/performance testing)
Тестирование опыта пользователя (usability testing)

Таки не скорости и надежности и не опыта пользователя (который вообще UX).

Но вообще:
1. Гугль все еще не переплюнут.
2. "Общество без цветовой дифференциации штанов не имеет цели. А если нет цели - нет будущего" (с). Вопрос цели все еще не понятен.



#96666 Разновидности тестирования.

Отправлено автор: OVA 06 ноября 2011 - 18:21 в Про тестирование обо всём подряд

Я говорю что не уверен что это хороший метод. Все.

Ну то есть это примерно как начинать учить математику с изучения всей имеющейся там терминологии. Терминологию освоить может и поможет. Понять как оно работает - нет. А скорее всего только бардак в голове усилит.



#97361 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 21 ноября 2011 - 05:31 в Портал Software-Testing.Ru

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

Я к тому что напрямую разработка денег не приносит, т.к. сама себя она не продает.
Касательно agile в MS и теперь уже в Skype у меня есть свое весьма предвзятое мнение сложившееся на инсайдерской информации. Если коротко - оно крайне негативное и вашего воодушевление я не разделяю. У них очень много тяжелого наследия, которое в организациях такого масштаба очень сложно преодолеть. Это касается не только процессов, но и легасевого кода и т.п.

Нет. Agile вовсе не "лишь средство оптимизации". Agile - он многоцелевого назначения. Что существенно, он позволяет одновременно поднять удовлетворенность работой у разработчиков (в широком смысле) и поднять удовлетворенность заказчика и это работает вдолгую. Естественно, возможны варианты - как с применением любого сложного инструмента. А еще - многим заказчикам вовсе не все равно, что происходит у аутсорсера. Я лично начал серьезно смотреть на scrum после того как на одной из конференций услышал от нескольких компаний аутсорсеров, что они начали применять этот процесс по требованию западного заказчика. Что, конечно, не исключает других заказчиков и другие подходы.

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

Указанную ссылку - прочитал. Изложенную там позицию - вполне понимаю. Теперь о том, как оцениваю. Есть набор проектов для которых такой тестировщик - необходим, он будет востребован и будет достойно работать. Это - высокотехнологичная сложная разработка для массового заказчика или для высокорисковой области, где за такого специалиста согласны платить и где очень важна надежность. По моим наблюдениям, доля таких проектов из всего множества проектов неуклонно уменьшается, хотя никогда не сойдет на нет. Причина, на мой взгляд, в том что такой процесс не дольше, так как требует более тщательных постановок (без них тестировщик не поймет, что тестировать), а это - время выпуска. А еще - успехи средств автоматического тестирования. Соответственно, возникает вопрос: а за пределами этого сегмента - что? Полная кроссфункциональность, с которой начинал agile - не сложилась. Я знаю о различных вариантах, и рассказываю о том, который работает у нас - поскольку его знаю изнутри и в подробностях.

Ну нет. Barclays считает, что это работает более чем (их собственно Satisfice Inc. и консультировали на тему тестирования). Thoughtworks по аналогичным принципам аутсорсят сами и предоставляют услуги по консалтингу. Список их клиентов можно посмотреть на сайте. Moolya testing работают по тем же принципам, причем аутсорсят именно тестирование. Вышли в плюс в первый же год своего существования. Я могу еще продолжать долго, вы только скажите когда остановиться :)

Вот, кстати, хорошие примеры в живую и с картинками:

Возможно это то, что вы называете тестировщик + аналитик. Возможно нет.

Про средства автоматического тестирования отдельная история. Можно посмотреть keynote от Julian Harthy на PNSQC 2011, там весьма подробно область применимости изложена. Она достаточно узкая. То что многие пытаются заменить автоматическим тестированием вообще все, это, по моему опыту, от непонимания возможностей этих средств и целей тестирования в принципе. А как писал Jerry Weinberg - "лучше никакого тестирования, чем плохое".

Конкретно Google, Facebook, eBay в разрезе тестирования - мне не слишком интересны. Потому как это сильно другой сегмент отрасли, чем тот в котором я работаю. А на общем уровне представление об устройстве в таких крупных компаниях - у меня есть - из общения на конференциях и прочее. Читать интересные вещи - я буду, правда они будут конкурировать с другими, не менее интересными вещами - технологическими. аналитическими и прочими.

О, тогда предлагаю начать с просмотра keynote "Testing is dead" с GTAC 2011, keynote Whittaker'а с аналогичными предпосылками с STARWest 2011, keynote от Julian Harthy на PNSQC 2011 "The Future of Quality". Потом поискать дискуссии на эту тему. Понятно, что это разные школы тестирования, там разные подходы. На мой взгляд это как раз хорошо, потому как вопрос освещают со многих сторон сразу и очень хорошо видно, что несмотря на разницу в подходах

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

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

Тут я согласен. Вообще самое большое достижение agile в моем понимании - он поставил крест на стандартном unify process, даже в варианте "выберите нужное". Но есть другие стандарты, таксономии - в которых люди договариваются о терминах, например, проводят границы между деятельностями. Они - полезны, чтобы называть одним словом одинаковые вещи, а разные вещи - разными.

Да, но в то же время все те же люди теперь стараются сделать ортодоксальный Agile, что само по себе плохо. Это явление в последних статьях от авторов Agile Manifesto принято называть Agile Slaves. В итоге все та же проблема популярности - ортодоксальность, соблюдение ритуалов, а не формы.



#97363 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 21 ноября 2011 - 05:49 в Портал Software-Testing.Ru

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

Первое и самое главное - это "их число все увеличивается" это ваше субьективное мнение или у вас есть хорошая такая статистика с указанием источников и так далее?

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

Третье - это все, как я понимаю, про аутсорсинг?



#97464 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 22 ноября 2011 - 11:26 в Портал Software-Testing.Ru

Воооот.

Называть то что в MS agile можно только с очень большой натяжкой. Да, они о нем говорят, но то, что у них сейчас есть очень далеко от agile manifesto и нет никаких оснований полагать, что там все быстро-быстро утрясется.
При этом есть основания полагать, что с MS как и в Nokia тяготеют к ортодоксальному agile с сертифицированными скрам мастерами и прочими ритуалами. Просто потому что крупным организациям с сертификатами работать проще.
Считать что Agile шагает по миру семимильными шагами можно, но насколько семимильными никто из нас не знает. Никто не знает сколько особо ортодоксального Agile, сколько действительно гибких контор. Т.е. то что есть тренд отрицать трудно. Качество его выхлопа оценить практически невозможно. Общение на конференциях, увы, не столько показатель качества выхлопа, сколько показатель тренда. Т.к. между трендом и реальностью может существовать огромный разрыв, масштабы которого оценить не представляется возможным.

Промежуточный вывод у меня как и прежде:
1. Говорят много
2. Говорят практически все
3. У кого-то действительно работает и очень похоже на agile как оно и задумывалось
4. Никаких других выводов касательно КПД перевода количества разговоров в качество процесса мы сделать не можем, т.к. нужных данных нет и ближайшее время не предвидится. Т.е. ставить равенство между словами "agile" и "успешность" по меньшей мере спекуляция

Собственно то, о чем я с самого начала и говорил.



Теперь про тестирование.

Автоматические тесты хороши для одной цели - повышение продуктивности. unit->api->gui Тесты это стандартная пищевая цепочка, которая в купе с нормально поставленной работой с CI позволяет на выходе получить более качественный код. Меньше будет тратиться времени на неработающие билды и билда, где почти вся функциональность заблокирована. Экономия налицо, как говорится: "If you think test-first is expensive, try debug-later".
Второй полезный тренд, это вещи типа Continuous Deployment/Delivery + модные на западе (и еще не очень докатившиеся до нас) DevOps. Там очень много практик по раннему обнаружению дефекта не только через тесты, но и через нормальные логи, мониторинги, обработку ошибок и все то, что раньше называлось словом Testability. Обнаружению в том числе на продакшене, т.к. для ряда компаний типа Google это оправданное поведение. Им дешевле чинить баги по мере обнаружения их пользователем.

Это все отличная практика, позволяющая практически избавиться от того тестирования, которое в context-driven school принято называть словом "checking". Т.е. сверка того, что по заявленным сценариям приложение работает, что соответствие требованиям соблюдено (тут я люблю приводить в пример итальянскую забастовку).

Они хороши, когда мы прекрасно понимаем с чем имеем дело. Т.е. делаем все это правильно. Как делать правильно? Это найти очень сложно. Об этом практически нигде не говорят и не пишут. Пишут о том как сделать миллиарды тестов в секунду в облачную пустоту. Это технически не очень трудно, кстати.
Одно из проявлений проблем связанных с непониманием цели и области применения автоматических проверок - Automation Bias. Почитать можно тут: http://citeseerx.ist...p=rep1&type=pdf
Это проблема не только автоматических тестов. Поэтому в Штатах, например, есть целые институты, которые ею занимаются.

Для того чтобы избегать этого и многих других рисков и нужны тестировщики (согласно context-driven school, опять же). Так как для решения проблем Automation Bias, например, нужны люди понимающие все риски автоматических экспериментов, то чего они показывают и что нужно еще проверять. Нужны люди, которые будут заниматься дизайном автоматических тестов (не той детской шалостью под названием "комбинаторные методы", а реальным дизайном). Нужны эксперименты, которые полностью автоматически провести никак нет возможности.

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

В том же нагрузочном тестирование постановка теста и прогон его занимают довольно мало времени (спросите граждан из Яндекса, они про это часто рассказывают), а вот анализ результатов и всякий performance tuning - существенно больше. Делать его автоматически не получится, увы.


Если вы считаете, что у вас нет никаких рисков, которые вы не можете выявить автоматическими проверками, то вам эти эксперименты не понадобятся. Тогда вам не понадобится тестировщик, который будет ставить несколько более сложные эксперименты и проводить исследования (о том какие это могут быть исследования можно поговорить отдельно, но коротко наброшу еще - ux testing, security testing). Так это или нет - решать тому, кто рулит проектом. Нужна ли ему эта информация или нет - так же решать ему.

Это, в кратце, то что я понимаю под тестированием. Сверка продукта с требованиями по заранее заготовленному чеклисту это не тестирование.



#97221 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 17 ноября 2011 - 10:39 в Портал Software-Testing.Ru

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

Простите, но вот то что вы привели как контрпример это и есть тот самый пресловутый fake testing по James Marcus Bach (уже больше десяти лет с этим вредным явлением борется). Это вообще не совсем то, чем тестирование должно заниматься.

Если же брать мировой опыт, то, например, SFIA выделяет тестировщика как 45 TEST - Testing: The concurrent lifecycle process of engineering, using and maintaining testware (test cases, test scripts, test reports, test plans, etc) to measure and improve the quality of the software being tested. Testing embraces the planning, design, management, execution and reporting of tests, using appropriate testing tools and techniques and conforming to agreed standards (such as ISO 29119), to ensure that new and amended systems, configurations, packages, or services, together with any interfaces, perform as specified.

Простите, но после того как я увидел IEEE 1044 я эти ваши стандарты читать серьезно уже не могу. Почитайте www.satisfice.com (а лучше сразу Jerry Weinberg "Perfect Software And Other Illusions About Testing"), мне такой мировой опыт сильно ближе чем тот удаленный от реальности бред, что пишут в стандартах.

А вот единого аналитика там нет, вместо этого имеем 36 DTAN - Data analysis, 37 REQM - Requirements definition and management, 32 BSMO - Business modelling, 38 DESN - Systems design, 40 DBDS - Database/repository design и некоторые другие.

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



#97892 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 29 ноября 2011 - 06:58 в Портал Software-Testing.Ru

В таком ключе анализ можно притянуть практически к любой деятельности. Вопрос простой - зачем плодить лишние сущности?

Тестирование на выполнение требований != тестирование. Подмножество да, но довольно небольшое и далеко не всегда обязательное. И ограничивать тестировщика тестированием на выполнение требований действительно не стоит, потому что в итоге получается вот такое:

Мы должны проверить, что продукт удовлетворяет тому, что заявлено в требованиях.


Я же считаю что тестирование это скорее вот так:

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


Выявление потенциальных проблем (или их отсутствия) и есть работа тестировщика. Предоставление достаточно полной информации о проблемах тем, кто будет оценивать сопутствующие риски.
Есть требования, есть неявные требования, которых никогда нигде не будет, но которые можно выявить. Аналитик не может написать неявные требования чисто физически.
Есть заказчик. Есть пользователь. Это далеко не всегда одни и те же лица. Более того, хороший продукт это далеко не все множество того чем доволен заказчик. К тому же есть другие лица, которые так или иначе важны для продукта (для детских игр пользователи это дети, но родители так же весьма важны для создателей программы). Их выявление это так же активность тестировщика. Общение со всеми ними зачастую невозможно, а в общении во многом и заключается работа аналитика составляющего требования. Аналитик это зачастую своего рода агент бизнеса, агент заказчика. Это уже небольшое противоречие.
Grounded Theory во многом похожа на тот подход, который приходится использовать. Поиск информации из различных источников и попытки выявлять в собранных данных шаблоны, потенциальные проблемы и просто интересные наблюдения.
Failure Models, цели бизнеса, данные, готовый код, используемые технологии, результаты предыдущих тестов характеристики качества и многое другое - это объекты с которыми приходится работать. Они частично пересекаются с объектами с которыми приходится работать аналитику при составлении требований, но пересечение далеко не полное.
Характеристики качества от продукта к продукту могут меняться. Есть внутренние характеристики качества, до которых аналитику, как правило, нет дела и работа над которыми может вестись только при наличии готового продукта.

Это все тестирование. Не вижу чем оно ограничивает. Там очень много работы.



А вот это мне просто не нравится:

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

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



#98074 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 02 декабря 2011 - 04:00 в Портал Software-Testing.Ru

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

Я, возможно, опять покажусь занудой, но у меня magic numbers всегда вызывают подозрения.
"Для решения сложных задач" звучит как "среднее по больнице". Я видел команды меньше (больше, кстати, редко видел) и им всего хватало. Не назвал бы их задачи простыми. Для разных задач нужны разные наборы специализаций.
Мне в свое время довелось работать в команде, размер которой менялся от 2 до 8 человек на разных стадиях проекта. Это работало. Более того - ничего страшного в этом небыло, т.к. объемы работ менялись время от времени, а в компании производили продукты такие, что переключение с одного на другой много времени не занимало.
В достаточно больших проектах опять же приходится разбивать работы по проекту на несколько комнд.
Кстати, в командах с руководителями я не работал уже года четыре как.

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

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

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

ЗЫ: Кстати, в фазу тестирования я уже давно не верю. Но это отдельный разговор.



#97048 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 14 ноября 2011 - 15:28 в Портал Software-Testing.Ru

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

...

PS. Да еще момент. Тестировщик также не выберется из "начинающих", если не будет качать скилы в смежной профессии. И наиболее перспективно не кодирование, а системный анализ. Впрочем, проектирование GUI тоже очень перспективно.

А аналитик это что?
Человек который пишет требования? Простите, но тестировщик который пишет требования это оксюморон. Напоминает "знаешь, а ведь были какие-то причины, по которым программисты не делают дизайн графического интерфейса" (с)
Человек который рисует флоучарты, юз-кейсы и прочие описания вплоть до архитектуры системы? См. предыдущий пункт. К тому же надо различать use case/scenario и test case/scenario.

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

И про "начинающих" подробнее можно? Какие смежные навыки кровь из носа нужны тестировщику?

ЗЫ: "scoup" это почти по Фрейду получается.



#96898 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 11 ноября 2011 - 04:25 в Портал Software-Testing.Ru

mea culpa. Не привык я к этому канцеляриту.

ЗЫ: Но вообще читаю 34.602 и то-ли там рудиментов много, то ли еще что. Почему так часто слово "общесоюзный"? Что оно означает в 2011-м году? И таки оттуда явно не стоит проецировать все на любоую разработку ПО.



#96889 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 10 ноября 2011 - 16:04 в Портал Software-Testing.Ru

Так может чаще к ГОСТам отсылать? :good:

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



#96953 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 12 ноября 2011 - 13:15 в Портал Software-Testing.Ru

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



#96977 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 13 ноября 2011 - 16:58 в Портал Software-Testing.Ru

Agile slaves как они есть, короче.



#97050 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 14 ноября 2011 - 15:35 в Портал Software-Testing.Ru

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

Если вместо недоаналитика и недотестировщика взять просто двух нормальных спецов, то получится еще лучше, я думаю.
Про трудозатраты и объем работ я не понял, ровно как и про то откуда взялись лишние программисты (не будем их кодировщиками называть, ладно?) в проекте.



#97217 Максим Цепков: Аналитик и Тестировщик в одном лице – путь к качеству

Отправлено автор: OVA 17 ноября 2011 - 10:25 в Портал Software-Testing.Ru

Текущее состояние Nokia в принципе не связано с разработкой ПО, там работают другие, макроэкономические причины. Если вам нужен успешный пример для флейма, можно взять MS, который перешел на agile - естественно, оригинальный, но на то agile и гибкий. Или внутреннюю разработку Дойча, также использующую agile для достижения вполне конкретных результатов. Skype, кстати, тоже вполне успешен. Контекст предложения про Мартина Фаулера я не понял.

Текущее состояние MS тоже напрямую с разработкой ПО никак не связано, потому что разработка ПО это, как ни крути, Cost Center. Те или иные методики могут помочь снизить затраты напрямую или косвенно, а могут не помочь. Но оно как было Cost Center так и останется. Можно взять, например SAP. Он не успешный? Я думаю вполне успешный. Или Oracle.

Я видел как продают за сумасшедшие деньги (удачно, с хорошим таким ростом продаж) плохой софт, разработанный по RUP. И видел как уходят вникуда agile-стартапы. Корелляция "успешности" того или иного продукта и "agile" для меня мягко говоря не очевидна (там все сложнее, чем просто знак "="). А то что вы пишите это как раз попытка сделать "успешность=agile". По крайней мере оно так выглядит и вы не делаете ничего, чтобы говорить о том что на самом деле, вместо чрезмерного рекламного упрощения.