tag:blogger.com,1999:blog-29155752093771839302024-03-06T12:00:12.429-08:00Юля НечаеваМеня ничего не интересует... кроме органики, неорганики и вакуума (с)Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.comBlogger57125tag:blogger.com,1999:blog-2915575209377183930.post-64299007783812624312014-01-29T06:39:00.000-08:002014-01-29T06:39:48.186-08:00Книга «How Google Tests Software» теперь на русском! <div style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<br /></div>
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: Arial; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
Полтора года назад, когда вышла книга «<a href="http://www.amazon.com/Google-Tests-Software-James-Whittaker/dp/0321803027/" target="_blank">How Google Tests Software</a>», я загорелась перевести ее на русский язык. Я давно восхищаюсь Уиттакером, я<a href="http://jnechaeva.blogspot.ru/search/label/whittaker" target="_blank"> переводила его статьи</a>, слушала мастер-классы и считаю его самым крутым чуваком в мировом тестировании. Тогда я еще работала руководителем отдела тестирования в «Иннове», и компания поддержала мой проект.</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
С тех пор многое поменялось: я перестала заниматься тестированием, выпускала приложения для iOS, сейчас работаю продакт-менеджером большого веб-проекта. Уиттакер же еще в 2012 году ушел из Google в Microsoft, <a href="http://habrahabr.ru/post/140656/" target="_blank">громко хлопнув дверью</a>.
</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Несмотря на все это, весь прошлый год я работала над книгой: договаривалась с издательством, пыталась организовать группу добровольцев для перевода текста (не получилось), искала переводчика, помогала переводить и редактировала текст, работала с дизайнерами над макетом и обложкой, утверждала корректуру и сверстанные макеты. Проект занял <i>намного </i>больше сил и времени, чем я рассчитывала, но результатом я осталась довольна.
</div>
<div style="font-family: Arial;">
<br /></div>
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
<br />
<div style="font-family: Arial;">
И вот, в январе издательство «Питер» выпустило книгу на русском языке с нашим переводом и дизайном:</div>
<div style="font-family: Arial;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifzva1k8yBg9TXr04YAvq9Le4INh5hr0OcqR4TuY3bx-JEordIjxe9lPFA5nXrvHR1EfyI_Tpy2l_kOvToyyyNZZ-Y8GRl1ubcpVczbx6_6Je6E_0sm2J9tH95lf0EYRNA7JW78xyLYoxV/s1600/book.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifzva1k8yBg9TXr04YAvq9Le4INh5hr0OcqR4TuY3bx-JEordIjxe9lPFA5nXrvHR1EfyI_Tpy2l_kOvToyyyNZZ-Y8GRl1ubcpVczbx6_6Je6E_0sm2J9tH95lf0EYRNA7JW78xyLYoxV/s1600/book.jpg" height="497" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<i>
</i></div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Книга уже <a href="http://www.ozon.ru/context/detail/id/24868052/" target="_blank">продается на на Озоне</a>, а еще ее можно <a href="http://books.piter.com/product/kak-testiruyut-v-google" target="_blank">скачать в электронном виде за 99 рублей</a> (<i>спасибо издательству Питер, что оно пошло нам навстречу с ценой</i>).</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Я хотела сделать книгу такой, чтобы мне <i>самой </i>захотелось прочитать ее. Обложку нарисовал Макс Дегтярев — <a href="http://5_14_1.livejournal.com/" target="_blank">его иллюстрации</a> всегда хочется рассматривать. (Большинство книг про тестирование оформлены битами и байтами, автоматизация изображена в виде робота, а баги — в виде жуков. Рассматривать не хочется.)
</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Мы не стали придумывать мифические аналоги словам «фреймворк», «коммит», «баг» и «фича». Как говорим — так и пишем. В книге разработчики и тестировщики Google рассказывают о своей работе так, как будто сидят напротив. Мы постарались сохранить это ощущение.
</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Самое крутое в этой книге то, что она на самом деле не про тестирование. Она про разработку, про процессы, про найм людей, про стратегию компании, про ответственность, про любовь к делу, про результат, к которому нужно стремиться. Про то, что одним тестированием качества не добьешься. Авторы рассказывают про свой путь, не стесняясь ошибок и делясь результатами. Книгу нужно читать и тестировщикам, и разработчикам, и менеджерам — потому что красить слона нужно со всех сторон.
</div>
<div style="font-family: Arial;">
<br /></div>
<div style="font-family: Arial;">
Этот проект очень личный для меня. Я считаю его своей лебединой песней в тестировании. Спасибо «Иннове», что проект состоялся. Лучшим результатом для меня будет, если в как можно большем количестве команд разработки начнут «тестировать, как в Google», грамотно применяя принципы к своему контексту.
</div>
<div style="font-family: Arial;">
<br /></div>
<span style="font-family: Arial;">Небольшой анонс: мы подарим книгу всем участникам конференции <a href="http://agiledays.ru/" target="_blank">Agile Days</a>. Читайте, загорайтесь и делайте свою разработку круче! </span>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com3tag:blogger.com,1999:blog-2915575209377183930.post-82104038240243365462012-06-20T04:26:00.001-07:002012-06-20T04:36:30.049-07:00Тестирование должно добавлять ценностьВ конце марта выступала на крутейшей IT-конференции в Новосибирске - <a href="http://codefest.ru/program/2012-03/testing-must-create-value/">CodeFest</a>, рассказывала, что тестирование должно создавать ценность, а не просто давать оценку качеству.<br />
<br />
В доказательство выступления - презентация и видео.<br />
<br />
За доказательством подхода - приходите к нам, расскажем и покажем, что это работает. И, кстати, <a href="http://jnechaeva.blogspot.com/2012/04/blog-post_20.html">нам нужна помощь!</a><br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/YDoIXvEztGA" width="560"></iframe>
<br />
<div class="prezi-player">
<style media="screen" type="text/css">
.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }
</style><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="400" id="prezi_jfge50dqrvhb" name="prezi_jfge50dqrvhb" width="550"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/>
<param name="allowfullscreen" value="true"/>
<param name="allowFullScreenInteractive" value="true"/>
<param name="allowscriptaccess" value="always"/>
<param name="bgcolor" value="#ffffff"/>
<param name="flashvars" value="prezi_id=jfge50dqrvhb&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"/>
<embed id="preziEmbed_jfge50dqrvhb" name="preziEmbed_jfge50dqrvhb" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowFullScreenInteractive="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=jfge50dqrvhb&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"></embed></object><br />
<div class="prezi-player-links">
<a href="http://prezi.com/jfge50dqrvhb/presentation/" title="Тестирование как инструмент оценки – в прошлом. Тестирование должно создавать ценность.">Тестирование как инструмент оценки – в прошлом. Тестирование должно создавать ценность.</a> on <a href="http://prezi.com/">Prezi</a></div>
</div>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com3tag:blogger.com,1999:blog-2915575209377183930.post-69023091618540260562012-04-20T05:46:00.000-07:002012-04-20T05:46:33.891-07:00Крутое тестирование - это что?Конечно же, это предоставление информации - максимально полно, максимально быстро, эффективным путем.<br />
<br />
Дальше должен происходить анализ информации о багах и проблемах, и выявление причин возникновения проблем.<br />
<br />
После этого следует исследование области решений проблем, выбор лучшего и постановка задачи на решение.<br />
<br />
И просто обязательно - владение задачами на решение проблем, помощь и требовательность, драйвинг и в конечном итоге решение проблемы. Часто не своими собственными силами.<br />
<br />
Это разработка решений. Это переход на уровень влияния на качество и обеспечения его.<br />
<br />
Я уверена, что обеспечение качества должно вырасти из тестирования, а не быть инициативой руководства и внедряться сверху.<br />
<br />
Чтобы этого добиться, нужны условия:<br />
<br />
Чтобы компания была заинтересована в повышении качества своих продуктов и была настроена на предвосхищение ожиданий пользователей. Тогда снимаются все ограничения на этом пути: инициативы поддерживаются (если они разумны), ресурсы выделяются (если они обоснованы), усилия ценятся (если они искренни).<br />
<br />
Чтобы команда состояла из людей, которым постоянно мало текущего уровня, требовательных к самим себе, к своей работе и к другим. Это люди, которые жадно и быстро учатся, в том числе друг у друга.<br />
<br />
Чтобы цели компании и команды совпадали. Это может быть - "стать лучшими на рынке или в отрасли", это может быть - "создавать продукты или решения, которыми пользуются люди", это может быть - "внесение инноваций в существующую отрасль".<br />
<br />
Работая именно в таких условиях, я могу сказать, что это трудно. Очень трудно. Но это постоянное движение с командой вперед и вверх, и мы не позволяем друг другу останавливаться.<br />
<br />
Мы ищем людей, которые горят этим же. Мы ищем людей, стремящихся влиять на качество продуктов, которыми пользуются люди, и готовых учиться для этого. Вы можете поделиться с нами своими знаниями и наработками. Вы можете прийти к нам, чтобы научиться этому. Вы можете прийти к нам, чтобы найти направление своего развития или сменить его. Единственное, пожалуй, о чем мы вас попросим, это никогда не останавливаться.<br />
<br />
Нам сейчас нужен <a href="http://moikrug.ru/vacancies/129928214/">ведущий тестировщик-аналитик</a> и <a href="http://moikrug.ru/vacancies/045537851/">инженер по автоматизированому тестированию</a>.<br />
<br />
Ждем вас, если вы думаете в эту же сторону!<br />
<br />
Писать можно мне yulia.nechayeva AT inn.ru, можно на vacancy AT inn.ruJulia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com0tag:blogger.com,1999:blog-2915575209377183930.post-656917238524103302012-04-20T03:51:00.004-07:002012-04-20T03:56:11.238-07:00Повышение качества со стороны тестированияНа конференции <a href="http://msk12.agiledays.ru/">AgileDays </a> мы с моей коллегой Наташей Курашкиной рассказывали про то, как тестирование может влиять на качество, и почему мы думаем, что оно должно это делать.<br />
<br />
Создавать среду, в которой ошибиться труднее, чем сделать правильно, - вот задача тестирования. Только так мы сможем двигаться вперед, освобождая себе руки для инноваций. Только так мы сможем повышать качество продуктов, которыми пользуемся и которые разрабатываем.<br />
<br />
<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="slide_196433" width="450" height="380" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://file.podfm.ru/slide.swf" /><param name="menu" value="false" /><param value="transparent" name="WMode" /><param name="quality" value="high" /><param name="FlashVars" value="xmlurl=http://jnechaeva.podfm.ru/my/2/data.xml" /><embed src="http://file.podfm.ru/slide.swf" menu="false" quality="high" width="450" height=380 name="slide_196433" FlashVars="xmlurl=http://jnechaeva.podfm.ru/my/2/data.xml" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" /></object>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com6tag:blogger.com,1999:blog-2915575209377183930.post-58473584841560160572012-04-08T23:23:00.000-07:002012-04-08T23:23:10.686-07:00Selenium 1, bye-bye!А вы уже видели презентацию <a href="http://www.innovatesting.info/2011/12/evgeny-tkachenko-software-automation.html">Жени</a>? Это же поэзия!<br />
<br />
<div class="prezi-player"><style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style><object id="prezi__xnf5rh3zacb" name="prezi__xnf5rh3zacb" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=_xnf5rh3zacb&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"/><embed id="preziEmbed__xnf5rh3zacb" name="preziEmbed__xnf5rh3zacb" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=_xnf5rh3zacb&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"></embed></object><div class="prezi-player-links"><p><a title="Selenium and WebDriver" href="http://prezi.com/_xnf5rh3zacb/selenium-and-webdriver/">Selenium and WebDriver</a> on <a href="http://prezi.com">Prezi</a></p></div></div><br />
<a href="http://www.innovatesting.info/2012/03/about-comparison-of-selenium-and.html">оригинальный пост</a>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com4tag:blogger.com,1999:blog-2915575209377183930.post-34637867902978315542012-03-25T06:26:00.002-07:002012-03-25T06:49:57.008-07:00Why Whittaker joined Microsoft? - переводКогда 3 февраля Джеймс Виттакер написал в Твиттере, что он уходит из Google, у всех возник миллион вопросов. Потом он написал пост о том, почему он так поступил (<a href="http://blogs.msdn.com/b/jw_on_tech/archive/2012/03/13/why-i-left-google.aspx">оригинал</a> и <a href="http://habrahabr.ru/post/140070/">перевод</a>). И вот теперь Джеймс объясняет, почему выбрал именно Microsoft.<br />
<br />
<a href="http://blogs.msdn.com/b/jw_on_tech/archive/2012/03/14/why-i-joined-microsoft.aspx">Оригинал</a><br />
<i>Перевод: <a href="http://interface.moikrug.ru/">Тимур Хайруллин</a></i><br />
<br />
Похоже, что намеки на то, что переходы из Google в Microsoft не так уж редки, не послужили достаточным объяснением, поэтому вот вам более развесистый отчет. Для тех, кому неинтересны подробности в деталях, приведу короткую версию. Я думаю, что происходящее в мобильном и веб-ориентированном мире - неправильно, и со временем становится все более неправильным. Пользователи в опасности: они теряют контроль над персональными данными и над своей сетевой индивидуальностью. Независимые разработчики вынуждены стучаться в закрытые двери в попытках двигать веб вперед. Решение этих проблем потребует больших запасов интеллектуальной собственности, технических и информационных возможностей и дружелюбного отношения к производителям ПО. Мне кажется, что Microsoft - одна из лучших компаний, способных возглавить такое направление.<br />
<br />
Да, я знаю, ваши комменты говорят, что вы сомневаетесь в этом, поэтому вот вам длинная версия.<br />
<br />
<b>Большие компании - это не круто, так почему вы ушли из одной в другую?</b><br />
<span class="fullpost"><br />
Я был в стартапах дважды: один раз как ведущий разработчик и еще раз как основатель. Десять лет я был профессором, с удовольствием занимаясь исследованиями и консультациями. В молодости я даже был админом в ФБР! Так что я повидал альтернативы большим компаниям - и я выбираю большие компании.<br />
<br />
На самом деле я в этом не одинок, иначе не было бы столько больших компаний и они не были бы, ну, такими большими. Но сейчас модно кричать, что большие компании - это не круто, не они меняют мир. Лично я считаю, что большим компаниям и не нужно пытаться казаться крутыми. Сорокалетний мужик, пытающийся снять студентку в баре, не выглядит крутым - он жалок. Я уважаю большие компании, которые ведут себя по-взрослому. С возрастом приходит достоинство; быть большим - звучит гордо.<br />
<br />
Компании становятся большими не просто так. Они вырастают из питательного бульона видений, идей, талантов, инноваций, успеха, инвестиций и свершений. Заставь этот бульон кипеть - и компания станет большой и будет оставаться большой. Ошибись с рецептом - и твой суп убежит. Выкипит достаточно много - и многие самые успешные на сегодня компании рано или поздно будут списаны со счетов с пустой кастрюлей в руках. Если хотите - угостите меня кофе в Starbucks и я расскажу вам, что могло бы произойти с Apple.<br />
<br />
Не верьте большим компаниям, если хотите. Не верьте их именам. Не верьте их репутации. Не верьте слухам о них. Не верьте им, потому что им не верят критики. Не верьте им, потому что круто никому не верить. Не верьте им, потому что их обсуждают десятилетиями. Не верьте их обращению с вашими данными. Блин, организуйте движение "За честные выборы Фомы Неверующего" и не верьте им всем одновременно. Давайте, не верьте им, но упаси вас Б-г не верить в их талант.<br />
<br />
Вот о чем я говорю. Большие компании изобилуют талантами. Этой причины достаточно, чтобы объяснить чей угодно выбор - работать в большой компании. Кто не хочет все время быть среди умных людей? Вот почему стартапы пытаются сманить талантливых ребят из больших компаний. Вот почему большие компании воюют за лучших из лучших: в каждой компании есть такие. Microsoft построена на спинах IBM, DEC и прочих, и в свою очередь подогревает рост Google и возрождение Apple, которые в свою очередь являются каналом поставок для Twitter и Facebook. Догадались, где берут свои таланты новые стартапы? Догадались, где тут IBM, фундамент этого великого древа талантов? Булькает суп? Еще бы. Куда ни плюнь - попадешь в смышленого инженера. Умные ребята идут вверх, ага.<br />
<br />
Однако таланты - это не единственный актив большой компании. Ум - необходимое качество, чтобы стать большим, но как только компания вырастает, у нее появляются два крыла с подвесными для оружия, недоступного братьям меньшим. Масштаб - это первое. Большие компании работают над большими проблемами. Размах - второе. Большие компании поставляют свои продукты в каждый уголок земного шара. И если вам хочется работать с умными людьми над проблемами планетарного масштаба, большие компании - ваш выбор.<br />
<br />
Масштаб и размах означают, что большие компании способны взорвать сегмент индустрии или даже несколько индустрий - махом. И вот мы пришли к настоящему предназначению больших компаний: способности массированного подрыва индустрий. Microsoft взорвал экосистему персональных компьютеров, Google взорвал веб, Amazon взорвал продажи, Apple взорвал мобильный мир... Эти взрывы изменили направление будущего. И круче всего то, что любая из этих компаний за счет тройки "талант-масштаб-размах" способна сделать это еще раз.<br />
<br />
И вашего неверия недостаточно, чтобы их остановить.<br />
<br />
<b>Ладно, но какая компания?</b><br />
<br />
Давайте развеем иллюзии о больших компаниях. Вроде везде одно и то же, и многие могут выбрать компанию за сладкие плюшки. Я думаю, что гоняться за плюшками и прочими льготами - ошибка. Кормит ли вас компания обедами или платите вы за обед сами - это игра с нулевой суммой. Офис, засыпанный дорогими игрушками настолько, что начинает напоминать детскую имени Пэрис Хилтон, кажется неуместным. Игрушки не останавливали Пэрис от ее капризов, и они не сделают вас счастливым, если вам перестанет нравиться ваша работа. Плюшки - это пыль, дым, через который мудрые люди видят настоящую компанию, это низменные желания. Кофепойнты в Facebook не делают его умнее Apple. Хотите получать счастье от РАБОТЫ? Найдите новую.<br />
<br />
Вот что важно. Найдите работу, в которую вы будете влюблены. Потом найдите компанию, считающую эту работу важной, готовую сделать вас своей частью и быть "взрывателем индустрии".<br />
<br />
Страсть, значимость и возможность зажечь - вот из чего сделана работа мечты. Найдите эту комбинацию, и вы обнаружите себя вкалывающим и мечтающим, чтоб ночь прошла побыстрей, что можно наконец проснуться и пахать снова и снова. Когда работа - настолько часть вашего мыслительного процесса, что вы хватаете еще и еще, вы говорите "отличное время". Когда эти впечатления заканчиваются, будете вспоминать это как "славные дни". Кто бы не согласился на карьеру, состоящую из отличного времени и хороших воспоминаний? Это как одержимость, которая дает вам кайф, но не делает чокнутым в глазах окружающих.<br />
<br />
Когда вы осознаете эту страсть изменять мир, следующий шаг - найти компанию, с которой этой страстью можно поделиться. Вычеркивайте компании, завязшие в сегодняшнем дне. Любая компания, живущая на деньги от сложившегося уклада, не заинтересована в идеях, изменяющих мир.<br />
<br />
<b>И Microsoft - правильная большая компания?</b><br />
<br />
То, над чем бы я хотел работать, исключает из моего выбора многие большие компании, но не все. Microsoft, на мой взгляд, обладает хорошей коллекцией интеллектуальной собственности, лидерства в продуктовых сегментах и технической мощи для того, чтобы быть революционером. Они не держатся за денежные реки и огороженные загоны. Они во многом стараются получать прибыль от чего-то похожего на революции.<br />
<br />
Что ж, перейдем истокам моего выбора.<br />
<br />
Почему Microsoft? Потому что моя страсть отлично сочетается с их желанием и способностью взрывать мир. Единственная проблема, над которой мне, похоже, придется поработать - чтобы компания сосредоточилась на заполнении команды лучшими талантами.<br />
<br />
Почему Microsoft? Потому что большинство крупных игроков не заинтересованы в революциях. Когда вы живете за счет статус кво, вы заинтересованы двигаться медленно или не двигаться вообще.<br />
<br />
Почему Microsoft? Потому что они попросили меня не содействовать, а помогать лидировать.<br />
<br />
Почему Microsoft? Потому что каждый раз, когда я рассказываю людям, пользующимся интернетом с мобильника, над чем я работаю и что из этого получится, они хотят этого прямо сейчас. Когда я рассказываю разработчикам, что я строю, они начинают требовать API и SDK прямо сейчас. И если люди подгоняют вас в том, что вы делаете - это хороший знак: то что вы делаете - важно.<br />
<br />
Я думаю, что Microsoft - правильная компания: я семь недель на новом месте, и мне нравится то, что я вижу вокруг. Когда я пришел в 2006 году, компания была сосредоточена вокруг Windows и Office. Теперь в Редмонде новая главная улица, и на ней студии (не офисы, а студии!) команд Xbox. Изменения отнюдь не символические. Windows и Office, ныне далекие от священных коров, явно подверглись генетическому инжинирингу. Я еще не совсем осознал, что они сделали и как, но их магия несомненна. Bing завершил перемешивание программирования и тестирования - они называют это "комбинированной разработкой", которую Google пытается сделать до сих пор, после года реорганизаций. И дальше больше, я вижу перемены каждый день. Наверное когда у меня будет больше данных, я напишу еще один пост.<br />
<br />
Остались у Microsoft проблемы? Да. Буду ли я избегать тыкать в них пальцем, если они мне теперь платят? Нет. Есть улучшения, которые нужны Microsoft. Митинги собираются слишком часто и длятся слишком долго. Когда я объявил, что все мои менеджеры должны кодить, не могу сказать, что их счастье захлестнуло меня с головой. Дальше больше, я только начал собирать проблемы.<br />
<br />
Что мне действительно нравится в Microsoft - если показать им зеркало, они будут в него смотреть. Дайте им время, и они изменятся. </span><br />
<!-- Yandex.Metrika counter --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika({id:246595,
clickmap:true,
trackLinks:true});}
catch(e) { }
</script><br />
<noscript><div><img src="//mc.yandex.ru/watch/246595" style="position:absolute; left:-9999px;" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika counter -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com1tag:blogger.com,1999:blog-2915575209377183930.post-74878567775127636732011-12-08T11:10:00.000-08:002011-12-08T13:03:30.801-08:00Игра "Нереальное тестирование" на SQA Days, ИТОГИ.На конференции <a href="http://it-conf.ru/ru/sqadays_main/sqadays_10/sqa10_agenda/" target="_blank">SQA Days – 10</a> мы (<a href="http://inn.ru/" target="_blank">Иннова</a>) были спонсорами. <br />
<br />
<table><tbody>
<tr> <td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheIhUUXfFIP7EzWN4WGasAKudggwaxg1Sgdhfw7aDzrBMkqsn0kLCD9LlxvS_c4S4G2BYmqlrOH5ykEuN9rLVHndujoNSlgLu-92rZ2VW85ucmOvyXvPaNUfK8Tyvg3RtyZlPfNMxCqE6J/s1600/foto-71.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheIhUUXfFIP7EzWN4WGasAKudggwaxg1Sgdhfw7aDzrBMkqsn0kLCD9LlxvS_c4S4G2BYmqlrOH5ykEuN9rLVHndujoNSlgLu-92rZ2VW85ucmOvyXvPaNUfK8Tyvg3RtyZlPfNMxCqE6J/s320/foto-71.jpg" width="320" /></a></div><br />
</td> <td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9A6_4j80dZRGTQV4BPPsJuEu6mM4RYxsTYSYvIGTN2fBGPovqKN279VpVHzGg7ART59P6cFbhonhvGLoo6hhXa_6IhD785VFvbJtEy-3m4Q5eMDSy1BNr7HR5TT6_LCuELDpEzthyiMu5/s1600/foto-72.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9A6_4j80dZRGTQV4BPPsJuEu6mM4RYxsTYSYvIGTN2fBGPovqKN279VpVHzGg7ART59P6cFbhonhvGLoo6hhXa_6IhD785VFvbJtEy-3m4Q5eMDSy1BNr7HR5TT6_LCuELDpEzthyiMu5/s320/foto-72.jpg" width="320" /></a></div><br />
</td> </tr>
</tbody></table><br />
Как я уже говорила в своем <a href="http://vimeo.com/32761468">интервью</a>, мы ставили себе несколько целей. Во-первых, попробовать, каково это – быть спонсором. Во-вторых, создать людям фан, сделать крутой стенд, чтобы люди чувствовали в первую очередь внимание, а не рекламу. В третьих, создать эмоцию вокруг Инновы, впечатление и понимание, что мы умеем работать круто и весело!<br />
<br />
Судя по отзывам в твиттере и тому, что по просьбам посетителей мы продлили стенд ещё на один день, это удалось!<br />
<br />
Фотографии здесь (при клике по фоткам откроются альбомы в ФБ):<br />
<br />
<table><tbody>
<tr> <td><div class="separator" style="clear: both; text-align: center;"><a href="http://on.fb.me/vzIHWh" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="213" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNWwu9KZ08N4GTYAoO3THj-SVZMD5oeyrcC8fjAGcqah6zGhnrkQ55IYC_a4gcUdxRnjWwT2pX_Xvk6gwBFe-bZ5mh8qSkBfnJI-BkY_4Kqc9U1Z3xo6P2irXnSv2kcrUdw2DgnrKbrzGe/s320/foto-220.jpg" /></a></div></td> <td><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://on.fb.me/ruezXz" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="213" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhESlNMMy2NHYGWTIPQ2SkxVI0_QNWZIFh9ADhwk6BuS2DkqkHr-BehPaPL2LWHkFCL_0hB-FbnUAnMbYHbn47xnKUmhWh-8Ep1IG2r9bevAQvNhZib3f1pDpc5iVs6DRnojl2tcBK6DYEh/s320/foto-30.jpg" /></a></div></td></tr>
</tbody></table><br />
<br />
<br />
Специально для конференции мы придумали игру: <b>Нереальное тестирование</b> (ТМ).<br />
<br />
<b>Правила:</b><br />
<br />
Два на первый взгляд одинаковых сайта. Но только не для зоркого глаза тестировщика!<br />
Задача игроков была - найти максимальное количество отличий в двух сайтах за игровую сессию. <br />
<br />
У игрока было 10 минут, которые начинались по нажатию на кнопку Старт на первом сайте. <br />
<br />
У сайтов были отличия 3х типов:<br />
<br />
-- <b>Статические (k=1)</b> – можно обнаружить, на странице не действуя, как пользователь; <br />
-- <b>Динамические (k=2)</b> – могут быть найдены только в ходе «использования» сайтов, <br />
-- <b>Сложные (k=5)</b> – без специальных инструментов не найти!<br />
<br />
И были <b>Пасхальные яйца (win, k=7)</b>:<br />
Мы заложили в Подвиги несколько пасхальных яиц, нахождение каждого давало 7 очков!<br />
Появление на экране сообщения WIN свидетельствовало о нахождении игроком пасхального яйца.<br />
<br />
Фиксировать найденные игроками отличия помогали девочки-модераторы, они же вносили результаты в админку, которая пересчитывала финальный результат.<br />
<br />
Счет игрока складывался исходя из количества найденных отличий с учетом коэффициента категории. Общий рейтинг составлялся на основании заработанных игроками очков за одну сессию. <br />
<br />
Мы не ограничивали количество сессий для каждого игрока. Но все отличия, которые игрок запоминал с прошлого раза, он показывал модератору, чтобы она могла его зафиксировать. Таким образом, фора у повторных участников была небольшая. Зато давала возможность изменить стратегию поиска и пойти более эффективным путем. <br />
В рейтинг засчитывался максимальный результат из всех сессий. Очки не суммировались. <br />
<br />
Для усложнения задачи мы решили, что игрокам нужно создать нереальные для работы условия. Профессиональные массажистки делали массаж шейно-воротниковой зоны первые 5 минут игры. Продуктивность в последующие 5 минут возрастала просто на глазах!<br />
<br />
По результатам первого дня поиграть удалось пятидесяти участникам. Легендой стенда стал Петр Родин, который несколько раз отвоевывал первое место, но в итоге занял 4е.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdoDMxildvrKKvZ6jd7w_ggfA9iyL3ZkWEerXLlvgZWFnvKL6UHH366fbuu9gqlfx0zqSmFi0LOuwtCESW19DtqrS6mhbEiw6I8xlWN2eOtiui68p2rcTOz2I_ahuCJHn-kPItPtCSULgk/s1600/day1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="84" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdoDMxildvrKKvZ6jd7w_ggfA9iyL3ZkWEerXLlvgZWFnvKL6UHH366fbuu9gqlfx0zqSmFi0LOuwtCESW19DtqrS6mhbEiw6I8xlWN2eOtiui68p2rcTOz2I_ahuCJHn-kPItPtCSULgk/s640/day1.PNG" width="640" /></a></div><br />
<br />
Второй день был менее динамичен, да и длилась игра на 2 часа меньше. Поиграло 33 человека, два призовых места взяли Катя и Вика, выбрав стратегию объединения.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsZji6EQxEGWxrMv5u_w45Q5zfq5E4q9_wzoDmJi9VW1g8vdDyUAXo0PnrE3oeE-JE8TPzKW6_FgP7RKnuddE_vm8vXrhEVwWv76XUYuMxgmh3PnqyE_aQ1BHklq_9epif4pS_zYlRuIRo/s1600/day2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsZji6EQxEGWxrMv5u_w45Q5zfq5E4q9_wzoDmJi9VW1g8vdDyUAXo0PnrE3oeE-JE8TPzKW6_FgP7RKnuddE_vm8vXrhEVwWv76XUYuMxgmh3PnqyE_aQ1BHklq_9epif4pS_zYlRuIRo/s640/day2.PNG" width="640" /></a></div><br />
<br />
Очень было интересно наблюдать, как люди с разным опытом по-разному подходили к задаче.<br />
<br />
Одни сразу же открывали исходники двух «главных» страниц, даже не авторизуясь, проводили в сравнении 6-7 минут, потом заходили внутрь сайтов и тут только понимали, что исследовали лишь малую часть.<br />
Другие первым делом оценивали объем страниц и функциональности сайтов, и лишь потом приступали к поиску.<br />
Одни делали упор на отличия в верстке, другие – в функциональности.<br />
Одни старались найти как можно больше простых отличий, другие выбирали стратегию «мало, но WIN’ов».<br />
<br />
Многие меняли стратегию после первого раза.<br />
<br />
Отличная иллюстрация для исследовательского тестирования, на самом деле!<br />
<br />
Мы оставили сайты в открытом доступе ещё на неделю, до 15 числа можно поиграть вот здесь:<br />
<a href="http://inn.webumka.ru/test1/">http://inn.webumka.ru/test1/</a><br />
<a href="http://inn.webumka.ru/test2/">http://inn.webumka.ru/test2/</a><br />
<br />
На любые вопросы я отвечу в <a href="http://software-testing.ru/forum/topic/21379/">этой ветке форума</a>, здесь же можно меряться результатами. Единственное правило – не спойлить!<br />
<br />
15 декабря я опубликую список тех отличий, которые были внесены в приложения санкционированно, то есть – по ТЗ. Интересно сравнить с вашими списками.<br />
<br />
Удачи!<br />
<table></table>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com1tag:blogger.com,1999:blog-2915575209377183930.post-26100852321223111392011-12-05T06:38:00.000-08:002012-02-01T08:10:33.824-08:00SQA Days 10: Команда, где каждый лидерМоя презентация с SQA-Days 10.<br />
<br />
Хочу поделиться теми принципами, которые помогли мне построить 2 суперэффективные команды тестирования в моей компании. В двух словах: в моих командах каждый специалист является лидером.<br />
<br />
Основная фишка в том, что у лидера есть ответственность, но нет формальных полномочий. Являясь боссом в своем направлении, он является исполнителем в направлении своего коллеги.<br />
<br />
У такого подхода, безусловно, есть ограничения к применению и подводные камни. Но при грамотном использовании, он дает неоднократное повышение эффективности тестирования.<br />
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/gaaztBf_Dso" frameborder="0" allowfullscreen></iframe><br />
<br />
<div class="prezi-player"><style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style><object id="prezi_4c_xq0domaj6" name="prezi_4c_xq0domaj6" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=4c_xq0domaj6&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"/><embed id="preziEmbed_4c_xq0domaj6" name="preziEmbed_4c_xq0domaj6" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=4c_xq0domaj6&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"></embed></object><div class="prezi-player-links"><p><a title="Команда, где каждый лидер" href="http://prezi.com/4c_xq0domaj6/presentation/">Команда, где каждый лидер</a> on <a href="http://prezi.com">Prezi</a></p></div></div>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com7tag:blogger.com,1999:blog-2915575209377183930.post-89868998311614121902011-11-22T11:00:00.000-08:002011-11-24T03:20:36.459-08:00Eurostar. Introduction. The first post of our new blog.Привет!<br />
<br />
Мы открыли <a href="http://www.innovatesting.info">блог команды тестирования Инновы</a>. Подробнее про нас и про то, зачем мы это делаем, можно прочесть первом поcте: <a href="http://www.innovatesting.info/2011/11/about-us.html">http://www.innovatesting.info/2011/11/about-us.html</a><br />
<br />
Открываем блог мы трансляцией с конференции <a href="http://eurostarconferences.com/">EUROSTAR 2011</a>, будем рассказывать о том, что здесь происходит, какие мысли и инсайты у нас возникают и знакомиться с миром европейского коммьюнити тестирования.<br />
<br />
Первый пост про вчерашнюю 8-часовую сессию Майкла Болтона:<a href="http://bit.ly/vu0tI8"> вот он</a>.<br />
<br />
Пост про выступление Дороти Грэхем: <a href="http://www.innovatesting.info/2011/11/eurostar-dorothy-graham-pursuing.html">вот</a><br />
Фотопост с доклада Гойко Адзика: <a href="http://www.innovatesting.info/2011/11/eurostar-gojko-adzic-death-to-testing.html">вот</a>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com2tag:blogger.com,1999:blog-2915575209377183930.post-69893822237860030462011-08-01T13:06:00.000-07:002011-11-11T01:53:21.437-08:00Нужен младший волшебник по тестированию веб-приложенийПривет!<br />
<br />
<b>Я ищу коллегу в команду веб-тестирования: молодого специалиста по ручному тестированию.</b><br />
<b><br />
UPD: специалист найден!</b><br />
<br />
Мы работаем над самыми разными проектами:<br />
<br />
- личный кабинет пользователя <a href="http://4game.ru">Фогейм</a>, где самое важное – это удобство и логичность сценариев пользователей;<br />
<br />
- система биллинга (связанная с платежными шлюзами, системами рассылок SMS и mail-нотификаций), в которой сейчас более 10 млн зарегистрированных пользователей (из них более 3 млн активных), которая позволяет держать более чем 100 000 «одновременных» коннектов, где самое важное – надежность и производительность;<br />
<br />
- внутренние проекты, которыми пользуются сотрудники различных отделов в работе;<br />
<br />
- интеграционные проекты, которые с одной стороны являются <a href="http://store.4game.ru">красивой витриной для пользователей</a>, а с другой – имеют сложную систему интеграции с игровой и биллинговыми базами;<br />
<br />
- бесчисленное количество <a href="http://l2.ru/party">промо-страниц</a>, где самое важное - это корректное отображение в различных браузерах;<br />
<br />
<b>В нашем тестировании несколько направлений:</b><br />
<br />
- автоматизированное тестирование бэкендов (собственный фреймворк на языке Java)<br />
- ручное тестирование (используем Mind Map для фиксации тестов)<br />
- автоматизированное тестирование интерфейсов (Selenium + Java)<br />
<br />
<b>Важно:</b> у нас нет выделенной должности тест-дизайнера, каждый сотрудник в его роли проектирует свои тесты. Мы синхронизируем их на уровне планирования и на этапе финализации.<br />
<br />
<b>Профиль нашего будущего коллеги:</b><br />
<br />
Молодой человек (<i>или девушка, как подсказывают мне через плечо разработчики :)</i>) с недолгим опытом работы в тестировании. Горящий, верящий в то, что тестирование влияет на качество, которого заводит видеть, как люди пользуются его продуктами. Который считает тестируемый продукт своим и лично заинтересован в его развитии и улучшении.<br />
<br />
<b>Если более формально, то:</b><br />
<br />
- опыт тестирования 0.5 – 1.5 года;<br />
- опыт написания тестов (можно небольшой);<br />
- понимание принципов тестирования (не назубок рассказывать определения, а понимать, что, где и зачем применяется);<br />
- понимание устройства веб-приложений;<br />
- хороший вкус к программным продуктам: быть пользователем многих сервисов, понимать как пользователь их плюсы и минусы, уметь анализировать причины такой реализации;<br />
- неуемное желание развиваться и учиться;<br />
- уметь обосновывать свои мысли и доказывать свою правоту.<br />
<br />
<b>Очень хорошо, если на текущем месте работы вам некуда расти – приходите к нам, у нас есть куда!</b><br />
<br />
Мы готовы помочь вам из "ручного" тестировщика стать тест-дизайнером, тест-аналитиком и специалистом по автоматизированному тестированию в одном лице, если захотите.<br />
<br />
Самое крутое, на мой взгляд, в работе у нас – это получение мгновенного фидбека от внедрения изменения в продукт: как по отзывам пользователей, так и по отзывам службы поддержки, по мнению проектных команд и даже по изменению в профите проектов.<br />
Тестировщики принимают участие в обсуждениях новых фич, планировании работ, демо-показах.<br />
<br />
Мы с удовольствием поощряем желание учиться: конференции, тренинги, книги, локальные обсуждения и семинары. <br />
<br />
<br />
Добро пожаловать!<br />
Принимаю резюме на yulia DOT nechayeva AT inn DOT ruJulia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com10tag:blogger.com,1999:blog-2915575209377183930.post-38666880084366164232011-03-08T06:43:00.000-08:002011-03-08T06:43:12.372-08:00как Тестированию не задерживать Разработку: часть 2<a href="http://jnechaeva.blogspot.com/2011/03/blog-post.html">Часть 1: Постановка задачи и метод решения.</a><br />
Часть 2: Обоснование. Немного про Lean. Ограничения подхода.<br />
Часть 3: Практический пример.<br />
<br />
Спасибо Максу Дорофееву за <a href="http://cartmendum.livejournal.com/64749.html">вдохновение</a>.<br />
<br />
Он писал про то, как сервисному отделу можно приблизить срок выпуска задачи. Мой рассказ получается про следующий уровень вложенности. Макс не говорит про тестирование отдельно, потому что у него тестирование внутри команды, и он работает на ускорение всего процесса.<br />
<br />
В нашем случае на ускорение всего процесса работают другие люди, чаще всего это менеджер. Отдел тестирования вносит свою лепту тем, что оптимизирует свои процессы для того, чтобы сократить время жизни задачи на тестирование и минимизировать время ожидания задачи в очереди.<br />
<br />
Есть известная картинка, которая показывает нам, что выгоднее заниматься задачами последовательно, нежели параллельно, так как в первом случае момент завершения первых двух задач наступает намного раньше.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_1.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="395" width="472" src="http://i75.photobucket.com/albums/i312/lorien-julia/_1.png" /></a></div><br />
<br />
Теперь представим, что каждая из задач не самодостаточна, и для того, чтобы она получила бизнес-ценность (её можно было продать, ей можно было пользоваться), нужна ещё одна активность других людей.<span class="fullpost"><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="340" width="536" src="http://i75.photobucket.com/albums/i312/lorien-julia/_2.png" /></a></div><br />
<br />
А теперь представим, что вторая активность <b>не обязательно</b> может быть начата после завершения первой задачи, а уже после выполнения небольшого её участка. Если это учитывать, то можно значительно сократить общее время жизни задачи и приблизить момент её завершения.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="488" src="http://i75.photobucket.com/albums/i312/lorien-julia/_3.png" /></a></div><br />
<br />
Теперь посмотрим на сервисный отдел тестирования. Ему поступают одновременно три задачи от разных заказчиков на тестирование. <br />
<br />
<blockquote>Конечно же, в реальной жизни отдел тестирования умеет браться за несколько задач одновременно в силу распределенности умений сотрудников. Но мы же рассуждаем об абстрактном.</blockquote><br />
Задача на тестирование, как мы помним, не самодостаточна, и зависит от старшей задачи. Более того, есть несколько циклов тест-фикс-ретест. <br />
Если отдел тестирования принимается за 3 задачи последовательно и доводит каждую из них до конца, то мы получаем вот такую картинку:<br />
<br />
<i>Красный, зеленый и синий – это задачи на тестирование, розовый, салатовый и голубой – это исправление багов по результатам тестирования. Последний ретест самый маленький и является финальным тестированием перед выпуском задачи.</i><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_4.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="269" width="638" src="http://i75.photobucket.com/albums/i312/lorien-julia/_4.png" /></a></div><br />
<br />
Но здесь как раз тот случай, в котором исправление багов <b>не обязательно</b> может начаться после завершения всего тестирования задачи. Мы же помним, что тестировщики придерживаются правил 1-5, и первым делом бьют в самые приоритетные области.<br />
<br />
Давайте посмотрим, что будет, если тестировщики будут давать фидбек после выполнения первоприоритетных тестов, и заказчики тут же будут приступать к фиксу:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="340" width="619" src="http://i75.photobucket.com/albums/i312/lorien-julia/_5.png" /></a></div><br />
<br />
<b>Нам удалось приблизить момент выпуска задачи, нам удалось сократить время жизни задачи на тестирование, нам удалось сократить временные лаги на ожидание заказчиком результатов. </b><br />
<br />
А если мы можем выпустить задачу ДО завершения финального цикла (с известными минорными багами), то посмотрите, насколько раньше это можно сделать!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_6.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="342" width="621" src="http://i75.photobucket.com/albums/i312/lorien-julia/_6.png" /></a></div><br />
<br />
Теперь вспомним, что перед тестированием была собственно реализация задачи заказчиком, и посмотрим на картинку:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/_7.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="407" width="639" src="http://i75.photobucket.com/albums/i312/lorien-julia/_7.png" /></a></div><br />
<br />
Видим, что от времени жизни задачи на тестирование зависит время жизни всей задачи.<br />
<br />
И в такой схеме легко находится Полезное-потом время. <br />
<br />
То есть, максимально сокращая ожидание заказчиком результатов тестирования и сокращая срок жизни задачи на тестирование, мы таким образом приближаем момент выпуска задачи в релиз. Чем непосредственно влияем на бизнес-ценность этой задачи.<br />
<br />
<br />
Если говорить терминами Lean, то тестирование, будучи сервисом, может работать на сокращение сроков выпуска продуктов путем уменьшения потери времени из-за ожидания.<br />
<br />
И – что очень важно – такая система позволяет сотрудникам отдела принимать решения: какую задачу взять первой, на каком этапе пора давать фидбек заказчику, какие задачи брать из пула внутренних задач. Они составляют пул внутренних задач, потому что постоянно анализируют свою работу на эффективность. Они придумывают полезные штуки, потому что это интересно и полезно. Они развиваются и от этого тестирование становится более эффективным. <br />
<br />
Такой подход уменьшает потери из-за нереализованного творческого потенциала сотрудников, что опять же увеличивает ценность конечного продукта.<br />
<br />
<br />
<b>Обязательные условия для того, чтобы это работало:</b><br />
<br />
- опытные высококвалифицированные специалисты в отделе тестирования<br />
--- новички не смогут сразу принимать решения, оценивать приоритеты и проводить исследовательское тестирование<br />
<br />
- хорошие коммуникации с заказчиками (как рабочие, так и личные)<br />
--- нужно вырабатывать общие подходы с каждым заказчиком, договариваться о способах постановки задачи, о способе репорта о багах, о том, как действовать, если задача сверхсрочная<br />
<br />
- небольшое количество людей и небольшой поток задач (в единицах)<br />
--- я не уверена, будет ли это работать на отделе в десятки человек и входящем потоке десятки задач в день<br />
<br />
- небольшое количество итераций тест-ретест<br />
--- если оно большое, то получаем дополнительные лаги на переключение, чем, скорее всего, затрём выигрыш по времени за счет раннего фидбека<br />
<br />
<br />
Продолжение следует...</span><br />
<br />
<!-- Yandex.Metrika counter --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595);
yaCounter246595.clickmap(true);
yaCounter246595.trackLinks(true);
} catch(e) { }
</script></div><noscript><img src="//mc.yandex.ru/watch/246595" style="position:absolute; left:-9999px;" alt="" /></noscript><br />
<!-- /Yandex.Metrika counter -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com8tag:blogger.com,1999:blog-2915575209377183930.post-38187137961521686972011-03-08T03:23:00.000-08:002012-02-01T08:14:10.848-08:00как Тестированию не задерживать Разработку. часть 1На конференции <a href="http://agiledays.ru/">Agile Days</a> рассказывала про то, <a href="http://agiledays.ru/reports/view/94/">как сервисному отделу не стать бутылочным горлышком на примере отдела тестирования</a>.<br />
<br />
<iframe src="http://player.vimeo.com/video/22736671?byline=0&portrait=0" width="720" height="405" frameborder="0"></iframe> <br />
<br />
Презентация вот:<br />
<br />
<div class="prezi-player"><style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style><object id="prezi_a53ou5qkjo3l" name="prezi_a53ou5qkjo3l" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=a53ou5qkjo3l&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"/><embed id="preziEmbed_a53ou5qkjo3l" name="preziEmbed_a53ou5qkjo3l" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=a53ou5qkjo3l&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"></embed></object><div class="prezi-player-links"><p><a title="Как сервисному отделу не стать бутылочным горлышком" href="http://prezi.com/a53ou5qkjo3l/agile-days/">Agile Days</a> on <a href="http://prezi.com">Prezi</a></p></div></div><br />
Видео будет чуть позже.<br />
<br />
В дополнение пишу посты, поясняющие мой подход к организации работы отдела тестирования.<br />
<br />
Часть 1: Постановка задачи и метод решения.<br />
<a href="http://jnechaeva.blogspot.com/2011/03/2.html">Часть 2: Обоснование. Немного про Lean. Ограничения подхода.</a><br />
Часть 3: Практический пример.<br />
<br />
<b>Постановка задачи и метод решения.</b><br />
<br />
Начну с правды: <b>Тестирование не самодостаточно.</b> <br />
<br />
Тестирование само по себе не несет для продукта никакой бизнес-ценности. (Я здесь не говорю про компании-аутсорсеры, которые этим зарабатывают, я имею ввиду тестирование в процессе разработки продукта). <br />
<br />
Задача на тестирование – это всегда часть старшей задачи: задачи на разработку, задачи, на верстку, на архитектурное решение, на текст, на сценарий, на идею, в конце концов. <br />
<br />
И бизнес-ценность для продукта имеет именно та, старшая задача. <br />
<span class="fullpost"><br />
<blockquote>Для простоты назовем команду, выполняющую старшую задачу, <b>заказчиком тестирования</b>.</blockquote><br />
Понятно, что методы и подходы к тестированию зависят от старшей задачи. И – что самое важное – процессы. Процессы тестирования зависят от процессов, по которым выполняется старшая задача. <br />
<br />
Согласитесь, было бы странно, если бы команда разработки работала по скраму с итерацией в неделю, и, отдавая задачу на тестирование, слышала бы оценку на тестирование каждой фичи в 3 дня, в которую входит написание тест-плана, сценариев, отчетов, и т.д. Аналогично в потоковом производстве задач тестирование, которое планирует на месяц вперед, явно не приведет в восторг заказчика.<br />
<br />
Если тестирование неотрывно от выполнения старшей задачи (как это происходит в большинстве скрам-команд), то проблемы здесь намного меньше: задача просто попадает в состояние ТЕСТИРОВАТЬ, возможно, тем же человеком, который делал старшую.<br />
Но что, если тестирование – это сервисное подразделение в компании? Которое работает на несколько команд. <br />
<br />
Очевидно, что сервис должен быть хорошим, иначе им просто не будут пользоваться. <br />
<br />
Сервис должен стремиться выполнить задачи всех заказчиков соответственно их требованиям. Плюс у отдела есть общие по компании требования к выпускаемому продукту, и даже если заказчик говорит, что «да IE сейчас никто не пользуется», тестировать в нем все равно нужно.<br />
<br />
У отдела тестирования много заказчиков, у каждого свои задачи, к которым нужны разные подходы, на их тестирование нужно разное время, у них разное первоначальное качество, у них разное качество исправления ошибок (следовательно, разное количество итераций тест-ретест). У каждого заказчика свои процессы и планы: одни выдают по 3 фичи в день на тестирование, другие – один дизайн в неделю, третьи фиксят по 10 багов в день. Всплески активности у них тоже разные, у одних зависят от маркетинговых акций, у других – от релизов, у третьих – от сроков запуска новых проектов.<br />
<br />
Если мы говорим о задачах на тестирование длиной менее одного дня каждая, то планирование здесь практически невозможно. Я не верю в выполнение тремя заказчиками плана по постановке задачи на тестирование с точностью до часа. Если вы запланировали, что одна задача придет к вам в 11 часов, другая в 15 и третья в 17, то будьте уверены, что они все придут к вам в 17-30 =)<br />
<br />
Время, которое старшая задача проводит в тестировании, можно условно разделить на три вида:<br />
<br />
<b>Полезное-сейчас время</b> – это время, когда задачу непосредственно тестируют: выполняют тестовые сценарии, гоняют тесты. Сюда же отнесем время на оформление баг-репортов, потому что этот продукт потребляет наш заказчик.<br />
<br />
<b>Полезное-потом время</b> – это время на подготовку тестирования: настройка тестовой среды, тест-планы, написание тестов, сбор и анализ метрик, анализ результатов тестирования, составление отчетов, актуализация тестов. Это то, что помогает тестированию оптимизировать работу, делать её более эффективной, и давать более полную оценку качеству продукта.<br />
<br />
<b>Бесполезное время </b>– это время, когда задача в тестирование передана, но в тестировании не находится. Она ждет в очереди. Либо сейчас тестировщики заняты другой задачей, либо они не успели подготовить все к началу выполнения.<br />
Понятно, что одно и то же время может быть одновременно Бесполезным для заказчика и Полезным-потом для тестирования. <br />
<br />
И в целях уменьшения времени на выполнение старшей задачи, очень важно оптимизировать время на тестирование. Ключевой момент – старшая задача должно <b>КАК МОЖНО МЕНЬШЕ</b> ждать, пока задача вернется с тестирования. При этом экономия времени не должна влиять на качество работы тестирования. <br />
<br />
<b>Задача тестирования - максимально эффективно тратить Полезное-сейчас время, максимально сокращать для заказчика Бесполезное время и сделать невидимым Полезное-потом время.</b><br />
<br />
Хороший сервис тестирования должен работать по трем основным принципам:<br />
<br />
- как можно быстрее приступать к задаче (минимизировать Бесполезное время)<br />
- как можно быстрее давать первый фидбек (оптимизировать Полезное время)<br />
- как можно быстрее давать оценку качеству (помогать заказчику спланировать и скорректировать время на багфиксы)<br />
<br />
Чтобы этого добиться, есть несколько инструментов:<br />
<br />
<br />
1) максимально мелкие задачи на тестирование<br />
<br />
<br />
Нужно приучать заказчика к постановке промежуточных задач на тестирование, и найти баланс между тестированием каждого тега, и тестирование целых модулей. Это помогает практически в любой момент времени быть готовыми взяться за новую задачу. <br />
<br />
<br />
2) правильно расставлять приоритеты в тестировании<br />
<br />
<br />
-- <b>«Первым бей, где больно»</b>: по тяжести возможных найденных ошибок. <br />
<br />
У тестировщиков есть опыт работы в проекте, они знают, какие места наиболее уязвимы, они знают, какой разработчик чище пишет код. Они, используя практики тест-дизайна, могут составить тесты таким образом, чтобы наиболее критичные ошибки с большой вероятностью были найдены первыми<br />
<br />
-- <b>«Первым выталкивай, что долго»</b>: по длине цикла исправления возможных найденных ошибок. <br />
<br />
Тестировщики знакомы с процессами заказчиков тестирования. И знают, что, например, ошибка сценарного характера исправляется дольше, так как возможно требует обсуждений, а то и исследований. А вот ошибка в коде исправляется в течении часа, или дня. Или, например, знают, что верстальщик послезавтра уходит в отпуск, и поэтому нужно все его баги найти и оформить сегодня, а завтра провести ещё один цикл тестирования.<br />
<br />
<br />
3) практики тест-дизайна<br />
<br />
<br />
Для того, чтобы разбивать задачу тестирования на подзадачи и выполнять их в соответствии с приоритетами, можно использовать такие практики тест-дизайна, как составление и группировка тестов:<br />
<br />
-- по глубине тестирования (например: смоук, акцептенс, функциональные)<br />
<br />
-- по объектам тестирования (например: дизайн – верстка – функциональность фронт-энда – функциональность бек-энда)<br />
<br />
-- по сценариям тестирования (позитивные-негативные)<br />
<br />
-- по эмулируемым пользователям ( наиболее распространенное поведение, более редкое, практически невозможное)<br />
<br />
<blockquote>И выполнять их нужно, разумеется, соответственно выбранным приоритетам.</blockquote><br />
<br />
3) разумно подбирать момент оформления багов<br />
<br />
<br />
-- Сразу же после каждого найденного бага (оправдано, если тесты маленькие, не требуют подготовки к каждому из них и легко прерываемы, плюс время на оформление бага тоже мало).<br />
<br />
-- Сразу же после завершения тестирования подзадачи (логически завершенный участок работы тестировщика).<br />
<br />
<blockquote>Иногда, если баг очевиден, нужно сказать вслух, и пока разработчик его правит – оформить.</blockquote><br />
<br />
4) давать предварительную оценку качеству<br />
<br />
<br />
Работая не первый день над проектом, тестировщик всегда может оценить в сравнении качество реализации текущей задачи заказчиком от других. Это можно делать на основании метрик, например, <i>«количество багов, найденных в результате прогона тестов приоритета 1»</i> , или <i>«количество багов на единицу системы (сценарий, страница, таблица)»</i>.<br />
<br />
<blockquote>В большей степени это касается ситуаций, когда качество резко хуже обычного, тогда ранний фидбек даст заказчику возможность скорректировать свои планы и выделить больше времени на исправление, возможно, отложив реализацию новых фич.</blockquote><br />
<br />
5) кроссфункциональность сотрудников<br />
<br />
<br />
В идеале, все сотрудники отдела тестирования должны уметь выполнять все задачи с одинаково высокой эффективностью. Но так не бывает. У разных людей разные таланты, разные способности, они наиболее эффективны в разных областях. <br />
<br />
Но, если каждую задачу на тестирование могут выполнить несколько человек, и если люди не закреплены за направлениями, то это дает большую гибкость и позволяет выдерживать всплески активностей по определенному типу задач.<br />
<br />
Например, не все ребята должны постоянно заниматься ручным тестированием интерфейсов. Но если все это делать умеют, то отдел легко выдержит предновогоднюю активность по промо-сайтам и страницам, и не подведет маркетологов.<br />
<br />
<br />
6) исследовательское тестирование<br />
<br />
<br />
Гениальный подход, философия тестирования, позволяющая <b><i>опытным</i></b> тестировщикам максимально быстро приступать к тестированию и максимально быстро давать первый фидбек. Для этого нужно всего-то ничего: <i>опытный высококвалифицированный специалист, грамотный тест-дизайнер и тестировщик в одном лице.</i> <br />
<br />
<blockquote>Умение без специальной подготовки сесть и выполнить задачу на тестирование, использую подходы 1, 2, 3 и 4 – вот, что значит исследовательское тестирование.</blockquote><br />
Ну и плюс некоторые практики:<br />
<br />
- сессионность<br />
-- сессия 1: тестирование + оформление багов<br />
-- сессия 2: запись выполненных тестов<br />
-- сессия 3: анализ выполненных тестов, расширение, приоритизация<br />
-- сессия 4: выполнение расширенного набора тестов<br />
<br />
- парное тестирование:<br />
-- пилот выполняет тесты<br />
-- штурман подсказывает и записывает<br />
<br />
<br />
7) <b>Полезное-потом</b> время должно быть обязательно! <br />
<br />
<br />
Его нужно тратить на <b>Полезные-потом</b> вещи. Это те внутренние задачи отдела тестирования, которые позволяют тестировщикам тестировать эффективно. Это составление планов тестирования, это составление сценариев тестирования, их анализ и приоретизация, это поддержание тестовой среды в актуальном состоянии, это анализ и постоянный апдейт тестов, это разработка и постоянная актуализация фреймворка для тестирования, это изучение новых подходов и методик, это поиск лучших путей для решения задач, это чтение книг и шаринг знаний с коллегами, это ведение базы знаний, это сбор метрик и их анализ... <br />
<br />
Если в отделе тестирования этого не делается, значит тестирование работает как загнанная лошадь, на постоянном потоке, без остановки. И обязательно придет момент, когда отдел не справится с задачей вовремя, а то и вовсе не справится, потому что не готов. Потому что нет подходов, нет инструментов. Потому что уже нет мотивации разбираться. Загнали.<br />
<br />
Так как задачи из серии <b>Полезное-потом</b> не несут непосредственной ценности для заказчика тестирования, но правильно будет сделать так, чтобы они его не задерживали. Для этого можно пойти двумя путями:<br />
<br />
-- Проанализировать загрузку задачами по времени и найти интервалы, когда она меньше всего. Например, первую неделю каждого месяца, когда итерации по проектам только стартуют. В это время нужно планировать выполнение внутренних задач.<br />
<br />
-- Жестко запланировать время, например: каждую пятницу с 15-00 отдел тестирования задачи у заказчиков не принимает, а занимается внутренними. Если этого правила придерживаться очень жестко, то все привыкнут и будут планировать свои задачи так, чтобы отдавать их на тестирование до пятничного утра.<br />
<br />
<br />
<a href="http://jnechaeva.blogspot.com/2011/03/2.html">продолжение следует...</a></span><br />
<!-- Yandex.Metrika counter --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595);
yaCounter246595.clickmap(true);
yaCounter246595.trackLinks(true);
} catch(e) { }
</script></div><noscript><img src="//mc.yandex.ru/watch/246595" style="position:absolute; left:-9999px;" alt="" /></noscript><br />
<!-- /Yandex.Metrika counter -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com9tag:blogger.com,1999:blog-2915575209377183930.post-23246836010460250582011-02-28T11:40:00.000-08:002011-02-28T11:42:14.881-08:00Соратники neededПривет!<br />
<br />
Ищем пополнение в команду тестирования Инновы. Про наши проекты можно посмотреть <a href="http://inn.ru/projects/">здесь</a>. На наши мордашки можно поглазеть <a href="http://inn.ru/company/gallery/">здесь</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/testingdept.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="347" width="638" src="http://i75.photobucket.com/albums/i312/lorien-julia/testingdept.jpg" /></a></div><br />
<br />
<blockquote><a href="http://jnechaeva.blogspot.com/2011/02/blog-post.html">Как устроен отдел</a>.<br />
<a href="http://jnechaeva.blogspot.com/2011/02/blog-post_20.html">Как работают игровые тестировщики</a>.<br />
Как работает веб-направление - буду рассказывать на <a href="http://agiledays.ru/reports/view/94/">agiledays</a>.</blockquote><br />
Итак, нам нужен <a href="http://moikrug.ru/vacancies/361278622/">инженер по автоматизации тестирования</a>. Это человек, которому мы доверяем самое основное - ядро проекта. Он читает код, он пишет код, он не только находит баги, но и локализует их. Скажу по секрету, его даже могут привлекать к код-ревью =)<br />
<br />
У нас свой фреймворк для автотестов на джава, который нужно поддерживать, <span class = "fullpost">актуализировать и развивать. У нас есть большой набор тестов, которые нужно гонять. У нас есть огромный пул планов, которые нужно будет тестировать.<br />
<br />
Нам нужно расширять направление нагрузочного тестирования, потому что у нас масштабные планы.<br />
<br />
Знаете, что самое, на мой взгляд, крутое на этой позиции? Таких вещей две.<br />
<br />
Первая - свобода. Свобода для реализации своих идей. Можно менять тулы, можно пробовать подходы, можно участвовать в планировании разработчиков - можно не участвовать =) Вы будете лидером направления. <br />
<br />
Вторая - быстрый фидбек. Мы релизим обновления системы самое редкое - раз в три недели. И каждого пользователи ждут, занеся палец над кнопкой мыши. Если мы оплошали - то видим это через минуту. Очень держит в тонусе.<br />
<br />
<b>Если Вы вместо Java знаете Python и умеете читать код на C++, я вам открою секрет, мне скоро понадобится и такой специалист.</b><br />
<br />
Нам также нужен <a href="http://moikrug.ru/vacancies/397744979/">младший коллега</a>, которому поначалу мы поручим тестировать интерфейсы. Если у Вас есть небольшой опыт тестирования, то мы можем Вам предложить пробовать любые подходы к тест-дизайну, изучать автоматизацию тестирования интерфейсов с помощью Selenium, учиться настраивать и поддерживать тестовую среду, расставлять приоритеты в тестировании, общаться со всей командой Инновы, начиная от менеджеров и заканчивая дизайнерами. Если Вы будете учиться для нас, мы будем Вас учить. Если Вы будете придумывать для нас новые штуки - мы Вас поддержим.<br />
<br />
Ну и напоследок, <a href="http://moikrug.ru/vacancies/488219789/">ведущие игровые тестировщики</a> в два легендарных проекта Lineage II и Aion. Нам нужны люди, которые любят игру настолько, что готовы на ней работать. Которые готовы отдавать игре не 5 часов прогулянных пар, а 8 часов рабочего дня. Вы увидите мир игры изнутри. Вы узнаете пользователей с другой стороны. <br />
Если Вы игрок и тестировщик - велкам.<br />
<br />
Мы очень разные, но нас объединяет желание делать свою работу хорошо, делать продукты лучше. Мы вместе смеемся и вместе мониторим игровой форум допоздна, чтобы удостовериться, что обновление прошло успешно. Мы ездим на конференции и ходим пить пиво в Пилзнер, а коньяк - в комнату отдыха. Мы даем советы редакторам и принимаем советы от пользователей. Мы дружим с разработчиками, мы понимаем менеджеров, мы стараемся даже понять наших дизайнеров!<br />
<br />
Мы - хороший отдел тестирования. Руководство никогда не отказывает нам в расширении штата или приобретении инструментов. Чтобы стать ещё лучше - нам нужны новые коллеги.<br />
<blockquote>Я требовательный руководитель. Мы требовательная команда. А уж требовательнее, чем наши пользователи, нужно поискать =) </blockquote><br />
Если не боитесь - пишите мне на <b>yulia DOT nechayeva AT inn DOT ru</b>. До встречи!<br />
</span>Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com2tag:blogger.com,1999:blog-2915575209377183930.post-18961389437697112372011-02-20T05:40:00.000-08:002011-02-20T05:40:46.389-08:00Тестирование игр в Иннове: рассказ о работе отделаЭто словесная экскурсия в группу игрового тестирования моего отдела. Это как раз те ребята, о которых говорят, что они "играют на работе" :)<br />
<br />
<img src="http://i75.photobucket.com/albums/i312/lorien-julia/39353710.jpg" alt="image"/><br />
<habracut /><br />
<b>Внешняя среда</b><br />
<br />
Начну с описания внешней системы. У нас 13 игровых проектов. Они разного размера, их разрабатывают разные компании (чаще всего корейские), у них разные процессы, разный жизненный цикл, разная частота обновлений, разное качество и разные изначальные требования к качеству. <br />
<br />
На первый взгляд кажется, что Иннова занимается только локализацией, и, казалось бы, что тут тестировать? Нам же дают готовый продукт, тестируйте только локализацию. Но вот эти разные изначальные требования к качеству продуктов играют свою роль. Разные компании-разработчики считают нормальным выпускать продукт на свой (корейский) рынок с определенным количеством известных багов. И это количество у всех, как вы понимаете, разное.<br />
<br />
Мы же стараемся свести это количество к минимуму во всех наших играх. Потому что как только мы выпускаем игру в России, она становится «нашей». Мы так считаем.<br />
<br />
<b>Процесс тестирования</b><br />
<br />
Тем не менее, мы не тестируем всю игру. Это было бы неправильно. <span class="fullpost">В идеальном случае мы действительно должны тестировать только локализацию и сборку. К этому мы добавляем ещё тщательное тестирование новой функциональности и бета-тестирование пользователями.<br />
<br />
То есть, план тестирования обновления выглядит примерно так:<br />
<br />
- тестирование локализации:<br />
--- списки для проверки, сроки<br />
<br />
- тестирование новой функциональности:<br />
--- чек-листы для проверки, приоритеты, сроки<br />
<br />
- тестирование сборки:<br />
--- смоук-тесты, сроки<br />
<br />
- бета-тестирование:<br />
--- задание для игроков, сроки<br />
<br />
Я <a href="http://habrahabr.ru/blogs/testing/98203/">рассказывала</a> про полный цикл тестирования локализованной игры на примере Атлантики.<br />
<br />
Процесс взаимодействия с разработчиками зависит от проекта и от компании-разработчика. Баг-репорты могут оформляться в BTS, на нашей или на их стороне, могут собираться в Excel или Google-docs. Взаимодействуют по их исправлению с разработчиками чаще всего тестировщики, но кое-где вся коммуникация проходит через руководителя проекта. Мы подстраиваемся под проект, но вносим в процессы изменения для их оптимизации.<br />
<br />
<b>Тестовая среда</b><br />
<br />
Помимо боевых серверов (которых у разных игр от одного до тринадцати) есть система Публичный Тестовый Сервер (ПТС) и внутренний тестовый сервер (QA-стенд). На ПТС может зайти любой игрок при желании. Там проводятся все бета-тестирования. Для того, чтобы туда попасть, не нужно особых сложностей, даже не нужен отдельный аккаунт, подойдет тот, которым играешь на боевых серверах. <br />
<br />
На QA-стенде проводится внутреннее тестирование, до того, как отдать игрокам на ПТС. <br />
<br />
Не любое обновление игры проходит весь путь QA-стенд -> ПТС -> боевые сервера. Некоторые обновления невозможно поставить на ПТС, не задев боевую систему. Такие сразу идут в бой после внутреннего тестирования. Некоторые наоборот, не могут быть нормально протестированы на внутреннем стенде, и они сразу идут вовне к нашим бета-тестерам.<br />
<br />
<b>Качество боевого продукта</b><br />
<br />
И все же, приходится выпускать продукты с известными багами. И – бывает, что с критичными. Например, последнее большое обновление легендарного проекта Lineage II High Five Part 4, установленное на сервера 28 декабря, принесло серьезный баг: случайным образом у пользователей клиент игры вылетал с критической ошибкой при телепорте. <br />
<br />
Это может зависеть от того, что, например, этот баг проявляется при нагрузке на серверы. И тогда он всплывает только в боевой эксплуатации. Мы не воссоздаем нагрузку в нашем цикле тестирования, потому что это делает компания-разработчик. Но, не всегда результативно. Так как часто обновления запускаются в одно время с Кореей и часто раньше Европы, мы идем на риск запуска с неизвестными багами.<br />
<br />
Это может зависеть, например, от запланированного срока запуска обновления, которого ждут все игроки.<br />
<br />
Это может зависеть от неопределенных сроков по решению проблемы от разработчиков. <br />
<br />
Я уверена, что если устроить опрос среди игроков, пострадавших от бага с телепортом в High Five, согласились бы они играть без обновления и по сей день, то они все равно выбрали бы предновогоднее обновление.<br />
<br />
Конечно же, об известных ошибках игрокам сообщается. И статус их решения постоянно обновляется. И, конечно же, они недовольны ответом «Отправлено компании-разработчику, они работают над этим»!<br />
<br />
<b>Организация команды</b><br />
<br />
Почти у каждого проекта есть тест-менеджер. Это один из моих ребят, который лучше всех разбирается в этом проекте, который планирует тестирование проекта, участвует в планировании установки обновлений. Он знает слабые места в своем проекте, и знает, что самое важное для его аудитории. <br />
<br />
В его задачи входит:<br />
<br />
- планирование тестирования проекта (или его обновлений)<br />
- организация тестирования проекта (или его обновлений)<br />
-- внутреннее тестирование<br />
-- внешнее тестирование (с помощью бета-тестеров)<br />
- информирование всех заинтересованных лиц о статусе тестирования и состоянии продукта<br />
<br />
Тест-менеджер взаимодействует по работе:<br />
<br />
- с руководителем проекта (вместе планируют обновления, утверждают запуск)<br />
- инженер проекта (информация об установке патчей, исправление ошибки сборки)<br />
- разработчики (сообщает о найденных багах, о результатах тестирования)<br />
- коллеги-игровые тестировщики (ставит задачи, собирает результаты)<br />
- редактор проекта (сообщение об ошибках локализации, их исправление)<br />
- коммьюнити-менеджер проекта (известные ошибки, работа с бета-тестерами)<br />
- команда поддержки пользователей (ставит задачи, собирает результаты, собирает информацию об ошибках, найденных пользователями, )<br />
<br />
«<i>Заводы стоят, одни менеджеры в стране</i>», - скажете вы :) Конечно же, тест-менеджер – это не должность, а роль. В эту роль мой сотрудник входит тогда, как на его проекте есть активность по тестированию. В остальное время – он тестировщик. Он – «руки другой головы». Один человек никогда не справится в срок с тестированием большого обновления большой игры. Поэтому, когда ему нужно, вся команда к его услугам. В момент активности его проекта – он главный, он ставит задачи и собирает результат.<br />
<br />
<img src="http://i75.photobucket.com/albums/i312/lorien-julia/pbactivity.png" alt="Например, сейчас активность в Пойнт Бланке"/><br />
<br />
<img src="http://i75.photobucket.com/albums/i312/lorien-julia/l2activity.png" alt="А сейчас - в Линейке"/><br />
<br />
<br />
Кроме того, если требуется массированная атака (например, проверить сборку клиента на всех серверах проекта), то тут на помощь приходит команда поддержки пользователей: они знают контент игры и готовы помочь. Здесь тестировщик опять же выступает в роли постановщика задачи.<br />
<br />
Планирование работы команды на день происходят на утренних стендапах. Основные вопросы, которые обсуждает команда, это:<br />
<br />
- «Я сегодня буду заниматься этим»<br />
- «Мне сегодня нужно 4 человека на тестирование этого» <br />
- «Я сегодня не загружен, кому нужно помочь?»<br />
<br />
<b>Подход владельца</b><br />
<br />
У нас в компании есть понятие «драйвер задачи». Это значит «быть её владельцем», быть самым заинтересованным в её решении. Понятно, что тестировщик многого не может сделать самостоятельно: <br />
<br />
- он не может напрямую повлиять на скорейшее исправление бага разработчиками<br />
- он не может напрямую повлиять на ускорение установки<br />
- он не может управлять инженером<br />
и т.д.<br />
<br />
Но он является драйвером своих задач. Это ему в первую очередь нужно как можно скорее получить патч с исправлением. Это ему в первую очередь нужны релиз-ноты. Это ему нужно установить обновление на тестовый сервер в пятницу, чтобы на выходных бета-тестеры могли нам помогать. И это он добивается решения этих вопросов от руководителя проекта, от инженера, от меня, в конце концов.<br />
<br />
Человек, который в случае возникновения трудности, просто напишет письмо, сложит руки и будет ждать – нам не подходит.<br />
<br />
Мои тестировщики – это менеджеры своих проектов. Проектов по тестированию проектов. Владельцы процесса. <br />
<br />
Из той информации, которую я почерпнула от ребят, которые приходят на собеседования на позицию игрового тестировщика, такой подход к работе, мягко говоря, очень редок в компаниях, локализующих игры. Чаще всего отделы тестирования состоят из исполнителей, которым ставятся четкие задачи и требуются четкие результаты. Все решения принимает руководитель, все планы пишет и утверждает руководитель. <br />
<br />
Я считаю неправильным самой делать это за всех, поэтому я учу делать это своих ребят. Это развивает их, и это дает свободу мне как руководителю заниматься более стратегическими задачами.<br />
<br />
<b>Side-effect</b><br />
<br />
Правда, side-effect у такого подхода тоже есть. Ребята видят все стороны проекта, общаются со всеми участниками проекта, с почти всеми отделами в компании. Их видят, за ними наблюдают. И они растут. <br />
<br />
Некоторые растут в другие отделы. Двое из моих игровых тестировщиков ушли в младшие менеджеры проектов. При этом один из них – на том проекте, на котором работал, а второго цапнул руководитель соседнего проекта. Прямо сейчас он (мой бывший тестировщик) в Сеуле налаживает коммуникации с компанией-разработчиком. Ещё один уходит в отдел аналитики игровых продуктов, как раз сейчас ищу ему замену. Я радуюсь за них. Значит, я хорошо работаю.<br />
<br />
И не меньше я радуюсь за тех, для кого тестирование – это та отрасль, где они хотят развиваться и приносить пользу. Они растут как тестировщики, как тест-менеджеры, и не собираются никуда вострить лыжи.<br />
<br />
<b>На уровне компании</b><br />
<br />
Не все проекты тестируются отделом тестирования. У нас в Иннове полностью и целиком за свой проект отвечает его руководитель. В том числе и за его качество, и за его тестирование. Я как руководитель сервисного отдела, являюсь владельцем своего направления, и, чтобы оставаться конкурентоспособной, должна предоставлять проектам услугу тестирования с таким качеством, чтоб руководители у меня её заказывали. То есть, если вдруг мои тестировщики начнут лажать, то руководитель проекта вправе отказаться от услуг моего отдела и обустроить себе тестирование самостоятельно. Любыми методами.<br />
<br />
Или он может не заказывать её по другим причинам. Например, в нескольких небольших проектах тестирование осуществляется самой командой проекта. Потому что цикл тестирования обновления очень небольшой (несколько часов), контента немного, и внутри команды проще выделить время «Вот прямо сейчас все сели и побежали», чем ставить задачу в мой отдел.<br />
<br />
В другом проекте руководитель не отдает тестирование нам, потому что эта активность интересна его сотрудникам, и они справляются с ней, попутно изучая новый контент, знание которого им нужно для работы. <br />
<br />
В таких проектах мы выступаем как носители экспертизы: можем подсказать, помочь написать тесты, подсказать, как правильно оформить артефакты. <br />
<br />
У нас трудно, но интересно. Нас ругают и нам говорят спасибо пользователи. Мы боремся с системой и дружим с разработчиками. <br />
<br />
Спасибо вам, ребята!<br />
</span><br />
<!-- Yandex.Metrika counter --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595);
yaCounter246595.clickmap(true);
yaCounter246595.trackLinks(true);
} catch(e) { }
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika counter -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com9tag:blogger.com,1999:blog-2915575209377183930.post-19597051411707935072011-02-20T05:27:00.000-08:002011-02-20T05:27:24.676-08:00Отдел тестирования: цель первой итерации достигнутаНа момент, когда я пришла в Иннову, в компании не было тестирования. Моей задачей было – сделать его. Не набрать отдел, не тестировать продукты, а именно – <b> сделать тестирование </b>. <br />
<br />
Надо отметить, что тестировать у нас надо не только игрушки. У нас серьезный отдел разработки, который не дает нам скучать. Как, впрочем, и мы ему. Наш основной продукт разработки – это система, связывающая воедино все наши игры, игроков и партнеров. Пользователям он известен как <a href="http://4game.ru">Фогейм</a>.<br />
<br />
Сейчас отдел тестирования компании Иннова состоит из 2 подразделений. Группа тестирования игровых приложений и группа тестирования веб-приложений. Так исторически получилось, это действительно два совершенно различных направления тестирования, требующие от ребят в разных группах разных знаний и навыков. Тем не менее, связь между проектами очень тесная, и мы все вместе радуемся и злимся, отдыхаем и флудим в чатике.<br />
<br />
Но, обо всем по порядку…<br />
<span class = "fullpost"><br />
<br />
Когда я пришла, готовился к запуску <a href="http://aion.ru">Айон</a>. Подключение Айона к боевой системе я (тогда ещё единственный тестировщик во всей компании) я проверяла по-живому. Как сейчас помню свои ощущения, когда через <i> несколько минут</i> после запуска озвучили онлайн в десятки тысяч и такое же количество прошедших платежей!<br />
<br />
В то же время подходили к завершению переводы <a href="http://atlantica.ru">Атлантики</a>. Значит, пора было начинать её тестировать. Как тестировали Атлантику – <a href="http://jnechaeva.blogspot.com/2010/07/blog-post.html">я уже писала</a>. Над ней работали моя первая команда игровых тестировщиков. <br />
<br />
Атлантику я провела как тест-менеджер: разработка тест-плана, общение с менеджерами нашей стороны и стороны разработчиков игры NDoors, сводки багов и срезы состояния качества продукта, заключение о готовности к закрытому бета-тестированию, организация сбора фидбеков от бета-тестеров.<br />
<br />
После Атлантики, ребята уже самостоятельно организовывают тестирование больших обновлений. Почти каждый из них – тест-менеджер своего проекта. Работа организована так: <b> «Чей проект сейчас активен, тот и главный»</b>. Это значит, что если сейчас в работе обновление Lineage II, то тест-менеджер может рассчитывать на руки и головы всей команды. Но во время тестирования другого проекта он сам станет тестировщиком на нём, попадая под управление своего коллеги.<br />
<br />
В дни промежутков между большими обновлениями без работы тоже не сидим. Баги, приходящие от пользователей: локализацию - редакторам, функциональность – разработчикам в Корею, отследить исправление, протестировать патч и его сборку, проверить установку… <br />
<br />
Я не знаю, как это происходит у других компаний-локализаторов, но у нас так: при планировании функционального тестирования обновления мы пользуемся релиз ноутами для пользователей! Других нет. Компании-разработчики считают, что дают нам продукт в уже оттестированном виде и поэтому нам не нужна внутренняя документация для разработки. <br />
<br />
Тестировать приходится по описаниям изменений в виде <i>«Добавлено 20 новых квестов для асмодиан в Бездне» </i> или <i>«Изменены показатели умений Огня» </i>. Поэтому мы проверяем только на работоспособность внесенных изменений и проводим регрессионное тестирование. На <i>«логичность»</i> изменений проверяют наши бета-тестеры. Именно они, люди, которые знают мир игры лучше всех, могут сказать, что <i>«похоже, разработчики ошиблись. Не может этот шлем давать такой бонус! Это подорвет экономику сервера»</i>. И они часто оказываются правы.<br />
<br />
<blockquote><b>Работа с бета-тестерами</b> – это то достижение, которым мой отдел может гордиться. У моих ребят очень теплые отношения с бета-тестерами. Это отдельные группы людей, которым интересно нам помогать, и они сидят в скайп-конференциях, пишут в закрытой группе на форуме, выполняют задания и ждут новых обновлений. Заменить, например, группу из 40 человек постоянных помощников по тестированию Lineage II можно, конечно, группой специалистов по тестированию. Но это был бы худший вариант, так как точечные удары людей, хорошо знающих контент, в нашем случае намного эффективнее планомерного прочесывания со знанием подходов.</blockquote><br />
<br />
Но, игры сама по себе существовать не может, ей нужна очень большая инфрастуктура. <br />
Основной проект нашей компании – <a href="http://4game.ru">Фогейм</a>. Это не просто сайт. За ним стоит огромная система биллинга, связывающая пользователей с лицевыми счетами, нашу внутреннюю бухгалтерию с партнерскими, учитывающая юридические моменты, и, что самое главное, позволяющая с единым аккаунтом играть во все наши проекты. Которых будет становиться все больше!<br />
<br />
Фогейм был запущен в июне прошлого года. И постоянно обновляется. Пишутся новые фичи, улучшаются текущие. Команда веб-тестирования находится в постоянном взаимодействии со службой поддержки пользователей, которая, анализируя обращения пользователей, сообщает, какие сценарии вызывают затруднения, какие – вопросы. Таким образом система улучшается.<br />
<br />
Надо ещё сказать, что ситуация <i>«тестировщики сидят без работы</i>» у нас практически невозможна. Потому что заказчиками тестирования являются не только отдел разработки, но и отдел веб-технологов. Очень много промо-страниц и промо-сайтов, акций с партнерами и регистраций на ивенты. Не проходит, наверное, ни дня, чтоб наша система виртуалок с различными браузерами стояла без дела.<br />
<br />
Схематически, потоки задач можно выразить как на рисунке:<br />
- постоянная работа с командой разработчиков<br />
- частые небольшие задачи от веб-технологов<br />
- точечные запросы от службы поддержки на основании неудобств пользователей<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://i75.photobucket.com/albums/i312/lorien-julia/web-.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="411" width="620" src="http://i75.photobucket.com/albums/i312/lorien-julia/web-.png" /></a></div><br />
<br />
<blockquote>И я могу с уверенностью сказать, что отдел веб-тестирования – это один из немногих отделов в компании, где <b>за большинство задач принимаются сразу после их поступления, даже если она не была запланирована</b>. </blockquote><br />
Работы с задачами тестирования работы веб-технологов построена таким образом, что, например, промо-страница может попасть в тестирование без предварительного планирования, в тот же день пройти несколько циклов тестирования и исправления ошибок, и выйти в бой. Планировать менеджеры приходят только в том случае, если им критичен вот прямо час выкладки продукта на бой. <br />
<br />
<br />
В моих целях на 2010 одной из ключевых было написано:<br />
<br />
- сделать в компании отдел тестирования:<br />
--- решающий задачи компании<br />
--- с прозрачным и удобным для всех процессом<br />
--- не являющийся бутылочным горлышком. <br />
<br />
Ну что ж, получилось! Мы успешная часть <a href="http://inn.ru/company/gallery/">успешной команды</a>. <br />
<br />
</span><br />
<!-- Yandex.Metrika counter --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595);
yaCounter246595.clickmap(true);
yaCounter246595.trackLinks(true);
} catch(e) { }
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika counter -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com5tag:blogger.com,1999:blog-2915575209377183930.post-79426943938174427192010-10-02T10:13:00.000-07:002010-10-02T13:53:10.528-07:00Если вы стали QA-менеджером<p>Представляю перевод статьи Джеймса Виттакера "<a href="http://googletesting.blogspot.com/2009/12/if-you-were-brand-new-qa-manager.html">Если вы стали QA менеджером</a>". Оригинальному тексту почти год, я прочла его первый раз как раз, когда сама оказалась на месте героя поста. За это время у меня появились комментарии к мнению Джеймса, поэтому, можно сказать, что мы соавторы получившейся статьи.</p><p>Оговорюсь сразу, что под "QA менеджером", как я понимаю, здесь нарисован тест-менеджер, но с большим влиянием на процесс и на качество. Такое очень часто встречается в командах и компаниях, которые выпускают на рынок свой собственный продукт. Так что, я оставлю оригинальную терминологию Джеймса.</p><br />
________________________<h3>Начните жить своим продуктом!</h3><p><b>Джеймс</b>:<br />
Итак, вы оказались новым QA менеджером. Первое, что вам нужно сделать, это начать жить своим продуктов, загореться им.</p><p>Полностью растворитесь в вашем продукте, запоминайте рекламные речи, поймите его конкурентные преимущества, но сохраните при этом ваш скептицизм.</p><p>QA-менеджер должен быть также увлечен своим продуктом, как и менеджер разработки, но нам нужно сдерживать нашу страсть доказательствами. Будьте уверены, что команда тестирования не прекратит тестировать функциональность, стоящую за жарким рекламным спичем.</p><p>Более того, частью жизни с вашим продуктом является быть его пользователем. </p><span class = "fullpost"> <p>К примеру, я сейчас живу без лаптопа и использую в своей повседневной работе только Chrome OS Netbook. Так как люди видят меня с ним в коридорах, мне доводится произносить рекламные спичи по многу раз каждый день. Великолепная практика, скажу я вам! Мне же доводится жить и с огрехами, и записывать штуки, которые ещё надо доделывать. Это хворост для пламени спора между разработчиками и другими стейкхолдерами, и это тоже заставляет меня взвешивать конкурирующие продукты. Когда у меня не получается сделать что-нибудь, что мне нужно, на моем Chrome OS Netbook и я вынужден использовать конкурирующий продукт, это порождает здоровую дискуссию о том, как пользователи воспринимают недостатки наших продуктов, и о том, как мы можем правильно преподнести плюсы и минусы нашего продукта потребителям.</p><p>И это прекрасный путь для начинания нового продукта, кстати ;-)</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Если вы приходите не просто в продукт, выпускаемый вашей компанией, а в новую компанию, начните жить вашей компанией. Её культурой. Поймите, почему она выпускает именно такие продукты. Чтобы приносить людям пользу, чтобы отвечать на их вопросы, чтобы решать их проблемы? Чтобы веселить их? Чтобы что?</p><p style="padding-left: 30px;">Побудьте пользователем других продуктов вашей компании, чтобы понять, как они относятся к вашей продукции. Чего им не хватает: внимания, скорости, скидок? Что они не могут сделать с продуктами вашей компании, и как компания реагирует на это?</p><p style="padding-left: 30px;">Поняв, как это происходит на уровне всей компании, гораздо легче понять, как это работает для для вашего продукта. Вы поймете, кто в команде идет in-line с компанией, а чьи цели лежат в другой плоскости. Вы поймете, кто на вашей стороне (а вы ведь – именно тот человек, который хочет сделать ваш продукт лучше для пользователя и успешнее для компании, правда же?), а кого нужно ещё переманивать. На кого-то можно махнуть рукой, а кто-то просто мешает работе над продуктом. Это шанс улучшить ситуацию. Потому что вы - новый человек со свежим взглядом, и во-вторых – потому что тестирование – это фильтр.</p><p style="padding-left: 30px;">Вы, как тест-менеджер всегда будете аккумулятором информации от менеджера, разработчиков, аналитиков и пользователей. Именно на вас сходится много дорог, и именно вы говорите менеджеру: «Эй, мы сделали классную штуку, этим ребятам понравится! К тому же, она не падает под тестами вот уже вторую итерацию», и именно вы приносите ему вести, рискуя цельностью головы: «Ты знаешь, вот эта новая фича не может выйти на стабильность вот уже 2 недели, постоянно ломает почтовую рассылку. Надо больше времени на отладку, давай не будем включать в релиз».</p><p style="padding-left: 30px;">И именно вы знаете количество петиций от пользователей после каждого нового обновления. Только зная, какое значение каждый из этих фактов имеет для компании, вы сможете правильно понять нужную стратегию и эффективно применить вашу энергию и знания.</p><p style="padding-left: 30px;"><h3>Фокусируйтесь на тест-плане, сделайте это высшим приоритетом</h3></p><p><b>Джеймс</b>:<br />
Если вы заняли уже существующую роль тест-менеджера в уже существующем продукте, есть вероятность, что тест-план уже тоже существует и что этот тест-план неактуален. Я не наезжаю на вашего предшественника, я просто искренен. Большинство тест-планов являются «временными» документами.</p><p>Объясню, что я имею ввиду под этим.</p><p>Тестировщики незамедлительно жалуются при виде неактуальных спецификаций: мол, разработчики быстренько склепали спеку или диаграмму, но как только они начали писать код, спецификация устаревает, т.к. код начинает жить своей жизнью. Довольно скоро код перестает соответствовать спецификации и документация становится ненадежной. Мои поздравления, если это не про вас, но мне доводилось встречаться с такой ситуацией намного чаще, чем с постоянно обновляемыми спецификациями.</p><p>Тестировщики очень любят жаловаться на это: «Как мы можем тестировать продукт без полного описания того, что он делает?»</p><p>Но разве не то же самое мы зачастую делаем со своими тест-планами? Мы наскоро клепаем тест-план, но как только мы начинаем писать тесты (автоматические или мануальные), как они начинают жить своей собственной жизнью. Довольно скоро тесты начинают расходиться с тест-планом, так как мы догоняем новые разработки или наш опыт подсказывает нам новый тестерский инсайт.</p><p>Тест-план стал в точности, как спецификация: Документ-Который-Был.</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Тест-план (как и все тестирование, конечно же), может работать на вас, а может на продукт. Иными словами, часто хочется применить все свои теоретические знания и накопленный опыт и отразить все предыдущие годы работы в документе под названием Тест-План-Всего.</p><p style="padding-left: 30px;">Он будет оформлен по всем канонам, он будет включать сотни страниц, подробно объясняя его читателям каждый термин и расписывая каждую задачу. Но подумайте над тем, что, если вы не продаете тест-план как отдельную активность заказчику, то продукту чхать на термины и пропущенный пункт «Обоснование необходимости нагрузочного тестирования».</p><p style="padding-left: 30px;">Продукту нужен рабочий тест-план. И всей команде нужен рабочий тест-план. Отлично, если ваш тест-план – это список модулей на доске и написанные маркером же рядом номера задач в таск-трекере и тегов в свне. Отлично, если актуализация вашего тест-плана – это merge еженедельномитинговых фоллоу-апов. Отлично, если он отражает суть вашего подхода к тестированию продукта и понятен любому члену команды.</p><p style="padding-left: 30px;">Если вы делаете его для того, чтобы потешить свое чувство сертифицированного тест-менеджера – будьте честными в этом признаться. Хотя бы себе.</p><p><b>Джеймс</b>:<br />
И вот вы – новый тест-менеджер, сделайте исправления этих документов вашей первоочередной задачей. Вы узнаете функциональность вашего продукта, и вы увидите пробелы в текущей структуре тестов, которые нужно закрывать. Плюс к тому, у вас будет почва для разговора с менеджерами разработки, и вы сможете показать им, что вы серьезно относитесь к качеству. Менеджеры разработки в Гугле любят хорошие тест-планы, это дает им понимание того, чем вы занимаетесь.</p><h3>Разберитесь с процессом и приоритетами релиза</h3><p>Поздний цикл предрелизного тестирования – это самая нервная часть всего цикла разработки. Тест-менеджеры должны поддерживать баланс между правильным тестированием и обеспечением гармоничного релиза. Я советую посещать все девелоперские совещания, но чем ближе к релизу – тем точнее вы не должны пропустить ни одного. Будьте очень внимательны к их беспокойствам и проблемам. Самые ужасные предположения имеют тенденцию претвориться в действительность. Добавляйте тесты в ваш набор проверок, чтобы убедиться, что эти сценарии не случатся.</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Будьте всегда готовы ответить себе, команде и инвесторам, почему этот баг встретился 20 процентам пользователей и породил тысячи петиций. Почему вы не наняли ещё троих тестировщиков, чтобы протестировать тщательно все области, а не только самые приоритетные? Почему вы держите именно такой баланс между знанием о качестве и затратами на его контроль? Почему вы в последний момент кинули все силы на эту область, хотя в недельной давности тест-плане она шла вторым приоритетом?</p><p style="padding-left: 30px;">Главное, чтоб вы четко понимали это сами.</p><p><b>Джеймс</b>:<br />
Ключевым здесь является провести поздний цикл предрелизного тестирования без неожиданностей. На разработчиков здесь нельзя полагаться, поэтому убедитесь, что они понимают тот факт, что ваш тест-план движется к финальному рывку. Трюк не в том, чтобы опираться на разработчиков в том, как проводить предрелизное тестирование, а в том, чтобы убедиться, что они в теме и поддерживают ваш план.</p><p>Я обнаружил, что в Гугле увеличение фокуса команды на мануальном тестировании искренне приветствовалось командой разработчиков. Найдите комфортную зону вашей команды разработки и удерживайте баланс между тем, чтобы всё-таки правильно тестировать, и тем, чтобы сделать финальные часы (дни) как можно безболезненнее.</p><h3>Тестируйте ваш процесс тестирования</h3><p><b>Джеймс</b>:<br />
Начните с чтения каждого теста-кейса и просмотра всей информации. Можно ли привязать эти тесты к тест-плану? Сколько тестов у вас есть на один компонент? А на фичу? Если баг находится за пределами процесса тестирования, создаете ли вы на него тест-кейс? Есть ли у вас процесс исправления или выбрасывания испорченных или неактуальных тест-кейсов?</p><p>Полноценность и основательность набора тестов – это ваша работа как QA менеджера. Вы можете не участвовать в написании или выполнении большого количества тестов, но они вы должны держать их все в голове и быть первым, кто выявляет прорехи. Это должно быть тем, за что новый менеджер возьмется с самого начала и должно оставаться ключевым для него всегда.</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Чем критичнее вы относитесь к своей работе, тем больше у вас права критично относиться к чужой. Считается, что тестировщик не должен ошибаться и не должен пропускать баги. В то время, как программисту вполне позволено их делать. Чтобы изменить это мнение, нужно действительно крепко тестировать не только работу программистов, но и свою собственную. Вы должны всегда видеть ещё возможности протестировать что-то лучше, тщательнее, если представится такая возможность. И вы должны четко понимать, от чего вы осознанно отказываетесь. И уметь объяснить это всей команде.</p><p style="padding-left: 30px;">Чем более требовательны вы к своим тестам, тем более требовательными у вас получится быть к разработчикам.</p><h3>Ищите пути для инноваций</h3><p>Самый легкий путь выглядеть хорошо в глазах разработчиков – это поддерживать статус-кво. Многие руководители разработчиков высоко ценят покорную и зависимую команду тестирования. Многие из них любят предсказуемые и легкопонятные практики тестирования. Эта та штука, о которой надо беспокоиться меньше всего (ведь даже перед лицом очевидной неэффективности знакомый путь часто считается самым близким).</p><p>Как новый менеджер, ваша работа – не дать им отделаться так легко! Вы должны сделать список тех частей процесса, которые вас настораживают, и тех частей, которые кажутся чересчур громоздкими или неэффективными. Это те места, где стоит применить инновации. Будьте готовы к нервозности со стороны разработчиков, но покажите, что ваши старания приносят пользу и заключите долгосрочное пари!</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Очень важно выдерживать баланс между «так у нас принято» и «я знаю, как сделать лучше». Когда вы приходите в новой роли в новую команду, у вас есть огромный плюс и страшное оружие: «свежий взгляд». Если его применять правильно – вы взорвете тестирование на проекте (в хорошем смысле). Будьте готовы столкнуться с «это не заработает, потому что…», «мы это пробовали, это фигня…», «да ну , бред какой-то, лучше делать по-старому…». Жизненно важно отличать реальные причины того, почему здесь делается именно так, от пустых отговорок, за которыми люди скрывают привычку и нежелание двигаться.</p><p style="padding-left: 30px;">Если вы возьмете правильный опыт этой команды и дадите ему новое дыхание – будет бомба!</p><p><b>Джеймс</b>:<br />
Нет совета, который мне показался бы универсально применимым касательно "Как лучше внедрять новшества". Что работает для меня – так это найти звезд в своей команде и убедиться, что они работают над тем же, чем горят. Как менеджер, это одна самая важная штука, которую вы можете сделать, чтобы повысить продуктивность и внедрить новшество.</p><p style="padding-left: 30px;"><b>Юля</b>:<br />
Так что - дерзайте! И удачи вам. </p></span><br />
<br />
<!-- Yandex.Metrika --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com8tag:blogger.com,1999:blog-2915575209377183930.post-44357454459916510782010-08-17T05:58:00.001-07:002010-10-02T10:14:41.458-07:00ищу себе в команду волшебника (UPD: волшебник найден)Компания Иннова известна в России как локализатор и издатель онлайн-игр, таких как Lineage II, Aion, Atlantika, Point Blank и другие.<br />
<br />
Однако же, у нас есть и серьезный отдел веб-разработки. В котором, несмотря на серьезность проектов, работают очень хорошие и веселые люди, профессионалы в своем деле.<br />
<br />
И вот, мы ищем коллегу в команду тестирования веб-приложений.<span class = "fullpost"><br />
<br />
Мы ждём, что он (или она):<br />
<br />
- имеет опыт работы в тестировании ПО не менее 2 лет<br />
- понимает принципы работы веб-приложений<br />
- умеет писать хорошие тесты (и понимает, чем хороший тест отличается от плохого)<br />
- умеет тестировать без формальных тестов (и понимает, когда и чем это лучше)<br />
- умеет быстро учиться (и делиться знаниями с коллегами)<br />
- умеет общаться и договариваться (работать в тесной коммуникации с разработчиками)<br />
- любит решать задачи (а не работает 8 часов в день)<br />
- умеет организовать и поддерживать тестовую среду (знаком со словом «конфигурация»)<br />
<br />
Дополнительными плюсами будет знание Unix, опыт настройки сетей, знание языка программирования.<br />
<br />
С свою очередь, мы обещаем:<br />
<br />
- профессиональную команду<br />
- хороших и интересных людей в коллективе<br />
- интересные задачи<br />
- не мешать расти и приветствовать инициативу<br />
- и разные плюшки от компании<br />
<br />
Мы находимся на метро Павелецкая. <br />
<br />
Писать мне на yulia DOT nechayeva AT inn DOT ru </span><br />
<br />
<!-- Yandex.Metrika --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com7tag:blogger.com,1999:blog-2915575209377183930.post-49211558413865940772010-07-29T01:00:00.000-07:002010-07-29T01:05:00.935-07:00Нам в www.it4business.ru нужен ПрограммистДа-да, именно <i>нам </i>и именно <a href="http://www.it4business.ru">в it4business</a>. Мы со Славой Панкратовым решили поработать вместе!<br />
<br />
И для создания нового звездолета социальной направленности нам нужен программист. Нет не так, нам нужен Программист - умный, в меру упитанный мужчина (мы верим, что большие люди - добрые люди, а доброта и терпение для Программиста в работе с нами это важный фактор, ага), который возьмет наши требования (3.5 страницы ворда), посмотрит на то решение, к которому надо прикрутить звездолет и скажет сколько времени и денег ему для этого нужно. Ну а потом возьмет и в указанное время все сделает. Мы, конечно, на все-все вопросы ответим и даже какие-то загадочные "доступы" дадим, ну или что там будет нужно.<br />
<br />
Мы очень хотим сделать и запустить наш небольшой звездолет, нам нужен Программист.<br />
<br />
Отзовитесь ссылками на свои работы, а мы пришлем требования.<br />
<br />
И, да, нам ещё понадобится тестировщик :)Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com8tag:blogger.com,1999:blog-2915575209377183930.post-85027756151661605592010-07-27T02:12:00.000-07:002010-07-27T02:20:50.623-07:00С аналитиками про тестированиеВ начале июня очень большие молодцы из команды <a href="http://uml2.ru"> Сообщества аналитиков </a> сделали <a href="http://conf.uml2.ru/">Летний аналитический фестиваль </a>, где, судя по разговорам, аналитиков была лишь половина, а было ещё много тестировщиков и менеджеров.<br />
<br />
И этой честной компании я рассказывала про тестирование требований:<br />
<img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyODAyMjA4MzExMzgmcHQ9MTI4MDIyMDgzNDMxMCZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89ZTIyMWE4ZmE5Zjhk/NDc4ZjljMjJiM2Y*NzFiODlkODgmb2Y9MA==.gif" /><div style="width:425px" id="__ss_4815494"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/greesha/laf2010-nechaeva" title="Тестирование требований: Зачем - понятно, а вот Как?">Тестирование требований: Зачем - понятно, а вот Как?</a></strong><object id="__sse4815494" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=laf2010nechaeva-100722072936-phpapp01&stripped_title=laf2010-nechaeva" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4815494" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=laf2010nechaeva-100722072936-phpapp01&stripped_title=laf2010-nechaeva" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">webinars</a> from <a href="http://www.slideshare.net/greesha">greesha</a>.</div></div><br />
"Очень просто объяснить, зачем тестировать требования. Немного сложнее - убедить проектную команду, что это делать действительно нужно. Но когда доходит до дела – начинаются реальные проблемы. Я не знаю ни одной хорошей, понятной, удобной и эффективной методики тестирования требований. Я покажу вам те, которые известны и используются, и мы увидим их несовершенство.<br />
<br />
Очень полезно, когда разработчик проводит ревью плана тестирования его продукта, ведь именно он лучше всех знает, где могут быть ошибки. Так и здесь, кто, как не вы, аналитики, лучше всех могут подсказать, как же тестировать вашу работу. Мы, тестировщики, придем к вам за советом, как улучшить наши наработки."<br />
<br />
<a href="http://yatv.ru/ru/tv,viewrecord,19818">Вот тут есть видео </a><br />
<br />
<!-- Yandex.Metrika --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com1tag:blogger.com,1999:blog-2915575209377183930.post-41372354663422874372010-07-04T05:45:00.000-07:002010-07-04T05:55:24.146-07:00О тестировании одной игры с картинками<a href="http://fotki.yandex.ru/users/lorien-julia/view/154604/"><img src="http://img-fotki.yandex.ru/get/2814/lorien-julia.7/0_25bec_d29d0ca9_L.jpg" width="385" height="333" title="" alt="" border="0"/></a><br />
<br />
Мир геймдева для обитателей мира разработки «человеческого», как я его называю, софта, это что-то непонятное и сказочное. Тестировать гномов, заводить баг на эльфа, моделировать тестовое окружение для осады замка. Я рассказывала на SQA days 7, в чем специфика тестирования игр. <br />
<br />
Недавно мы запустили Атлантику. Это игра от корейского разработчика NDoors, которую можно охарактеризовать двумя словами: ММОРПГ и пошаговый_бой. <br />
<br />
Все, больше про саму игру ничего не будет. А будет про её тестирование.<span class = "fullpost"><br />
<br />
Да, эту игру мы не разрабатывали, а лишь локализовали, выпустили и поддерживаем, но тестирования тоже было много.<br />
<br />
<b>Что тестировать в локализованной игре?</b> <br />
<br />
Как я уже рассказывала в своем докладе, тестирование игры делится на тестирование функциональности, контента и геймплея. Так как игра, которая локализуется, уже запущена в других странах (как минимум, в Корее, а в случае Атлантики – и в Европе, и в США), то геймплей мы считаем за наименее рискованную область. Потому что, во-первых, эта часть обкатана на продакшне в других странах, то есть количество ошибок здесь меньше всего, а во-вторых, эти ошибки в геймплее эффективнее оставлять на откуп игрокам бета-тестерам. <br />
<br />
Поэтому мы тестируем контент и функциональность<br />
<br />
Почему функциональность, возникает вопрос. Ведь функциональность тоже оттестирована в других странах. Конечно, она тестируется разработчиком ещё до выпуска оригинальной игры, и на уровне кода, и на уровне пользовательского тестирования. Но, в игре огромное количество комбинаций, и одна и та же функциональность в каждой сущности сочетается с модельками (либо интерфейсным диалогом), анимацией, озвучкой и текстом. Велика вероятность ошибки именно в нашей сборке клиента. <br />
Мы сочетали тестирование контента с тестированием функциональности.<br />
<br />
Да, надо отдельно сказать, что, конечно же, для тестирования контента 100 уровня нам не приходилось неделями качаться, а для получения нужного квеста искать NPC (<i>Non Player Character</i>) по лесам. Имея аккаунт с определенным свойством в базе, получаешь доступ к инструменту администрирования, который позволяет сделать с существующим контентом игры практически все: перемещаться по координатам, призывать NPC, получать нужные предметы, оружие и одежду, повышать и понижать уровни, учить умения пачками и т.д. <br />
<br />
<b>Вернемся к тестированию</b> <br />
<br />
Типичный чек-лист для проверки выглядел так (на примере игрового предмета):<br />
<br />
<i>- предмет вызывается<br />
- присутствует модель<br />
- отображаемое название соответствует вызываемому предмету<br />
- название не содержит ошибок<br />
- название помещается при показе<br />
- название соответствует модели<br />
- предмет появляется в инвентаре<br />
- информация о предмете соответствует названию<br />
- информация не содержит ошибок (грамматических)<br />
- информация отображается правильно (полностью, помещается в интерфейс)<br />
- информация соответствует работе предмета (если написано +10 к защите – реально дает +10 к защите)<br />
- правильное сообщение при невозможности использовать предмет<br />
- предмет выкидывается персонажем<br />
- правильное сообщение при выкидывании предмета<br />
- другие связанные сообщения</i><br />
<br />
Всё это выглядит в экселе примерно так: <br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154308/"><img src="http://img-fotki.yandex.ru/get/3416/lorien-julia.6/0_25ac4_92c9522e_XL.jpg" width="700" title="" alt="" border="0"/></a><br />
<br />
Такими чек-листами мы покрывали весь контент игры. Как видите, не упуская из виду и функциональность. <br />
После прохождения такой чек-лист раскрашивается в красные, зеленые и желтые цвета и выглядит гораздо красивее.<br />
<br />
<b>Немного цифр</b> <br />
<br />
Та версия Атлантики, которую мы начинали тестировать, содержала около 2000 NPC и монстров, почти 7000 предметов, 500 локаций, около 800 умений, много интерфейсов и очень много квестов. Втроем этот объем осилили за 2 месяца (с перерывом на новогодние праздники). <br />
<br />
За это время было найдено и исправлено 455 ошибок локализации и 101 ошибка функциональности игры. На самом деле, у меня эти метрики более сложные: и по критичности, и по переоткрываемости, и по времени исправления, и по первоначальной неверной идентификации владельца ошибки. Но, думаю, это не так интересно, как примеры находимых ошибок.<br />
<br />
<b>Я бедный крестьянка, пустить ночевать, моя бежать долго-долго</b><br />
<br />
Самый простой пример ошибки локализации – неверный пол. «When I was in Rome», говорит безликий ресурсный файл переводчику. «Когда я был в Риме», - басом говорят нам буквы с экрана. А на самом деле это хрупкая барышня. <br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154325/"><img src="http://img-fotki.yandex.ru/get/3415/lorien-julia.7/0_25ad5_4ec1767d_XL.jpg" width="700" title="" alt="" border="0"/></a><br />
<br />
Небольшое лирическое отступление о процессе перевода текстов игры. Он происходит в два этапа: сначала просто перевод, а потом редактура. В этих активностях участвуют разные люди, с разными специализациями. Но и те, и другие первоначально работают только с текстами. Так что реплика «Да вы что, промптом переводили?» - это на самом деле не минус переводчикам, а минус тестированию, которого, возможно, вообще не было. <br />
Ни переводчику, ни редактору невдомек, что слово «Mammoth» может быть переведено иначе, чем «Мамонт», но глаза тестировщика явно видят баг:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154318/"><img src="http://img-fotki.yandex.ru/get/5101/lorien-julia.6/0_25ace_55cc7a2f_M.jpg" width="300" height="277" title="" alt="" border="0"/></a><br />
<br />
Или другой пример: только видя картинку и понимая назначение предмета, можно определить, что свиток неправильно называется стопкой, а клей – ну никак не лекарство:<br />
<br />
<table width="2" border="2" cellspacing="2" cellpadding="3"><tr><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154330/"><img src="http://img-fotki.yandex.ru/get/3415/lorien-julia.7/0_25ada_69ad6593_M.jpg" width="300" height="99" title="" alt="" border="0"/></a></td><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154315/"><img src="http://img-fotki.yandex.ru/get/53/lorien-julia.6/0_25acb_2d00cd11_M.jpg" width="300" height="87" title="" alt="" border="0"/></a></td></tr>
</table><br />
Или, например, квесты, которые подразумевали ввод правильного ответа в текстовое поле. <br />
<br />
Ответ, принимаемый программой, почему-то не был вынесен в ресурсные файлы, а был упрятан в код, поэтому квест, где нужно было дать ответ на вопрос: «<i>А в каком городе Вы встретили Японского городового?</i>» принимал поначалу ответ «<b>Tokyo</b>», что совершенно неочевидно для русскоязычного пользователя. <br />
<br />
<b>Переведите картинку!</b><br />
<br />
Много текстов оказалось картинками. Мы переводили, запрашивали сорцы картинок, наши дизайнеры переделывали их, разработчики вставляли в клиент, мы тестировали.<br />
Естественно, цикл исправления такого рода ошибки намного дольше, чем просто ошибка в тексте.<br />
<br />
Не всегда, кстати, исправления посвящались действительно ошибкам в прямом смысле этого слова. Например, сообщение ВАШ ХОД при переходе хода во время боя после обсуждения трансформировалось в ТВОЙ ХОД, что к тому времени с легкой руки наших дизайнеров стало слоганом игры.<br />
<br />
<table width="2" border="2" cellspacing="2" cellpadding="3"><tr><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154311/"><img src="http://img-fotki.yandex.ru/get/3418/lorien-julia.6/0_25ac7_86deb5dd_M.jpg" width="300" height="84" title="" alt="" border="0"/></a></td><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154307/"><img src="http://img-fotki.yandex.ru/get/3418/lorien-julia.6/0_25ac3_ff080aed_L.jpg" width="300" title="" alt="" border="0"/></a></td></tr>
</table><br />
<b>Фикированная длина кнопки – головная боль игрового тестировщика</b> <br />
<br />
Отдельно прогонялись все интерфейсы, проверялось здесь правильное размещение надписей по элементам интерфейсов, соответствие надписи смыслу элемента, одинаковое название элемента в различных местах.<br />
Вот, как выглядела книга информации об игре в первой версии:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154321/"><img src="http://img-fotki.yandex.ru/get/3417/lorien-julia.6/0_25ad1_3817d8a9_XL.jpg" width="700" title="" alt="" border="0"/></a><br />
<br />
Надо отметить, что после такого тестирования в игре появилось очень много сокращений, потому что размеры элементов интерфейса жестко зафиксированы, а смысл сохранить надо.<br />
<br />
Были и нерешаемые случаи. Например, для кнопки, смысл которой «Собрать одним действием все, упавшее со всех убитых врагов после боя», нам было выделено всего 7 символов. Даже самый короткий вариант, который приходил на ум «Взять всё» содержал аж 9 символов. Игроки тоже не смогли придумать подходящий вариант. Попытка обозвать это действие «Мародер» тоже ни к чему не привела. В итоге, эта кнопка так и называется "Обыскать всех", что откровенно не помещается в предназначенную для надписи область, но решили пожертвовать красотой в угоду понятности.<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154313/"><img src="http://img-fotki.yandex.ru/get/52/lorien-julia.6/0_25ac9_6c3c9f11_M.jpg" width="299" height="159" title="" alt="" border="0"/></a><br />
<br />
<b>Я не знаю правил пер<br />
еноса текста, ты во<br />
обще о чем?</b> <br />
<br />
Изначально, все тексты в игре при переходе на новую строку просто рвали слово. В корейском языке слова переносятся по слогам (иероглифам), без дефиса и в любом месте. Мы были удивлены, узнав, что в Европе и США играют с такими переносами. Мы добились частичного исправления, и теперь в игре переносы в текстах диалогов с NPC реализованы по словам. Но, как видим, не везде. <br />
<br />
<table width="2" border="2" cellspacing="2" cellpadding="3"><tr><td>Было </td><td>Стало</td></tr>
<tr><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154327/"><img src="http://img-fotki.yandex.ru/get/5102/lorien-julia.7/0_25ad7_e8f35316_L.jpg" width="330" height="220" title="" alt="" border="0"/></a></td><td><a href="http://fotki.yandex.ru/users/lorien-julia/view/154326/"><img src="http://img-fotki.yandex.ru/get/53/lorien-julia.7/0_25ad6_bbf42b23_L.jpg" width="414" height="213" title="" alt="" border="0"/></a></td></tr>
</table><br />
К слову сказать, тексты в чатах и системных диалогах Атлантики до сих пор рвутся на букве при окончании строки, так и не смогли это пофиксить.<br />
<br />
<b>Кавычки нам ни к чему</b> <br />
<br />
Или такой случай: имеем список из ~500 книг типа Книга «Смертельный выстрел», прочтя которую, персонаж обучается умению. В команде призыва предмета в игре при тестировании вводим полное название – получаем предмет без кавычек в названии. <br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154314/"><img src="http://img-fotki.yandex.ru/get/3418/lorien-julia.6/0_25aca_4a36fc23_L.jpg" width="274" height="306" title="" alt="" border="0"/></a><br />
<br />
Идем к редакторам, те в ужасе! Оказывается, от переводчиков пришли файлы без кавычек и ребята руками добавляли кавычки во все названия, чтобы соответствовало правилам русского языка, да и вообще, лучше воспринималось глазом. И вот, в игре ни одной кавычки. Проверяем в системе, откуда разработчики берут файлы для сборки билда – есть кавычки. В игре – нет кавычек. Выяснили, что на уровне игры все кавычки вырезаются, потому что их наличие приводит к проблемам. <br />
<br />
<b>Ресурсные файлы для слабаков!</b> <br />
<br />
Надо сказать, что Атлантика имеет очень большой недостаток для нас как локализаторов. Как вы себе представляете софт, который предполагается локализовывать? Ну, очевидно: все тексты вынесены в ресурсные файлы, все общие элементы вынесены в переменные, все упоминания общих элементов ссылаются на эти переменные. С этим здесь были проблемы.<br />
<br />
Чаще всего, каждое упоминание термина содержало именно его название, а вовсе не ссылку на переменную. И одно и то же понятие вполне себе могло было быть переведено по-разному (переводчик-то не один):<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154312/"><img src="http://img-fotki.yandex.ru/get/3416/lorien-julia.6/0_25ac8_431482a3_XL.jpg" width="700" title="" alt="" border="0"/></a><br />
<br />
Или так:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154324/"><img src="http://img-fotki.yandex.ru/get/3416/lorien-julia.6/0_25ad4_12524f05_L.jpg" width="500" title="" alt="" border="0"/></a><br />
<br />
<b>Локализация – это не только перевод</b> <br />
<br />
Специально для выпуска игры в России разработчики создали локации Москва и Санкт-Петербург. В них легко можно узнать знакомые архитектурные сооружения. <br />
С локальными NPC сложнее, без подписей иногда трудно догадаться :)<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154334/"><img src="http://img-fotki.yandex.ru/get/5102/lorien-julia.7/0_25ade_cd919af1_L.jpg" width="306" height="284" title="" alt="" border="0"/></a><br />
<br />
Для того, чтобы опознать <a href="http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D1%80%D0%B1%D1%81%D0%BA%D0%B8%D0%B9">Курбского</a>, придется дождаться, пока он перестанет делать facepalm:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154317/"><img src="http://img-fotki.yandex.ru/get/5101/lorien-julia.6/0_25acd_6a389be9_M.jpg" width="206" height="300" title="" alt="" border="0"/></a><br />
<br />
<b>Тестируем не только тексты</b><br />
<br />
Плюс, конечно же, смоук-тест каждой сборки клиента (даже если он включает только исправления текстов). Такой смоук-тест содержит проверку основной функциональности игры и занимает 1-2 часа работы одного человека + полчаса групповой игры. <br />
<br />
Меня часто спрашивают, зачем вы тестируете саму игру, если она уже давно в работе в других странах. Отвечаю: не думайте, что в остальных странах она без багов. Их там много, поверьте. Поэтому наше тестирование не лишнее.<br />
<br />
И даже это не самое важное. Самое важное – баги сборки. Нет гарантии, что в следующей сборке не забудут положить папку с текстурами NPC в Москве, и игроки не будут бродить по пустынному городу в поисках хоть кого-то, кто дал бы им квест.<br />
Нет гарантии, что новый билд правильно установится. Потому что малейшая ошибка в шифровании, чексуммы не сошлись, и сервер не видит часть своих компонентов.<br />
<br />
Или даже вот такая штука:<br />
В книге-информации об игре все описания NPC съехали на одну позицию. Внезапно. Смотришь крестьянина, а информация тебе показывается о Путешественнице – следующему по списку NPC. К слову, этот баг очень долго не могли исправить. Если я не ошибаюсь, больше месяца он продержался.<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154329/"><img src="http://img-fotki.yandex.ru/get/2814/lorien-julia.7/0_25ad9_2b5247c1_XL.jpg" width="700" title="" alt="" border="0"/></a><br />
<br />
<b>Помощь пользователей</b> <br />
<br />
Тестирование любой игры делится на 3 части: внутреннее тестирование, закрытое бета-тестирование и открытое бета-тестирование. Тестирование локализованной игры – не исключение.<br />
<br />
Мы добавили ещё и до-ЗБТ, обозвав его альфа-тестированием. Пригласили на него опытных игроков в Атлантику, которые играли на европейских серверах и с удовольствием перешли бы на русские после их открытия. <br />
Эти ребята нам сильно помогли отточить качество переводов. Только они могли подсказать, что правильный с точки зрения русского языка текст на самом деле содержит смысловую ошибку:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154310/"><img src="http://img-fotki.yandex.ru/get/5101/lorien-julia.6/0_25ac6_e5e76732_L.jpg" width="500" height="292" title="" alt="" border="0"/></a> <br />
<br />
В итоге, за период альфа тестирования (2 недели) было найдено и исправлено 95 багов локализации и 31 баг самой игры.<br />
<br />
<b>Как научить пользователя правильно описывать баг</b> <br />
<br />
А надо отметить, что инструментом общения с бета-тестерами мы выбрали форум. Отдельная закрытая ветка с разбитыми по билдам или типам ошибок темами и жестким форматом постов об ошибках. И не прогадали. Во-первых, форум – это понятный и удобный пользователям инструмент. Когда тебе помогают в работе люди, которые этого делать не обязаны, важно создать максимально близкую к их привычной среду. Во-вторых, форум избавил нас от необходимости разбирать дупликаты, как это пришлось бы, выбери мы трекинговую систему.<br />
<br />
Начиная с альфа-тестирования и до самого релиза на проекте остался один тестировщик, который занимался воспроизведением (если нужно было), оформлением, назначением и отслеживанием найденных бета-тестерами багов, а также смоук и регрессионное тестирование новых билдов с исправлениями ошибок.<br />
<br />
<b>Закрытое бета-тестирование</b> <br />
<br />
После окончания фазы внутреннего тестирования, мы раздали аккаунты зарегистрировавшимся, открыли публичный сервер и началось ЗБТ.<br />
<br />
В ЗБТ версии открыли + 20 уровней контента, поэтому основная масса ошибок пришлась именно на эту, неоттестированную область. Тем не менее, для проекта неправильно задерживать ЗБТ ради выкатки пользователям полностью «вылизанной» версии. Во-первых, им хочется поскорее, во-вторых, они хотят помогать! Здесь важно выбрать good enough, подходящий для аудитории данной игры. <br />
Судя по отзывам наших бета-тестеров, мы оправдали их ожидания довольно высоким качеством.<br />
<br />
ЗБТ – это такая стадия, в которой ещё находится много багов. Просто в силу закона больших чисел. Если 1000 игроков прочесывают все одно и то же, то вероятность, что они найдут баг, пропущенный одним человеком, очень велика.<br />
<br />
Именно на этапе ЗБТ уже становится возможным выявить баги конфигурации сервера, например, что турнир начинается каждый день в 18-00 и заканчивается через 5 минут, если не набралось 10 участников (каждая цифра – это параметр), или что ограничение на охоту снимается в 6 утра только для персонажей, соответствующих определенным условиям.<br />
<br />
Баги локализации, которые находили наши бета-тестеры во время ЗБТ, в основном, касались текстов квестов. Естественно, что тестировщик, читая сотый квест за день, глазом не видит те мелочи, которые выискивает пытливый взгляд игрока-бета-тестера, претендующего на получение внутриигровой лошади после релиза за активное участие в тестировании. <br />
<br />
Были и перлы. Естественно, мы не можем ограничить ни возрастной, ни образовательный уровень, ни уровень энтузиазма игроков, поэтому многие «баги» с форума так и не перекочевали в багтрекинговую систему. <br />
<br />
Пропущен мягкий знак, сообщает нам пользователь – ну не знаком человек с высоким слогом:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154316/"><img src="http://img-fotki.yandex.ru/get/3418/lorien-julia.6/0_25acc_e5e76283_M.jpg" width="300" height="65" title="" alt="" border="0"/></a><br />
<br />
Зато слог геймеров – это отдельный язык. Чего стоят баг-репорты типа:<br />
<br />
- «<i>хоть я и нуб,не умею ставить изображения,но в "Морской дворец" есть дыра,там где 1-ые боссы,адмиралы последите за ними,и 1 из них зайдет в то место,где находится дырка»<br />
- «не берётся почта пробовал в разных разрещениях но всё равно»</i> <br />
<br />
То есть, моим ребятам приходилось не только переводить с русского на английский баги для разработчиков, но и с геймерского на русский баги для редакторов.<br />
<br />
Или вот ещё феноменальный отчет: <br />
<br />
- «<i>Не помню где и куда бежал - заметил что тень от дерева передвигается по мере моего приближения</i>» - репорт без видео.<br />
<br />
За период ЗБТ было найдено и исправлено 93 бага локализации и 22 бага игры. <br />
<br />
<b>Открытое бета-тестирование</b><br />
<br />
Между ЗБТ и ОБТ последовал небольшой перерыв, так как готовили новый сервер, рассчитанный уже на другие объемы игроков. <br />
<br />
ОБТ – это такой этап, когда уже могут играть все, кто хочет, но при этом игра ещё имеет право содержать баги. И игра в это время абсолютно бесплатная. Если у неё бизнес-модель абонплаты, то люди не платят подписку, если у неё модель free-to-play, и она зарабатывает на продаже внутриигровых предметов, то в этот период эти предметы в ней просто нельзя купить. В игру еще не встроен магазин и она не подключена к биллингу.<br />
<br />
С таким количеством постящих на форуме уже, конечно, справляться труднее. Мы перевели репорты пользователей на обычную систему тикетов, а за форумом уже следили модераторы и коммьюнити-менеджеры.<br />
<br />
Тут, конечно же, основной упор на мультиплей. Кланы, гильдии, турниры просто невозможно оттестировать силами нескольких человек. Сложный геймплей социального направления реально эффективнее тестировать силами людей, которые в этом разбираются.<br />
<br />
Итого за период ОБТ было найдено 36 багов локализации и 9 багов игры.<br />
<br />
<b>Лучший баг Атлантики за время ее тестирования</b> <br />
<br />
«<i>Оставил чара на ночь АФК рыбачить. Был дисконнект по причине смены IP-адреса провайдером. С утра не смог зайти, выкидывало в окно логина при попытке подключиться к серверу.<br />
Люди в игре сказали что мой чар он-лайн и продолжает рыбачить</i>.»<br />
<br />
Мы действительно долго не могли разобраться в чем проблема, игрок несколько раз так подвисал. Уже подумывали поставить там памятник, или попросить корейцев сделать квест с NPC Рыбаком-призраком с именем игрока. <br />
<br />
<b>Тестируем деньги</b><br />
<br />
Пока на сервере, который в будущем собирался стать продакшном, бета-тестеры начинали строить свои империи, на тестовом сервере вовсю тестировалась версия для продакшна. Та, которая была призвана уже приносить прибыль. Тут появился игровой магазин, подключенный к биллинговой системе, тут появился контент этого магазина – предметы, на которые игроки тратят свои реальные деньги. Тут и сундуки с оружием, и свитки телепортации, и лошади, ускоряющие передвижение.<br />
<br />
Финансовая часть игры тоже не с первого раза была готова к взрослой жизни. Больше десятка ошибок пришлось исправить разработчикам. Притом, почти каждая ошибка предполагала совместную работу наших и корейских разработчиков. Ведь баг интеграции – это всегда общее.<br />
<br />
<b>С Днем рождения!</b><br />
<br />
И вот релиз. Сначала один сервер, а через 2 недели открыли второй. <br />
После релиза тестировщики уже не общаются с игроками, потому что это уже не бета-тестеры, а пользователи. С ними общается служба поддержки. Она передает нам обращения пользователей, связанные с ошибками в игре, и дальше идет обычная работа с багом. <br />
<br />
Чуть позже начнется работа по подбору и организции группы бета-тестеров, которые будут помогать нам тестировать обновления, но это потом. <br />
<br />
<b>Заключение</b><br />
<br />
Это первый проект моей команды в Иннове, и, могу сказать, что мы провели тестирование хорошо.<br />
<br />
Это мой первый в жизни игровой проект, подлежащий тестированию. Очень интересный опыт.<br />
<br />
Я не рассказала здесь о тестировании сайта, о тестировании инсталлеров, о тестировании системы автоапдейта, о тестировании интеграции с защитой игры Frost, о тестировании скачивания клиента с файлоотдачи, о тестировании интеграции игры с биллингом, о конфигурационном тестировании, о тестировании реферальной системы, о выстраивании процесса работы с локализаторами и с корейскими разработчиками. Это все обычные для вас вещи. О них интересно было бы послушать игрокам. А вам я рассказываю штуки, которые банальны для них.<br />
<br />
Конечно, мы решили не все проблемы. Вот некоторые из тех, которые остались:<br />
<br />
- большое количество файлов в клиенте не способствуют быстрой скачке: 4 гиговый клиент содержит больше 30 000 тысяч файлов<br />
- перенос слов в чатах и системных сообщениях по-прежнему осуществляется простым разрывом слова<br />
- не переведены некоторые всплывающие во время боя сообщения: Bonus, Skill Up, Exp+ и т.п.<br />
- не помещаются трехстрочные описания миссий, несмотря на наличие места в интерфейсе:<br />
<br />
<a href="http://fotki.yandex.ru/users/lorien-julia/view/154319/"><img src="http://img-fotki.yandex.ru/get/5100/lorien-julia.6/0_25acf_a78f3089_L.jpg" width="500" height="358" title="" alt="" border="0"/></a><br />
<br />
Некоторые баги игры обещают пофиксить в следующей версии, которую ожидаем в конце года. Не все делается так быстро, как исправление опечатки в тексте квеста.<br />
<br />
Спасибо Саше и Жене, которые послужили ниточкой для моего входа в геймдев, спасибо Максу и Степе, появившимся в момент максимального напряжения, спасибо Мише, который довел проект до релиза. Ребята, вы молодцы!</span><br />
<!-- Yandex.Metrika --><br />
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br />
<div style="display:none;"><script type="text/javascript">
try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}
</script></div><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br />
<!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com9tag:blogger.com,1999:blog-2915575209377183930.post-76671256689076754262010-06-20T05:25:00.000-07:002010-06-20T08:55:47.736-07:00Живут, как тестировщик с программистом<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAvF7SJuThuNQ_UXVG-XLhwKL6hpMZXreRRPJZzWjQSO-pdeHVu1Cij21cBIyMbDmRQ_JcjnSueI-thQx15WV8WS6YqGRFLz7v-NnQ6tcORvSfiwWs86WH9tmfGZrxGv0WIKwFTzojeerl/s320/raceteam.jpg" border="0" alt="картинка для привлечения внимания"id="BLOGGER_PHOTO_ID_5484880406344788658" /><br /><br /><br />Часто задают вопрос: как быть с тем, что программисты не любят тестировщиков, считают их работу второстепенной, пишут неряшливо – «все равно ведь проверят» либо мстят за каждый найденный баг и пытаются не признавать их за баги.<br />Или наоборот, программисты жалуются, что тестировщики злорадствуют, найдя баг, и считают личным достижением, если программист наделал много ошибок.<br /><br />Cтандартные в таких случаях советы: объясняйте, мирите, аргументируйте, - выглядят, как будто перед программистами оправдывают существование тестировщиков. Постфактум решать такую проблему (а это <span style="font-weight:bold;">очень </span>критичная проблема) очень трудно. Нужно закладывать правильную атмосферу при построении команды и носить это правильное отношение к работе за собой из команды в команду, из компании в компанию.<br /><br />Знаете, в чем на самом деле фишка? <span class = "fullpost">В разности целей! Просто описанные тестировщики и программисты ходят на работу не за одним и тем же, не с одной целью. У них нет атмосферы работы в одном направлении. У них нет понимания того, что они делают, на самом деле, одно и то же дело, только с разных сторон.<br /><br />Конечно, все работают ради разного: кто-то ради зарплаты, кто-то ради решения интересных задач, кто-то ради получения бесценного опыта. Но для достижения личных целей нужно работать в направлении целей проекта, продукта, компании. Тогда будет и зарплата, и опыт, и интересные задачи. Судите сами, если бы целью программиста был выпуск качественного продукта, успех проекта, процветание компании, и он бы работал на это, то это бы просто автоматически работало на его личную цель. И при таком раскладе никогда не прозвучит «это не баг», потому что любое подозрение на баг таким специалистом принимается и рассматривается.<br /><br />Как раз сейчас я краем глаза смотрю запись гран-при Канады Формулы 1. <br /><br />Феноменальный пример слаженной, однонаправленной командной работы. Есть 2 части команды: собственно, перформер, пилот, человек, который на виду, который пожинает лавры в глазах публики, но который на каждой пресс-конференции говорит про работу всей команды, и есть та самая команда-тыл, которая смотрит на его работу на трассе, анализирует её и говорит в шлемофон: «Кубица сменил резину на жесткую, Барикелло тоже, не дай себя обойти». А теперь представьте, что команда отлавливает ошибки пилота и злорадно сообщает ему «Из-за того, что ты не сменил резину на прошлом пит-стопе, потерял 2 секунды во время дождя». Как только части команды начинают работать друг против друга – она обречена на провал!<br /><br />Давайте посмотрим на команду разработки. Нам явно нужна классификация. Сначала хотелось назвать описываемых героев Хорошими Тестировщиками (или Программистами) и Плохими Тестировщиками (или Программистами). Потом подумала, что тогда в этом мире получится очень много плохого, а это не так. Поэтому у меня будут Просто Программисты (или Тестировщики) и Правильные Программисты (или Тестировщики). <br /><br />Признаки того, что ваши программисты и тестировщики не Правильные:<br /><br /><span style="font-weight:bold;">- от тестировщиков звучат фразы «наколбасил им багов, пусть теперь разгребают»</span><br /><br />Это идет от старших тестировщиков и от общей атмосферы в коллективе. Я ещё не видела ни одного неопытного тестировщика, который бы думал так с самого начала. <br />Если старший коллега хочет вырастить злобное чудовище, которое радуется при нахождении бага не потому, что теперь пользователь получит на одну ошибку меньше, а потому, что насолил программисту, то ему стоит продолжать в духе «Давай, сынок, покажем этим кодерам, что за какашку они выпустили бы без нас ». Но если он хочет, чтобы тестирование работало не против программирования, а совместно с ним на качество продукта, и ведет себя соответственно, то никогда в его команде не будет такого.<br /><br /><span style="font-weight:bold;">- от программистов слишком часто звучит презрительное «это не баг»</span><br /><br />Это значит, что каждый баг воспринимается как личный тычок: «Это твоя личная ошибка, слышишь? Ты непрофессионал. Хорошие программисты пишут без ошибок, а ты баг сделал, эх, ты». Думаю, что здесь проблемы надо искать в личности такого специалиста. Адекватный человек, направленный на развитие, использует любую критику для совершенствования, а не для обид. Тем более, когда критикуют работу, воспринимать это как личную критику – выглядит как болезнь.<br /><br /><span style="font-weight:bold;">- программист не проверяет результат своей работы перед передачей в тестирование</span><br /><br />«Моё дело писать код, а их дело проверять», «Ну а их-то зачем понанимали?» - можно услышать в таких командах. Это элементарное отсутствие гигиены, работа ради «отписаться». Где вы видели журналиста, который не перечитывает свою статью перед тем, как передать её в редактуру? Если в коллективе есть программист, который проповедует такой подход, его нужно как можно скорее ликвидировать. Какой бы он ни было классный специалист. <br /><br /><span style="font-weight:bold;">- тестировщики заносят баги, не интересуясь их дальнейшей судьбой</span><br /><br />Это позиция «с моей стороны пуля вылетела» с другой стороны. <br />Цель тестирования – найти как можно больше ошибок в приложении, безусловно, имеет право на жизнь на определенных этапах тестирования. Только в этом определении не хватает второй части. Исправить. В силах тестировщиков донести важность важных багов до программистов и честно сказать про низкий приоритет низкоприоритетных. Если программисты знают, что их тестировщики зря хайприорити не поставят, то они серьезно относятся к каждому такому багу. А вот массированная атака багами без интереса к их дальнейшей судьбе, без подвижек в сторону облегчения их локализации, действительно является результатом работы только на себя.<br /><br /><span style="font-weight:bold;">- эффективность работы тестировщиков измеряется количество найденных багов, а мера качества работы программистов обратно зависит от этого количества</span><br /><br />Это первый шаг, который толкает хороших специалистов и неплохих (я уверена) людей грызться на работе. Если работа не измеряется конечным качеством выпускаемого продукта, а лишь количественными показателями работы, то люди и работать будут на количество. Тестировщики на увеличение, программисты на уменьшение.<br /><br />В то время, как только подход «максимум найти и тот же максимум обезвредить» эффективен, на мой взгляд, и работает действительно на цели продукта.<br /><br />Уверена, что список можно продолжить.<br /><br />При этом, чувствуете? В первом и четвертом случае корень проблемы в Просто Тестировщиках, во втором и третьем - в Просто Программистах, а в пятом - в Просто Менеджерах. Если у вас одна их таких ситуаций, смотрите, от кого исходит этот вирус и искореняйте его.</span><br /><!-- Yandex.Metrika --><br /><script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br /><div style="display:none;"><script type="text/javascript"><br />try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}<br /></script></div><br /><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br /><!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com7tag:blogger.com,1999:blog-2915575209377183930.post-57281135453575078452010-06-15T10:11:00.000-07:002010-06-15T10:26:43.159-07:00Тестирование игр: фан или тяжелый труд?Индустрия геймдева по очень нехорошей тенденции далека от индустрии разработки обычного, "человеческого" софта. Люди, работающие в этих двух мирах, очень редко переходят из одного в другой. Человек, поработавший в геймдеве, либо прикипит к нему всей душой и ни на что не променяет, либо сбежит отсюда очень быстро и никогда не вернется.<br /><br />Попав в Иннову, компанию, издающую игры в России, я была поражена одной вещью: тут вообще не стоит проблема "как зажечь человека". Если ты не горишь сам - ты уходишь. Ты просто не выживешь. Ты обожжешься о многих других, которые любят свою работу, любят свои продукты. Саше Орлову здесь работы в этой области не найдется :) <br /><br />Конечно же, очень явно для меня видны отличия в области тестирования. Об этом я рассказывала на SQA Days 7, которая проходила в мае этого года в Харькове.<br />Рассказать хотелось очень много, поместилось, как всегда, очень мало :)<br /><br /><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="slide" align="middle" height="380" width="450"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://file.podfm.ru/slide.swf"><param name="menu" value="false"><param value="transparent" name="WMode"><param name="quality" value="high"><param name="FlashVars" value="xmlurl=http://jnechaeva.podfm.ru/my/1/data.xml"><embed src="http://file.podfm.ru/slide.swf" menu="false" quality="high" name="slide" flashvars="xmlurl=http://jnechaeva.podfm.ru/my/1/data.xml" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" align="middle" height="380" width="450"></embed></object><br /><br /><!-- Yandex.Metrika --><br /><script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br /><div style="display:none;"><script type="text/javascript"><br />try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}<br /></script></div><br /><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br /><!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com6tag:blogger.com,1999:blog-2915575209377183930.post-11509520984400564142010-05-22T23:08:00.000-07:002010-05-23T00:22:55.911-07:00А/Б сплит тестирование: что общего у оптимизаторов и тестировщиков?<span style="font-style:italic;">Попытавшись найти в яндексе информацию про A/Б сплит тестирование, обнаружила, что все ссылки ведут на сайты для оптимизаторов и "продвигателей" сайтов.<br /><br />Ни одной ссылки на сайт для маркетологов, продакт-менеджеров или тестировщиков.А ведь это так замечательно вписывается в концепцию <a href="http://jnechaeva.blogspot.com/2010/05/blog-post.html">Business Driven Testing</a>: инструмент, который позволяет понять, нравится ли пользователю то, что мы сделали? <br /><br />Поэтому делюсь переводом статьи, оригинал которой находится <a href="http://www.marketingexperiments.com/improving-website-conversion/ab-split-testing.html">здесь</a>. Статья, конечно, тоже про оптимизацию продажнических, как я их называю, страниц. Но обзор и советы во второй части текста очень даже применимы для любого продукта, который мы хотим совершенствовать на основании реакции наших пользователей.</span><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marketingexperiments.com/images/hd_findings.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 429px; height: 61px;" src="http://www.marketingexperiments.com/images/hd_findings.gif" border="0" alt="" /></a><br /><br />Большинство из вас знает концепцию A/Б сплит тестирования как метод определения, какие из элементов на странице способствуют цели веб-страницы, а какие нет.<br />Например, типичным тестом является сравнение двух разных хидеров на главной странице. Один из них может превосходить по показателям другой, и – опа! – вы в курсе, как привести страницу к лучшей производительности (здесь под производительностью имеются ввиду маркетинговые показатели, дальше станет ясно).<br /><br />На самом деле, с помощью A/Б сплит тестирования можно делать намного больше. <span class="fullpost"><br /><br />1) Можно использовать A/Б сплит тестирование для того, чтобы лучше понимать желания ваших посетителей и их приоритеты во время посещения вашего сайта;<br /><br />2) Можно использовать A/Б сплит тестирование для решения специфических проблем с вашими страницами. Другими словами, у вас в руках инструмент диагностики, призванный показать, что не так и как это исправить;<br /><br />3) Можно использовать A/Б сплит тестирование для того, чтобы в корне опровергнуть предположения, живущие в вас в голове, о том, как наилучшим способом разработать или написать страницу. (<span style="font-style:italic;">Здесь речь не только о тестировании минорных элементов, но также и о полном и кардинальном ре-дизайне всей страницы</span>).<br /><br />Тут встает существенный вопрос. Тестирование приносит значимые результаты только тогда, когда вы тестируете постоянно. Одиночный тест сообщит вам очень мало. Но когда у вас появляется «привычка» постоянно тестировать, собирать тесты со временем, это даст существенный взнос в успех вашего сайта.<br /><br />Наши собственные результаты, перечисленные в этом рассказе, как раз показывают, как много может быть достигнуто и изучено с помощью «простого» А/Б сплит теста.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marketingexperiments.com/images/hd_synopsis.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 429px; height: 61px;" src="http://www.marketingexperiments.com/images/hd_synopsis.gif" border="0" alt="" /></a><br /><br />Давайте взглянем на три теста и их результаты. Каждый из них показывает не только, как можно совершенствовать результаты, но и как можно узнать больше о том, что работает, а что не работает (<span style="font-style:italic;">здесь под «работает» понимается не функционирование без ошибок, а работу на результат, то, что элемент, страница или сайт работает так, как было задумано, и что он дает людям то, что они хотят</span>), и чего на самом деле ищут посетители.<br /><br /><span style="font-weight:bold;">ТЕСТ1: Тестирование влияния Новостей на количественные показатели реакций на имейлы.</span><br /><br />Мы провели простой тест с двумя имейлами, которые были написаны для увеличения количества заходов на сайт по ссылкам и конвертирования их в продажи.<br /><br />В имейле 1 мы написали «продажнический» текст в контексте эмоционально заряженной новости, которая заодно была и заголовком.<br /><br />В имейле 2 мы написали текст без специального упоминания о событии, но все также ссылающегося на «последние события в новостях»<br /><br />Основным различием между двумя имейлами было то, что в одном событие упоминалось по имени, а во втором - нет.<br /><br />Мы протестировали нашу рассылку на 337 466 емейлах-участниках.<br />Мы подвели итоги после 12 дней, хотя клики продолжали потихоньку сыпаться и после.<br /><br />Вот результаты после первых 12 дней:<br /><br /><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='mso-cellspacing:0cm;mso-yfti-tbllook:1184;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'> <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'> <td colspan=3 style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=center style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:center;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Результаты тестирования имейлов<o:p></o:p></span></b></p> </td> </tr> <tr style='mso-yfti-irow:1'> <td width=225 style='width:168.5pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'> <o:p></o:p></span></p> </td> <td width=132 style='width:99.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Имейл</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'> A</span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'><o:p></o:p></span></p> </td> <td width=132 style='width:99.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Имейл Б</span></b><span lang=EN-US style='font-size: 12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'><o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:2'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Послано имейлов<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>168</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'> </span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'>733<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>168</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'> </span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'>733<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:3'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Кликов<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>5</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'> </span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'>119<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>4</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'> </span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'>395<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:4'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Кликов к показам</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'> (CTR)<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>3.03%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>2.60%<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:5'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Продаж<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>175<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>122<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:6'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Конверсия</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'> (</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Клики в продажи</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'>)<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>3.42%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>2.78%<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:7'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Конверсия</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'> (</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Имейлы в продажи</span><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'>)<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>0.104%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>0.072<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:8;mso-yfti-lastrow:yes'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'></td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'></td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'></td> </tr></table><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marketingexperiments.com/images/p_check_icon.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 37px; height: 28px;" src="http://www.marketingexperiments.com/images/p_check_icon.gif" border="0" alt="" /></a><span style="font-weight:bold;">Что здесь нужно понять:</span> Имейл А (специально упоминавший новость и события, связанные с ней) значительно опережает имейл Б. CTR вырос на 16,5%, а полная конверсия (имейлов к продажам) на 43,4%.<br /><br />Имейл, раскрывающий суть данной новости, сгенерировал на 53 заказа больше (что означает 43,4% рост), чем имейл, который лишь ссылался на события, окружающие рассказ, без специфических упоминаний.<br /><br /><span style="font-weight:bold;">ТЕСТ 2: Тестирование определенной проблемы</span><br /><br />В нашем втором тесте мы были уверены, что наши клиенты, посещающие наш сайт с 800x600 или 1024x768 разрешением монитора, не находили релевантных ссылок на продажи на основном сайте продукта до тех пор, пока не проскролливали страницу до самого низа.<br /><br />Мы устроили A/Б/В сплит тест для тестирования этой гипотезы:<br /><br />Страница А была оригинальной страницей.<br /><br />Страница Б – содержала сильно укороченные данные и использовала «click here» текст, чтобы привлечь посетителей вниз страницы. Эта страница отображала процесс заказа на 1024x768 мониторе, а на 800x600 мониторе она показывала копию заказа основного продукта<br /><br />Страница В была радикально переделана таким образом, что процесс заказа был частично виден на мониторах с разрешениями 800x600 и выше. Здесь использовались 2 колонки, чтобы сделать доступной больше информации «выше перегиба».<br /><br />И вот результаты нашего тестирования:<br /><br /><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='mso-cellspacing:0cm;mso-yfti-tbllook:1184;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'> <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'> <td colspan=4 style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=center style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:center;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>А/Б/В сплит тест<o:p></o:p></span></b></p> </td> </tr> <tr style='mso-yfti-irow:1'> <td width=122 style='width:91.6pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'> </span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'><o:p></o:p></span></p> </td> <td width=120 style='width:90.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Страница</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'> A</span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;mso-fareast-language: RU'><o:p></o:p></span></p> </td> <td width=120 style='width:90.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Страница Б</span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'><o:p></o:p></span></p> </td> <td width=108 style='width:81.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Страница В</span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'><o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:2'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Процент показов<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>34%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>33%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>33%<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:3'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Новых продаж<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>244<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>282<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>114<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:4;mso-yfti-lastrow:yes'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Изменение<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>N/A<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>15.57%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span lang=EN-US style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>- 53.28%<o:p></o:p></span></p> </td> </tr></table><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marketingexperiments.com/images/p_check_icon.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 37px; height: 28px;" src="http://www.marketingexperiments.com/images/p_check_icon.gif" border="0" alt="" /></a> <span style="font-weight:bold;">Что здесь нужно понять:</span> Страница Б превзошла первоначальную на 15,57%, страница В оказалась совершеннейшим фейлом.<br /><br />В нашей «веб-клинике» мы опросили нашу аудиторию, попросив предсказать, какая из этих страниц работала бы лучше. Преимущество они отдали странице В, показывая, что то, что кажется «очевидным» большинству маркетологов, не всегда соответствует на самом деле лучшей странице, выявленной после тестирования.<br /><br />В этом тесте наша гипотеза важности размещения основных «продажнических» ссылок выше на странице оказалась верной. Более того, двухколоночный подход страницы В оказался вообще неэффективным.<br /><br /><span style="font-weight:bold;">ТЕСТ 3: Опровержение предположения тестированием «очевидного» и извлечение уроков из результатов.</span><br /><br />В этом тесте мы создали 2 версии простых продажнических онлайн-страниц. Каждая страница была примерно 2 экрана в длину и просила читателя заполнить короткую форму для получения бесплатного информационного продукта.<br /><br />В версии А мы добавили некоторые персонализированные элементы на страницу, включая фотографию автора, личное представление и подпись. Другими словами, мы создали личное «продажническое письмо» на веб-странице.<br /><br />В версии Б продажнический текст был практически таким же, но без персонализированных элементов: ни фото, ни приветствия, ни подписи.<br /><br />Какая же из версий выиграла? Общепринятая точка зрения нашептывала нам, что персонализированная версия выиграет. И вот результаты нашего тестирования:<br /><br /><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='mso-cellspacing:0cm;mso-yfti-tbllook:1184;mso-padding-alt:1.5pt 1.5pt 1.5pt 1.5pt'> <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'> <td colspan=3 style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=center style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:center;line-height:normal'><b><span lang=EN-US style='font-size: 12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-ansi-language:EN-US;mso-fareast-language:RU'>A</span></b><b><span style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'>/Б сплит тест<o:p></o:p></span></b></p> </td> </tr> <tr style='mso-yfti-irow:1'> <td width=120 style='width:90.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'></td> <td width=180 style='width:135.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Версия </span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:RU'>A</span></b><b><span style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'> (персонализированная)</span></b><span style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family: "Times New Roman";mso-fareast-language:RU'><o:p></o:p></span></p> </td> <td width=168 style='width:126.0pt;padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>Версия Б <o:p></o:p></span></b></p> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>(безличная)</span></b><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'><o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:2;mso-yfti-lastrow:yes'> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: normal'><span style='font-size:12.0pt;font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";mso-fareast-language:RU'>Конверсия<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>34.6%<o:p></o:p></span></p> </td> <td style='padding:1.5pt 1.5pt 1.5pt 1.5pt'> <p class=MsoNormal align=right style='margin-bottom:0cm;margin-bottom:.0001pt; text-align:right;line-height:normal'><span style='font-size:12.0pt; font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-language:RU'>39.9%<o:p></o:p></span></p> </td> </tr></table><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.marketingexperiments.com/images/p_check_icon.gif"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 37px; height: 28px;" src="http://www.marketingexperiments.com/images/p_check_icon.gif" border="0" alt="" /></a><span style="font-weight:bold;">Что здесь нужно понять:</span> Версия Б превзошла версию А на 15,3%.<br />В этом случае, наши ожидания касательно выигрыша персонализированной страницы не оправдались.<br /><br />И здесь нужно отметить 2 момента:<br /><br />Во-первых, если бы мы никогда не тестировали эти страницы, вы могли бы остаться в проигрыше, предполагая, что персонализированная страница будет работать лучше.<br /><br />Во-вторых, это был всего лишь один тест. Что если бы мы взяли персонализированную страницу и удвоили бы её длину? А если ещё и добавить индивидуальную рекламку? Что если бы мы каким-нибудь образом изменили фото, или расположили бы её в другом месте на странице?<br /><br /><blockquote><span style="font-weight:bold;">Ключевой момент: Каждый тест дает ответы. Но каждый тест должен также стимулировать на дальнейшие размышления и дополнительные раунды тестирования для выяснения нового.</span></blockquote><br /><br /><br /><div align=justify><span style="font-weight:bold;">Резюмируя А/Б тестирование:</span></div><br /><br />Использовали ли вы А/Б тестирование раньше или нет, следующие шаги могут помочь вам формализовать обычный порядок тестирования и улучшить ваши результаты.<br /><br />Правила А/Б сплит тестирования для «Landing Pages» (<span style="font-style:italic;">страница, на которую попадает посетитель клацнув на рекламу, либо перейдя по ссылки с результата поискового запроса</span>):<br /><br />1) Развивайте ваши возможности и выбирайте правильные инструменты.<br /><br />Инструменты для А/Б сплит тестирования могут варьироваться от простых CGI скриптов до сложных приложений. Но, даже без сложных возможностей А/Б сплит тестирования, последовательные тесты – это возможность для вас открыть много нового про ваши страницы. <br /><br />2) Определите вашу контрольную страницу.<br /><br />Ваша контрольная страница будет той страницей, по отношению к которой вы будет тестировать всю последующую работу по оптимизации. Если вы только начинаете А/Б Тестирование, вашей контрольной страницей будет ваша текущая «landing page» до оптимизации. Когда новая страница превзойдет существующую контрольную страницу, тогда она станет контрольной в последующем тестировании.<br /><br />3) Установите Цели и Параметры вашего тестирования.<br /><br />Чего вы пытаетесь достигнуть с помощью А/Б тестирования? Вы гонитесь за подписчиками, за повышением конверсии или за увеличением ROI ваших PPC (pay-per-click) кампаний. Ваши цели будут определять ваши параметры тестирования, которые в свою очередь определят потенциальный успех ваших усилий по тестированию.<br /><br />4) Определите ваш интервал «достаточности тестирования».<br /><br />Такой период времени должен давать вам достаточно времени для сбора нужной информации, чтобы измерить реальный инсайт от ваших тестов. Определите количество уникальных посетителей и/или конверсию, необходимые для обеспечения нужных данных, и затем определите, сколько времени займет у вас обеспечить такой траффик. Это количество, конечно же, будет варьироваться в зависимости от рода деятельности, но в любом случае, оно должно давать вам данные, чтобы однозначно определить победителя. <br /><br />5) Создайте 1-3 радикальных редизайна.<br /><br />Ключевой момент: Такие страницы должны содержать не просто неуловимые оптимизации, изменяющие один или два элемента на странице, а полностью различными подходами.<br /><br />6) Измерьте такие редизайны с помощью А/Б Сплит тестов.<br /><br />Протестируйте альтернативные страницы по отношению к контрольной странице. В идеале, каждая страница должна быть протестирована по отношению ко всем остальным страницам, но если это нереализуемо, тестируйте 2 страницы одновременно и оставляйте победителя как контрольную страницу для следующих тестов.<br /><br />7) Определите вашу новую контрольную страницу, базируясь на результатах.<br /><br />Метод радикального редизайна будет более приемлем для создания качественного скачка в увеличении конверсии, чем в оптимизации посредственной странички с маленьким потенциалом. Как только вы обозначили наилучший общий подход, вы готовы оптимизировать отдельные элементы на странице.<br /><br />8) С помощью традиционного Variable-Specific А/Б тестирования оптимизируйте переменные для тестирования:<br /><br />Заголовка<br />Призыва к действию (call to action)<br />Картинок и графики<br />Цветов<br />Конфигураций элементов страницы и т.д.<br /><br /><div align=justify><span style="font-weight:bold;">Заключительные комментарии.</span></div><br /><br />Вам нужно запомнить несколько важных моментов про A/Б тестирование:<br /><br />1) Даже если вы не можете провести настоящий А/Б тест (где 2 версии страницы показываются одна после другой для разделения посетителей вашего сайта), очень легко провести последовательный А/Б сплит тест.<br /><br />Ключевой момент: Последовательный тест – это когда вы показываете одну версию страницы в течение некоторого периода, например – пару дней или неделю, и потом показываете другую версию в течение следующих пары дней или недели. Результаты могут быть несколько менее надежными, но все ещё могут выдать значимую информацию и показать тренды.<br /><br />2) Тестирование дает вам возможность максимизировать конверсионные рейты, разрешить проблемы и опровергнуть предположения. И имейте в виду, какие возможности у вас есть даже после тестирования малюсеньких изменений на странице.<br /><br />Вы даже можете заменить существующую страницу разработкой и написанием абсолютно новой версии, где практически все будет отличаться. На самом деле, как раз с помощью таких радикально изменяющих подходов вы в большинстве случаев добиваетесь взрывных улучшений.<br /><br />3) Тестирование предлагает компаниям неоценимую возможность произвести на руководство компании и менеджмент сильное впечатление предложенными изменениями для улучшения.<br /><br />Убедить менеджмент на основании субъективной экcпертизы - само по себе является маловероятным. Но, если у вас есть ясные и понятные результаты тестирования, процесс убеждения становится намного проще.<br /><br />4) Использование последовательного тестирования значительно увеличит базу знаний вашей группы или компании. Вы многому научитесь, и вскоре сможете определить набор оптимизационных практик, которые работают наилучшим образом конкретно для вашего бизнеса.<br /><br />Отсутствие тщательного тестирования оставляет вас в потемках, зависимых от гаданий во время работы над созданием ваших страниц.<br /><br />5) Обеспечьте процесс тестирования ваших веб-сайтов и имейлов. В рассказе выше мы обозначили для вас правила «как начать». В дополнение, держите документ – шаблон для A/Б тестирования, который поможет вам вести процесс экспериментирования. <br /><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:36.0pt;line-height:normal'><u><span lang=EN-US style='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman";color:blue;mso-ansi-language:EN-US;mso-fareast-language:RU'>ABTestingTemplate.doc</span></u><u><spanstyle='font-size:12.0pt;font-family:"Times New Roman","serif";mso-fareast-font-family:"Times New Roman";color:blue;mso-fareast-language:RU'><o:p></o:p></u></p><br /><br />Удачи! </span><br /><!-- Yandex.Metrika --><br /><script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br /><div style="display:none;"><script type="text/javascript"><br />try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}<br /></script></div><br /><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br /><!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com4tag:blogger.com,1999:blog-2915575209377183930.post-89498370121129506822010-05-03T23:04:00.000-07:002010-05-23T00:16:08.074-07:00Тестирование - это не просто тестированиеМой рассказ на <a href="http://softwarepeople.ru/sp2010/">Softwarepeople 2010</a>, плавно перетекший в диалог со слушателями. Рассказываю, что тестирование может работать на успех продукта, а не только на корректность функциональности приложения. <br />Я уже очень давно думала про Business Driven Testing, и вот, наконец-то, собралась рассказать о таком подходе.<br /><br /><div style="width:425px" id="__ss_3872709"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/jnechaeva/ss-3872709" title="Тестирование - это не просто тестирование">Тестирование - это не просто тестирование</a></strong><object id="__sse3872709" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=nechaevasp2010-100427120416-phpapp02&stripped_title=ss-3872709" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse3872709" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=nechaevasp2010-100427120416-phpapp02&stripped_title=ss-3872709" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/jnechaeva">Julia Nechaeva</a>.</div></div><br /><br /><!-- Yandex.Metrika --><br /><script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br /><div style="display:none;"><script type="text/javascript"><br />try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}<br /></script></div><br /><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br /><!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com0tag:blogger.com,1999:blog-2915575209377183930.post-4184793060456068142010-04-14T08:44:00.000-07:002010-04-14T08:51:49.381-07:00Прекрасное про обращение с багами<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDs9QoVuNcizw-DTOSIXuU7QZ7qqceYE4jnakbU7ZjIgxvg72QZ-DpzGIv8zHJfiXnLTNpmBIy6Wpqc0hnAOUHwfXnleOHa3vJ5PObftmXmJ07oQsW2hGo3gOh6RXWRwJv48wT7BRNyd2K/s1600/Bugs_and_Feelings.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDs9QoVuNcizw-DTOSIXuU7QZ7qqceYE4jnakbU7ZjIgxvg72QZ-DpzGIv8zHJfiXnLTNpmBIy6Wpqc0hnAOUHwfXnleOHa3vJ5PObftmXmJ07oQsW2hGo3gOh6RXWRwJv48wT7BRNyd2K/s1600/Bugs_and_Feelings.jpg" width=600 title="" ></a><br /><br />Спасибо, <a href="http://retverd.blogspot.com/">Рома</a>.<br /><br /><!-- Yandex.Metrika --><br /><script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script><br /><div style="display:none;"><script type="text/javascript"><br />try { var yaCounter246595 = new Ya.Metrika(246595); } catch(e){}<br /></script></div><br /><noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/246595" alt="" /></div></noscript><br /><!-- /Yandex.Metrika -->Julia Nechaevahttp://www.blogger.com/profile/10351585428833840273noreply@blogger.com3