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

Публикации OVA

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



#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). Так это или нет - решать тому, кто рулит проектом. Нужна ли ему эта информация или нет - так же решать ему.

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



#97364 Выбор средства автоматизации

Отправлено автор: OVA 21 ноября 2011 - 05:53 в Автоматизированное тестирование

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

Без браузера нет JS. Так что палка о двух концах.



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

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

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

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

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

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



#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. В итоге все та же проблема популярности - ортодоксальность, соблюдение ритуалов, а не формы.



#97283 Mind Map

Отправлено автор: OVA 18 ноября 2011 - 03:58 в Тест-дизайн и ручное тестирование

xmind + руки (т.к. хочется часть информации из внешних источников протащить до mindmap'а автоматически)



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

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

Напомню, что примеры успешных компаний были как контрпример к вашему предложению использовать Nokia как пример agile-разработки. Состояние MS связано прежде всего с разработкой и то, что она перешла на agile - свидетельство ее практической оценки этой методологии. А оценка MS - имеет значение.

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

И еще. Разработка ПО - это не "прежде всего Cost Center", тут уже вы начинаете говорить некоторыми баззвордами. Потому как компании разные, и цели - разные.

Состояние MS прежде всего связано с юристами, продажниками, маркетингом и так далее и тому подобное. Bing может научиться читать мои мысли и всегда выдавать то что мне нужно прямо сейчас, но одного этого ему на захват 95% рынка уже не хватит. И мне почему-то кажется что юристы там по утрам в кружочек возле доски не встают.

Успешность != agile. Agile лишь средство оптимизации Cost Center под названием "Разработка ПО". Все. Есть еще средства - называются аутсорсинг, например. Дяденьке, который сидит, скажем, в Лондоне и считает деньги все равно как там аутсорсеры организовали себе производство, пока они обходятся в подходящую ему сумму. Как аутсорсеры будут с этим справляться - отдельная история. Наем местных специалистов по пять копеек пучок пока еще местами работает как успешная экономическая модель. Можно еще лучше - написание "единого школьного портала", например.

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

Есть.
Вот буквально сегодняшнее: http://www.satisfice...og/archives/652
Могу больше и из разных источников. Могу с дискуссией (довольно свежей, кстати) о роли тестирования от руководящих постов в тестировании Google, Facebook, eBay (раз уж вам так нравятся громкие названия) и далее по списку (я эту дискуссию ранее в этом топике уже упоминал, но все почему-то проигнорировали).

Встречные вопросы:
А вы искали?
Вы будете читать?


Это напоминает "После того, как я посмотрел этот дерьмовый детектив - в жизни не буду смотреть детективы. Боевики forever!" На www.satisfice.com автор предлагает различные подходы для организации тестирования уже внутри этой выделеной области. Подходы - разные и наверняка там много полезного. Но рамка - уже задана, он не пишет, чем тестирование отличается от других активностей. Я привел ссылку на документ, отделяющий тестирование от прочих активностей в процессе разработки (их там много). Можно использовать другие определения, если они достаточно распространены. Но это нужно определять, позиция "тестирование - это то, что я считаю тестированием, и оно ортогонально аналитике" - не перспективна.

На www.satisfice.com автор пишет о том чем тестирование отличается от других активностей. Много. Но это уже надо вглубь его статей и презентаций закапываться.

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

Про ортогональность Леше ответил.

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



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

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

Сергей, тебе враги тестирования уже мерещатся всюду :)
Максим указал на то, что в стандартах (которые вроде бы ради всемирного порядка создаются) и то нет согласия относительно такой роли как "аналитик". Вы с Бахом не согласны с этим?

Или может быть ты лично являешься сторонником строгого разделения, чётких должностных инструкций, "тестировщик не имеет права фиксить баги, потому что он не девелопер" и так далее? Что-то я сомневаюсь :)

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

И в то же время указал, что в стандартах вроде как есть согласие на счет того что такое тестировщик. Т.е., есть основание полагать что там вопросов у Максима нет. У меня есть.
Про баги...
Я фиксил баги. Более того, я их на горячую фиксил. Не вижу в этом ничего хорошего. Я это мог делать только потому что для этого хватало моих знаний на тот момент. Если бы проблема была более серьезной, то никак не справился бы. Я фиксил баги в софте для тестирования который сам же писал. Но это другое, потому что это система которую я писал, я знаю зачем она мне нужна и я знаю что там чинить. Фиксить баги в тестируемом софте на регулярной основе? Я боюсь у меня бы тогда времени на тестирование совсем не осталось.
Я не дизайнер. Но у меня есть свое мнение насчет дизайна. Только не думаю что мне стоит заниматься дизайном, т.к. моих знаний на это не хватит. Это не в моей компетенции. А чтобы это стало в моей компетенции мне придется очень долго заниматься тем, что сильно отличается от тестирования. Долго. В итоге получится морская свинка.
Могу про футбол добавить, но это будет уже совсем театр абсурда.

А тестировщик работающих только исходя из своих личных высших стандартов это плохой тестировщик.

Давайте попробуем вот так переформулировать: нужно ли тестировщику "заниматься анализом"? (я намеренно не говорю "работать аналитиком")
Должен ли тестировщик оценивать требования, пытаться понять, всё ли там согласовано и нет ли дыр?
Следует ли тестировщику пытаться соотносить то, что делает программа, с реальными потребностями пользователей, или следует лишь "блюсти букву спецификации" (ибо не дело тестировщика вмешиваться в работу "аналитика")?
Действительно ли это такая уж ортогональная активность? Может всё таки немного параллельная?

Оценивать требования? Да. Все ли согласовано и нет ли там дыр? Arnold's Laws of Documentation вспоминаются. Все не согласуешь. Дыры будут. Надо другой вопрос задавать. Более того - есть люди вообще без документации работающие и ничего.
Соотносить то что делает программа с реальными потребностями пользователей? Опять же в меру. У меня нет потребности в рекламе в гугле. Более того - она меня порой раздражает. Баннеры - одна из причин по которым я не пользуюсь Яндексом, например. У меня опять нет однозначного ответа на этот вопрос. Надо еще вопросы. Мне их задать?

Меня как математика фраза "немного параллельная" вымораживает. Надо другую.

Активность пересекается.
Для составления требований совсем не нужен продукт, но нужна глубокая проработка кучи вопросов. Сам процесс разработки требований тестировщику пользы мало приносит. А вот результат может быть полезен.
Для тестирования нужно хоть что-то. Потому что нельзя тестировать ничто (хотя...). Требования это просто вспомогательный инструмент в тестировании. Причем в ряде случаев можно вообще без них обойтись. Опять же вспоминаем Arnold's Laws of Documentation, Five Orders Of Ignorance и прочее. система до разработки, в процессе и после это зачастую разные сущности. Разные знания. Внутренности готовой системы, выпущенной в мир и работающей, аналитику, для разработки дальнейших требований, нужны в довольно урезанном виде. У тестировщика исследование самой системы по сути основная деятельность.

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



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

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


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

Пруфлинк?

И вообще, с чем именно борется товарищ Бах? Я вижу в Вашей дискуссии с Максимом вот что:
М: Тестирование должно обеспечивать результат для заказчика, а не просто стремиться к "умозрительному высокому качеству"
С: Бах считает иначе, называя стремление обеспечить результат для заказчика ругательным словом "fake testing"

Предполагаю, что просто в пылу спора утрачена логическая связь, давайте постараемся восстановить её.

Пруф на поржать, например: http://www.satisfice...ations/fake.pdf
Там как раз про те тонны стандартов, которые тут maksiq и SALar приводят как то, чем является тестировщик. Про тот сабботаж, который называется в стандартах "perform as specified".

Контрпример это:
"отвечать за пуговицы" и "Который отличен от умозрительно 'высокого качества покрытого тестами продукта'".

Тестировщик не отвечает за качество. Не может никак просто.
С другой стороны maksiq предлагает "обеспечивать результат для заказчика". Увы это тестировщик тоже никак не может сделать, т.к. он не менеджер и фискальные роли по надзору за людьми с пенетрационными функциями не выполняет.

"Приемлемое качество", да, хорошая концепция. Но опять же - тестировщик не обеспечивает его. Его обеспечивает процесс/команда/менеджер принимающий решения.

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



#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 и некоторые другие.

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



#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". По крайней мере оно так выглядит и вы не делаете ничего, чтобы говорить о том что на самом деле, вместо чрезмерного рекламного упрощения.



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

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

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

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



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

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

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

...

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

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

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

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

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



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

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

Сергей, а про совмещение ролей есть что сказать? :)
Или "аналитик" и "тестировщик" тоже признаны баззвордами? :)

Мне заранее не нравится аналитик-тестировщик-внедренец. Собственно аналитик-тестировщик так же вопросы вызывает, но тут все сильно зависит от того что люди понимают под аналитиком (зачастую редкий фарш) и тестировщиком (тут все очень печально, но это тема для другого большого холивара). Но в той формулировке, что обозначена топикстартером все больше похоже на такой термин как "разнорабочий", т.е. девальвация в пол всех трех ролей.
С другой стороны я прекрасно понимаю что роль тестировщика на просторох нашей необъятной зачастую и представляет из себя роль а-ля "разнорабочий" с припиской "по сверке документов с чем-нибудь", например.
С третьей стороны последние месяцы была довольно интересная дискусия касательно прошлого, настоящего и будущего профессии (искать спичи по фамилиям "Harthy-Bjedov-Whittaker-Savoia", Simo-Kaner-Barber-Bach-Bolton по желанию) из которой можно сделать несколько довольно интересных выводов. Часть из них я уже излагал вот тут, например: http://goblingame.bl...og-post_28.html
Бонус: Наши контекстные братья по профессии, например, приводили интересную аналогию со словом "аудитор".



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

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

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

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

Угу. Как пример ведущей компании на agile и ее "успехов" предлагаю взять Nokia. Они до сих пор, кстати, сертифицированных scrum-мастеров набирают. Есть еще Skype, которому MS этот agile засаживает туда куда он привык (и это, о ужас(!), все еще будет называться agile). И обе конторы, о ужас(!), слушали ни много ни мало таких людей как Martin Fowler, например.

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



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

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

2. Критики совмещения ролей -- не стоит демонизировать и Agile тоже, призывая образы "клонов, умеющих всё", потому что в контексте agile речь как правило идёт о кроссфункциональных командах, а не специалистах.
Пруф, пруф, пруф (продолжите сами)

Демонизация Agile в топиках случается сама, когда начинается беседа на баззвордах и процесс ради процесса плавно перерастающий в ортодоксальную мессу.



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

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

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



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

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

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



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

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

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

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



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

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

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



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

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

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

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



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

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

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

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



#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



#96844 Visual studio и Bamboo

Отправлено автор: OVA 10 ноября 2011 - 07:47 в Автоматизированное тестирование

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



#96841 Visual studio и Bamboo

Отправлено автор: OVA 10 ноября 2011 - 07:18 в Автоматизированное тестирование

Говорят да:

http://lmgtfy.com/?q...l studio Bamboo

ЗЫ: Есть в выдаче линки прямо на сайт производителя Bamboo
ЗЗЫ: А вообще что есть автотесты сделанные в VS? VSTSочка?



#96837 Автоматизация мобильного тестирования (iPhone,Android). Нужно ли это в

Отправлено автор: OVA 10 ноября 2011 - 06:02 в Автоматизированное тестирование

Вы пробывали хоть один нормальный инструмент для тестирования мобильного софта за деньги?
Я думаю вряд ли. То что стоит своих денег, с задачей справляется на ура. Тот же m-eux

Пробовали. Под те же Android и iPhone решения ничем не лучше того же Robotium и UI Automation. Хорошо если не хуже (бывают такие, не спорю). Если напишите чем m-eux лучше - будет о чем поспорить. Я пока никаких преимуществ не вижу (поддержка других платформ - ну оооок, но это out of scope).
+ зачастую платное решение предлагает нам делать для автоматики дополнительную сборку с инжектором, что для ряда тестов (потребление ресурсов, тащемта) неприемлимо.

Ваш m-eux фактически пользуется тем же чем пользуется Robotium и тесты с xcode на UI Automation. Зачем мне за это деньги платить? On-Device запуск на Ведроиде только запустили, а для iOS?
Еще одна проблема - ограничения по рабочей среде. Если работаете в MSVS, QTP или Eclipse - ок. Если нет - ой. В том же eclipse я могу и Robotium фигачить. Тестировать iOS не имея мак под рукой - тоже то еще извращение, имхо.
Нерешенная никем проблема - ненативные контролы. Впилите Android Qt приложение без единого нативного контрола на ведроид и попробуйте его автоматизировать через m-eux.
Третье - головняки с интеграцией своих thirdparty решений. Они будут и так и так, платное решение ничем не поможет.

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