воскресенье, 30 июня 2013 г.

Во время автоматизации ты ищешь баги или теряешь время?

Очередной совет из книжки Lesson Learned in Software Testing, № 111, оставил очень и очень спорное впечатление. В вольном переводе он звучит так:

 Примите во внимание, что во время автоматизации вы не ищите баги.


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

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

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

И действительно, новомодные подходы типа TDD очень крутые и дают огромный выигрыш. НО. Я не согласна с тем, что автотесты на готовую систему не ищут ошибок.

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

На простых GUI тестах! А все потому, что, написав скрипт 1 раз, очень легко его повторить, немного видоизменив. Например, в поле "индекс" можно ввести 6 чисел, чтобы система посчитала ввод корректным.

Написали положительный тест, а потом поехали - 5 чисел, 7 чисел, символы, пустая строка итд итп. Если каждое поле так тщательно проверять в каждой регрессии вручную - спятить же можно! Конечно, мы не будем каждый раз проверять каждое поле, это слишком нудно и утомительно.

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

В общем, в тестах ты ищешь каждую мелочь, обращаешь внимание на малейшие детали - ведь робот тупой, что ты скажешь проверять, то он и проверит, поэтому ты выполняешь тест вручную, наблюдаешь за результатом и оп-па! Оно, оказывается, давно не работает! Smile :)

В общем, я за TDD и все такое, но категорически не согласна с тем, что во время простой GUI автоматизации баги не ищутся. Ищутся! Просто тестирование идет медленнее.

четверг, 27 июня 2013 г.

Mind Map для составления списка дел

Люди часто задаются вопросом - зачем нужны интеллект-карты? Как их рисовать? Для чего использовать?

Да для всего, чего угодно! Даже... Для отпуска Smile :)

Вот например, выдалось у меня 2 недельки отпуска - Летняя школа + погостить в Симферопле + отдохнуть по прилету.

Могу показать реальный пример использования майнд-карты. Правда, я немного читер, у меня все-таки не совсем "weekly plan", у меня было 2 недели, но все же.


Разумеется, некоторые веточки я не хочу показывать "на весь мир", поэтому некоторые веточки не развернуты. Хочу только похвастаться, что в этих "скрытых" ветках у меня стоит еще 18 галочек!

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

А потом проставляю галочки и радуюсь своим маленьким, но шажочкам вперед, ближе к цели!
Это действительно очень приятно, видеть, как твоя карта потихоньку зеленеет, прям гордишься собой.

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

Книжки опять же - 8 страничек, фи. Мало? Мало! Но эти 8 страничек приближают меня к конечной цели - прочитать книжку целиком. Опять же, работа, после работы туда-сюда, и вот ты такой уставший... И на книжку времени нет! Да что ж такое то!!

Поэтому ставим маленькую, но цель - прочитать хотя бы 10 страниц. И вуаля - 10 страниц там, 10 страниц сям, а все равно лучше, чем и дальше прокрастинировать!

Сейчас, правда, опять обленилась, составила план на 3 месяца, и ленюсь Smile :)
Но, если опять появится много разных задачек, обязательно сделаю себе 1-2 недельный и попробую выполнить хотя бы половину.

Карта позволяет:
  • Не забыть какое-то дело.
  • Распределять ресурсы - если у вас есть несколько одинаково (казалось бы) значимых для вас веток, и вы видите, что только одна зеленеет, а вторая простаивает - это сигнал к изменению тактики. К тому, чтобы больше внимания уделить другой стороне жизни.
В общем, попробуйте! А дальше оно как-то все само получится Smile :)

PS - изначально я создала Weekly Plan в программе XMind, она подсказала мне некоторые ветки, очень удобно! А этот пост я собиралась написать еще в пн (сегодня чт), так что, пожалуй, блог-посты у меня в целях не зря....

PPS - вот я и составила новую карту на неделю, приятно же там отметить совершенное действие зеленым и потом себя наградить за это Smile :)

суббота, 22 июня 2013 г.

Столько стоит автоматизация?

Хочу привести тут очередной совет из книжки Lesson Learned in Software Testing (№ 109), в вольном переводе, очень уж понравился:
Вот пример некорректного расчета стоимости тестирования:

Стоимость ручного тестирования = стоимость подготовительных работ + (N * количество запусков теста).

Стоимость автоматизированного тестирования = стоимость подготовительных работ + (N * количество запусков теста).

Это такая простая апроксимация, из-за которой люди приходят к ряду неправильных выводов. И у нас (у авторов) есть 2 принципа, которые мы используем для оценки эффекта автоматизации.

1. Тесты сами по себе несравнимы. Нельзя приравнивать автоматическое тестирование ручному. Об этом подробнее написано в другом совете, но я скажу кратко. Робот тупой, что ты ему сказал проверить, ровно то он и проверит и упадет, только если случится что-то совсем плохое. А вот если поедет верстка, робота это не колышет, ведь правильные тесты смотрят на элементы на странице не по их координатам. В общем, автоматизация нужна для одних целей, а ручное тестирование - для других. Например, для вдохновения на будущие тесты. Автоматизация эксплораторить сама по себе не умеет.

2. Нельзя сравнивать стоимость прогона автоматического теста 50 раз со скоростью прогона этого же теста 50 раз вручную. Кто будет прогонять один и тот же тест 50 раз вручную? И надо ли оно?

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

Поэтому, для подсчета реальных выгод от автоматизации необходимо правильно рассчитывать их стоимость и не делать ложных выводов, иначе вы можете направить усилия совсем не то, что в данный момент реально нужно делать.

среда, 19 июня 2013 г.

Цель-3. Элияху Голдратт, Эли Шрангейхейм и Кэрол Птак


Я сначала думала, что эта книга – продолжение путешествий главного героя из Цель и Цель-2, но на этот раз в виде директора. Какие еще его подстерегают проблемы? Как он их будет решать?

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

Но оказалось, что Цель-3 – это не продолжение уже известных нам историй, а совершенно новый роман. Другие герои, другие проблемы.

Книжка вполне интересная, в ней поднимаются проблемы  - а знаем ли мы вообще, что мы продаем и зачем это нужно Заказчику? Как наша система окупается? Какую прибыль приносит?

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

Я думаю, эту книжку стоит прочитать, чтобы лучше понимать цели вышестоящего начальства. Мы же должны знать, что мы тестируем и зачем оно кому-то нужно!

PS - Добавила книгу в общий список прочитанных мною книг.

вторник, 18 июня 2013 г.

Летняя школа - список книг

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

Работать с новыми силами и покорять новые вершины! В этом им помогут в том числе и рекомендованные в школе книжки:

1. Наталья Руколь, тренер:

Книги по мотивации и менеджменту
Книга про мотивацию с отказом от стимулов, с возможностью дать людям проявлять свои творческие навыки и просто не мешать в этом.

2. Сначала надо нарушить все правила: http://www.alpinabook.ru/catalogue/4744.html
САМАЯ ВАЖНАЯ КНИЖКА ПРО ЛЮДЕЙ ВСЕХ ВРЕМЁН И НАРОДОВ Smile :)

3. Жесткий менеджмент: http://www.alpinabook.ru/catalogue/115007
Офигенская книжка по ЖЁСТКОМУ менеджменту, как противоположность 2-м предыдущим. Есть полезные советы + расширяет сознание!

4. Теория ограничений Голдратта: http://www.ozon.ru/context/detail/id/5288956/

Коммуникации

1. Чёрная риторика: http://www.alpinabook.ru/catalogue/4329.html?phrase_id=1357340
Мощная книжка с интересными советами о том, как доносить до других людей свою точку зрения

2. Алексей Баранцев, тренер:

1. Про этологию: http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D0%BE%D1%81%D0%BB%D1%83%D1%88%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B8%D1%82%D1%8F_%D0%B1%D0%B8%D0%BE%D1%81%D1%84%D0%B5%D1%80%D1%8B (для тех, кто утром в воскресенье это обсуждал на скамеечке)

2. Про менеджмент 3,0
http://www.noop.nl/ -- это блог
http://www.management30.com/ -- это книга "Management 3.0"

3. Алистер Коберн "Современные методы описания требований к системам".

4. Круглый стол автоматизации:
5. Perfect Software and other illusions about testing.
6. Психология программиста.

7. "Не заставляйте меня думать" Стив Круг.
8. "Элементы опыта взаимодействия" Дж Гарретт
9. "Одураченные случайностью" Талеб
10. "Проектируем время. Психология восприятия времени в программном обеспечении" Стивен Сеов.

3. Максим Фоминов, участник летней школы:

1. http://pikabu.ru/story/sbornik_kompyuternyikh_knig_1172348

2. http://www.ozon.ru/context/detail/id/126944/
3. http://www.ozon.ru/context/detail/id/3925484/
По юзабилити мини книжки которые стоит почитать


4. http://usabilitylab.ru/blog/steven-seov/
5. http://nnm-club.ru/forum/viewtopic.php?t=595699 - тут торентик на 1гб в пачке есть эта книжка


4. Олег Татарчук, участник летней школы:

Анатолий Протопопов "ТРАКТАТ О ЛЮБВИ" - http://protopop.chat.ru/tl3.html

Наслаждайтесь чтением, друзья, а результаты обсудим в следующей школе! Smile :)

суббота, 15 июня 2013 г.

Analyst Days 2. Конференция для аналитиков.

Не так давно в славном городе Санкт-Петербурге прошла 2-ая конференция для аналитиков от уже известной всем по SQA Days четы Орликовых - Analyst Days 2.

Если вам интересны именно впечатления от доклада - листайте вниз до названий, они выделены жирным шрифтом.

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

Но это все потом. Вначале мы с моей коллегой приехали в отель. Приехали очень поздно, около полуночи. Сходили попить чайку в нижнем баре, а потом - спать, спать! Вставать то рано. Мне Smile :)

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

Пришла, помогла разложить бейджики, узнала, где какой зал и мы стали ждать первых посетителей. А потом стандартно:

- Здравствуйте! Как Вас зовут?
- Алена!
- А фамилия?
- Орлова.

Ок, ищем бейджик.

 


Причем там такая окустика была, что случались такие ситуации:

- Как Ваша фамилия?
- Орлова.

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

Так, выдали бейджик, потом отдаем пакет участника и, если есть время, рассказываем "Зал А - там, залы Б и С - там, обедать вот тут, документики нам". Если времени нет, то "Начало вот там, документы нам".


Все сделали и я побежала в свой зал. Ах да, я, как модератор, весь день провела в одном зале - зале С. Поэтому и все мои отзывы будут про те доклады (в основном).

1. Александр Байкин. Инсайды совещаний


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

Хотя Александр сказал, что сильно изменила. И я ему верю. Вообще он рассказывал много хороший идей. Что делать, чтобы люди концентрировали внимание, не скучали. Как вовлекать людей в разговор, много же молчунов. А если люди ссорятся? Тут картинка с двумя ослами была оч-ч-чень уместна Smile :)

Так что, в целом, доклад можно послушать. А еще, конечно же, стоит прочитать книжку, которую Александр советовал. Когда выложат слайды, она будет показана на последнем слайде. Ведь в 20 минут запихать все то вдохновение. что ты получил при прочтении книги очень сложно. А уж передать его аудитории - это надо уметь. Так что, если будете смотреть доклад, книжку тоже прочитайте. А если не будете, все равно прочитайте!

2. Ирина Крючкова. Анализ первопричин (мастер-класс)


В программе было написано, что Ирина расскажет нам про технику "5 почему" и fish-диаграмму. При этом метод "5 почему" я уже знаю, когда-то на SQA Days-10
, Наташа Руколь рассказала об этой технике в шикарнейшем докладе. До сих пор его помню. Так что, если вы ничего не знаете о "5 почему", крайней рекомендую именно этот доклад.

А вот с fish - диаграммой не сталкивалась. Интересненько.

Сразу видно, что Ирина - тренер, она начала работать с аудиторией, задавать ей вопросы и записывать ответы на флипчарте. Вопросы, запись ответов аудитории, небольшая корректировка с точки зрения тренера, а потом практическое задание.

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



И так сначала с "5 почему" - попарно разбились и обсуждали, а потом с диаграммой, тут уже мы разбились на группы побольше.

Единственное, что не понравилось - то, что не было разбора полетов с точки зрения тренера. То есть вот я задала Алексею вопросы и сижу, не понимаю, какие еще "почему" мне спросить. Ну, вроде как, задание сделано.

Тут, по идее, должен подойти тренер и спросить - ну как, что у вас получилось? Кто аналитик? Что хочет Заказчик? А какие "почему?" ты ему задавала? Ага, а вот еще можно было такой-то и такой-то.

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

Потом был обед. Классный обед, а особенно здорово было то, что в нашем зале доклад кончился немного раньше, чем в остальных. Мы пришли и набрали еды вообще без очередей. А потом пришла большая толпа из оставшихся двух залов. Да, тут в плане организации было бы круто потоками людей отпускать, один доклад закончился на 15 минут пораньше, второй на 5, третий вовремя. Ну или как на SQA, два разных времени обеда, половина людей доклад слушает, половина кушает.

После обеда в кулуарах можно было наблюдать, как народ активно общается, обсуждая полученные знания




3. Ольга Юрковская. Эффективные презентации (мастер-класс)

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

Но для тех, кто еще никогда не делал презентации - вообще от слова совсем, или делал, но мало и редко, при этом не читал Гандапаса или Ненси Дуарте, то стоит посмотреть.

Очень хорошая такая пошаговая стратегия, что надо делать, а что нет. Так что если вы больше любите читать, книжки вам в помощь. Если читаете медленно или просто видео предпочитаете, то смотрите видео, я думаю, вы сможете почерпнуть оттуда много нового!

4. Татьяна Табакова. Техники сбора пользовательских требований

Татьяна уже ранее выступала на SQA Days и я слышала недовольные отзывы. Недовольные не самим докладом, а отношением докладчика, нежелением отвечать на вопросы после презентации, нежелание смотреть в зал, рассказывая о докладе.

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

Поэтому, ради хорошего доклада можно делать скидку на мастерство оратора. Конечно, Татьяна не так часто смотрела в зал, но смотрела! А так она ходила туда-сюда и рассказывала стенам. Это хороший метод не волноваться и заставлять мозги работать. Я помню, в школе все стихи учила, бегая взад-вперед, сидя на месте не могла, не запоминалось и не проговаривалось Smile :)

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

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




5. Ирина Сурова. Использование трассировок на практике



О, Ирина - замечательный докладчик! К тому же очень смелый, не боится на весь зал рассказывать, как в Касперском на одном из проектов было все печально год назад. Название компании то звучное, ну как тут сказать, что "все было плохо", пусть даже когда-то раньше?

А Ирина не боится признаться! Еще и развеселить весь зал своими слайдами Smile :)

Очень позитивный получился доклад. А еще очень любопытный. Из серии "а как у других?". К тому же, если кто-то узнает себя на состоянии "до", то вот вам, пожалуйста, пошаговый план, как надо внедрять. Разумеется, не все сразу, а по чуть-чуть, по кусочкам. И вот Ирина рассказывала, что конкретно они внедряли и как. Показывала архитектуру проекта и объясняла подводные камни. Всем рекомендую посмотреть!

Доклад был очень классный и Ирину ловили потом в кулуарах и допрашивали, допрашивали. Я, когда выходила из зала, видела, что вокруг нее стоит толпа народа, все продолжают слушать, во какой докладчик!



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

Зашла послушать Григория, читала его в блогах, было интересно.

6. Григорий Печёнкин. Инструменты управления требованиями: затычки, костыли и грабли

Григорий рассказывал о своем опыте управления требованиями, сетовал, почему все так фигово в этом плане, ну вот тот же ворд - там можно вставить рисунок из визио и редактировать прям в ворде. Почему так нельзя сделать онлайн, в той же вики?? Правда, у автора есть большие надежды на HTML 5, посмотрим, посмотрим...

Еще Григорий рассказывал, что в требованиях есть затычки, что грабли, а что - костыли. А еще очень рекомендовал к просмотру доклад Елены Журавлевой с прошлой ЛАФ и вообще ЛАФ нахваливал, были там такие агитаторы.

В общем, доклад понравился, начало интересное, а на конец я не смогла остаться, пришлось по-тихому свалить из зала и поехать назад, в Москву, в то время еще холодную и мрачную.

А кстати, о ЛАФ. Буквально через пару недель состоится конференция (пишу уже по привычке "тестировщиков", пришлось стирать) аналитиков, эдакий слет. Но, чтобы было не так скучно, конференция проводится в формате "утром доклады, вечером шашлык". Я туда даже еду, надо же посмотреть, что за зверь такой, вдруг интересно?

Ну что, увидимся на ЛАФ?

 

четверг, 13 июня 2013 г.

Цель-2. Элияху Голдратт.

Продолжение знаменитого романа "Цель"... Кому понравилась первая часть, обязательно понравится и вторая.

Ссылка на OZON.

Эта книгу нельзя прочитать запоем (по крайней мере, мне). В хорошем смысле этого слова. Обычно мы так или иначе размышляем над тем, что прочитали, но - потом, чуть позже. А пока едешь в метро или на электричке, читаешь без остановок.

С целью получилось все совсем по-другому. Уезжая в Железнодорожный от Курского вокзала, я вначале бодренько взялась за книжку - как же, полчаса ехать! А в итоге сидела и медитировала полпути, смотря в окно и размышляя, размышляя... Большая и толстая жаба внутри меня, которая жаждала поскорее прочитать всю мою библиотеку, требовала читать дальше, но... Не могла я дальше читать, настолько захватили меня мысли.

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

Может быть, кто-то прочитает книжку и не заметит этих деталей, но я иногда бываю слишком эмоциональна и принимаю решение, основываясь на своих обидах, даже не пытаясь посмотреть на ситуацию с другой стороны. Поэтому я обратила внимание и на данную ветку повествования. Вообще, по переговорам я считаю самой шикарной книжку Ключевые переговоры, но теперь, если что, обращусь не только к ней, но и к Голдрату Smile :)

-----------------

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

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

Собственно говоря, именно об этом и была книга. О том, как продавать на "верхнем уровне", то есть директорам и держателям акций. Но это же не ко мне. Зато методы построения грозовых туч - очень даже "ко мне".

Это ведь очень легко переложить на проблемы тестирования, почему нет? И ведь не только на проблемы тестирования, но и на проблемы общения.

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

И вот. на реальном примере (ну, реальном по книжке) Голдратт показывает, как из 12 проблем нашли всего 2 первопричины. А ведь именно мы, как тестировщики, прекрасно знаем, что исправлять багу - легко. Но глупо. Надо исправлять не последствия, надо исправлять причину, это гораздо дешевле, чем огребать одно и то же раз за разом.

В общем, советую всем прочитать, особенно если вам понравилась первая Цель. Очень, очень любопытная книжка!

PS - Добавила книгу в общий список прочитанных мною книг.

среда, 12 июня 2013 г.

Где писать описание автотестам, в вики или коде?

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

Тестов много. Можно в каждом писать комментарий, что этот тест покрывает. Но - неудобно. Не видно картины в целом.

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

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

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

Удобно? Да. Только для сложных функций в таком виде сам тест становится нечитаемым.

Что получается? Получается грозовая туча.


Какие у нас есть исходные посылки?
  • Постоянно переключаться код / описание в вики неудобно => Тесты надо писать в коде, чтобы все хранилось в одном месте.
  • Неудобно переключаться код (описание теста) / требования при анализе, какие тесты на эти требования есть => Описания тестов и описание требований тоже должны быть в одном месте. то есть в вики, в коде как-то неудобно требования дублировать.
Как разбить грозовую тучу?

Надо оспорить их правильность. Так ли уж сложно переключаться между кодом и вики? Все равно ведь требования в вики и ты туда все равно переключаешься...

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

А если наоборот? Неужели сложно переключаться с требований на код - ведь все равно во время ревью теста тебе надо открыть тест, там и комментарий прочитаешь. Хм. общий взгляд? Можно вытащить все-все-все комментарии в отдельный файлик кода (автоматически, само собой). Тогда ты будешь переключаться между файликами в коде, чтобы получить полную картину и чтобы увидеть частный случай.

Хотя - так ведь можно сгенерировать отчетик, который будет ссылками на тесты! Есть в тесте bean (Spring framework), в отчете у нас примерно такая структура, табличка с 3 колонками:
  • Название теста (ссылка на его bean).
  • Краткое описание.
  • Результат (тоже кратко).
Итого мы имеем - в каждом коде свой коммент описания и свой коммент результата.
Общая картина в коде - в отдельном файле, на уровне общих для всех тестов параметров.
Ну и последний аккорд - этот самый отдельный файл синхронизируется с вики, заполняя ее, разве что без ссылок.

Все счастливы и все довольны. Хочешь - в коде открой страницу с тестами и почитай, чтобы понять, надо ли тебе что-то добавить в связи с улучшением функции.

Хочешь - забей на вики и работай в коде - тут тебе и общий взгляд, и отдельные комментарии.

Круто? По-моему, вполне Smile :)

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

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

Но и тут мы сами с усами. Вполне можно сделать чекер на обязательность заполнения комментария и его уникальность. Коммитишься, а у тебя пустой комментарий (нету вообще, ата-та) или неуникальный (копипаста наше все) - все, тест упал, сиди исправляй. Ведь нельзя закрывать задачу, если тесты падают Wink ;)

Такое вот решение, как мне кажется, удовлетворяющее в данном случае всех.

понедельник, 10 июня 2013 г.

Русские буквы в пути до файла

Летняя школа уже начинает приносить свои плоды, не прошло и двух дней с занятиями...
 
В первый день мы установили приложение с блокнотом и попытались его протестировать. Недолго, буквально минут 15, чтобы на следующий день обсудить результаты.
 
Приложение мы скачали с компьютера Алексея и распаковали, вот и вся установка. Казалось бы. Однако у меня оно, разумеется (мой админ сейчас 100% вспомнил бы про карму), не запустилось. Failed to open document.
 
 
 
 
Что делать? Времени мало. Алексей подошел к нам, посмотрел и сказал, что одного ноутбука на двоих пока вполне хватит.
 
Но само сообщение об ошибке очень подозрительное. Когда этот блокнот открывается, то он по дефолту открывает некий документ "About me". А я то ведь уже проходила тренинг Алексея, по которому составлена школа, и уже устанавливала эту программу и даже удаляла ее.
 
Поэтому я сделала вывод о том, что проблема в том, что программа когда-то уже была установлена и удалена. Так как воспроизводилось только у меня.
 
Сегодня, на второй день учебы, ко мне подсел один из учеников и попросил показать учебное приложение. А я бы с радостью. но вот беда...
 
Решили проверить мою догадку (тестировщики мы или где, в конце то концов?). Почистили реестр. Хм, нет, все равно не запускается.
 
Смотрит, смотрит Олег на эту программу... Поднялся на уровень выше - к архиву, который я распаковывала. И все понял Smile :)
 
Я не стала долго размышлять, куда устанавливать программу и создала на рабочем столе папку "Летняя школа тулзы". Туда скачала архив и туда же его разархивировала. Поэтому путь к файлу запуска получился примерно такой:
 
C:\Users\Molechka\Desktop\Летняя школа тулзы\SEO Note
 
В этом, собственно говоря, и была проблема - в названии в с русскими буковками. Олег разархивировал приложение на диск D в папку "SEO Note". И оно запустилось!
 
Вот и локализовали. А казалось бы...
 
Поэтому, когда мы что-то проверяем - загрузку файла или сохранение. Ну или пытаемся его просто открыть, как я вчера и сегодня - подождите бежать впереди паравоза и пробовать всяко разные хитрые символы и нечитаемые кодировки.
 
Начните с простого - русские и английские буквы.
  • В самом файле.
  • В названии файла.
  • В пути до файла.

Поверьте, иногда этого вполне достаточно. Уж я то знаю Wink ;)
 
PS - За фотографию благодарю нашего замечательного фотографа Екатерину Михееву!! Фотки классные!! Smile :)

А у нас Летняя Школа, а у вас??

Всем большуший привет из солнечного Крыма и второй Летней Школы Тестировщиков!!!

Готовы погрузиться в наш мир? Smile :)

Итак, вопроса о том, "ехать или не ехать", даже не стояло. Да, я единственная из всех в компании, которая уже слушала тренинг, по мотивам которого подготовлена школа, но разве это причина отказываться от такого замечательного отдыха?!!


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

Наталья и Алексей Баранцевы приехали раньше всех, чтобы встретить, обустроить и решить возникшие проблемы прямо на месте. Я прилетела за день, вечером 7-ого числа, но в школу попала вечером 8-ого. Не могла же я пропустить жареные кабачки crafted by Tatiana Zinchenko, в самом то деле?!

Таня, как организатор такси, ехала самая последняя, ну и я вместе с ней. Кстати, небольшой лайфхак, обмен валюты:
  • 2,42 покупка гривен за рубли
  • 2,5
Тут лучше тот курс, который больше, то есть 2,5. А то мы думали, думали, и подумали, что лучше тот, который меньше - если делить на 2,42, это выгоднее. А оказалось, что это не делить, это умножить на 0,242. Но это я так, на будущее для тех, кто приедет из России и будет думать, как же деньги менять.

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

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

И вот стоим мы во дворе и видим, как по лестнице к нам спускается парнишка.
Таня уверенно тыкает в него пальчиком и громко заявляет:

- Ты идешь с нами, нам твоя жена разрешила!!

Бедный парнишка аж споткнулся, а Наташа (которая Баранцева, а то у нас в этот раз много тезок, 2 Наташи, 2 Тани, и аж 3 Ани...) сказала:

- Не пугай его, он вообще не женат.
- Ну все, значит, скоро будет!

Тут Таня вовремя припомнила, что ровно год назад к ней в гости заезжала Дилара - перед школой заскочила, а та ее покормила заодно. Диларе неудобно было и она встала посуду мыть. Таня умилилась и сказала, что теперь обязана на ней жениться. Сама, конечно, не женилась, но вот прошел год и сейчас у Дилары с Эмилем свадьба вот-вот прогремит, познакомились в школе.

Теперь Таня считает, что, на кого она пальчиком покажет, найдет себе пару и через годик того, окольцуется Smile :)

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

Так вот, парнишка, оправившись от шока, помог таки нам с качельками, на которые мы и уселись. Подтянулись остальные студенты и мы стали знакомиться. Причем рассказывая какой-нибудь каверзный факт помимо своей основной работы.


Например, один парнишка (тот самый, которому теперь жениться придется), сказал, что он одинок последнее время, имея в виду работу - работает единственным тестировщиком - но разве его кто-то слушал?

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

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

Приятно порадовало, что половина участников - знакомые еще с прошлой школы лица.
Одна из наших тестировщиц приехала с парнем, который решил прямо на вечере встречи рассказать всем о том, что он - разработчик. Зря он так сразу Smile :)

Но ничего, еще живет...

В общем, весело было! А еще веселее было чуть позже. Представляете, в этот раз тут такие активные товарищи - мы собрались играть в свинтуса, постепенно нас собралось 8 человек.

А когда мы закончили и спустились вниз, увидели, что еще 8 веловек играет в Алиас. Круто! В прошлом году нас в среднем было 8-10, а тут вон как разошлись, мне нравится!

Ну а сегодня, сегодня у нас уже начались занятия.

Сегодня мы уже обсуждали понятие бага. В частности, мы прошлись по всем участникам, спрашивая о недавно найденном баге, желательно, интересном. А потом нам Алексей Баранцев рассказал, что он очень любит слушать такие, "сырые" рассказы о багах.

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

А что еще можно сделать, чтобы сломать еще больше? В общем, у нас другое мышление - и это здорово, и это круто!

Но больше я вам ничего не скажу, сами на тренинг приходите Smile :)

Хотя нет, скажу, вечернее занятие уже прошло - и это было МЕГА КЛЕВО!!! Вот все, кто не приехал, кусайте локти, Наташа Руколь зажгла всех, ну и наша команда, само собой победила, мы же задроты те еще Smile :)

Вот, например, все нормальные люди в Крыму купаются, а мы... Мы книжки читаем, причем умные, а не абы что!

 
PS - За все фотографии благодарю нашего замечательного фотографа Екатерину Михееву!! Фотки классные!! Smile :)