вторник, 26 февраля 2013 г.

Вторая работа - работа? Или отдых?

Не так давно решила между "умными" книжками по теме ПО, тестирования, менеджмента и прочая прочая, вставлять что-нибудь отвлекающее, например, как книжка о великом физике Ричарде Фейнмане.

Так вот, начала читать "Компания мечты", очень понравилась одна история:

Майкл, 55 лет, укладывает в сумку свой ноутбук, берет ключи и кивает боссу, покидая офис ровно в пять. Майкл имеет ученую степень по биостатистике и получает "красивую" шестизначную зарплату, занимаясь клиническими исследованиями в ведущей биотехнической компании Калифорнии. Но после работы Майкл не едет сразу домой. Он останавливается у дома 16-летней Дженны. Дело в том, что Дженна, ученица старших классов, не справляется с домашними заданиями по алгебре, а впереди у нее - вступительные экзамены в университет. Майкл здоровается с родителями Дженны, достает калькулятор, просит Дженну сделать то же самое, и его вторая "рабочая смена" начинается.

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

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

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

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

Гораздо эффективнее в данном случае просто отдохнуть, а на свежую голову и с новыми силами снова работать!

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

А у Вас были похожие примеры? Smile :)

понедельник, 25 февраля 2013 г.

IE - наше все!

Баги - они повсюду Smile :)

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

Присмотритесь к любимым сайтам со стороны, попробуйте составить для них тест-кейсы, как мы это делали для сайта кинотеатра Люксор.

А иногда на баги натыкаешься, когда совсем совсем их не ищешь...

Вот например, на Моем Круге явно решили что-то улучшить в плане юзабилити и что мы видим?

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



Но это еще не все, написали сообщение, отправили. И что же мы видим - сообщение об успешной отправке? Не-а.



А теперь закрываем Internet Explorer и открываем Chrome - о чудо, все работает как часы.
Нет никакого мешающего сообщения в сообщении (простите за масло масляное).
Информация о том, что сообщение успешно отправлено, отображается корректно, вот так:



А ведь всего-то и надо было, выполнить какое-то вполне обычное действие...

А вы еще спрашиваете, где баги искать...
Если у вас веб-приложение и вы тестируете кроссбраузерность, IE - ваш лучший друг и товарищ! Smile :)

PS — добавила пост в общую копилку багов.

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


Ссылка на OZON.

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

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

В общем, здорово! Книжка безумно интересная, и мало того, она еще и полезная!

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

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

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

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

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

Так что - ставим перед собой Цель, и упорно к ней стремимся Smile :)

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

вторник, 19 февраля 2013 г.

Балдеющие от адреналина и зомбированные шаблонами. Том Демарко, Тимоти Листер


Ссылка на OZON.

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

В общем, попытаться не наступить на грабли, на которые уже напарывались и без вас. А, как известно, такие попытки обычно бесплодны Smile :)

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

Некоторые паттерны мне понравились особо, я о них писала:
А еще мне понравились два:
  • Вечер покера
  • Предохранительный клапан
И я о них тоже писала, но уже не в этом блоге. И теперь у нас есть свой "Вечер покера"! Smile :)
Тим-билдимся, понимаешь. Сближаем коллектив! Ну и просто отдыхаем после трудовой недели...

Вот небольшая выдежка из "Предохранительного клапана":

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

Ну разве не прекрасно? Мы в прошлом году так ходили - реально всей командой, без "не хочу сюда, хочу туда" - и это было здорово! Smile :)

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

И, возможно, именно эта книга сможет подтолкнуть вас к действию, так что - дерзайте!

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

пятница, 15 февраля 2013 г.

TEST IT. Когда и чему учиться?

Коллеги, всем привет!

С вами снова наша рубрика TEST IT и я, ее сегодняшняя ведущая, Киселева Ольга.
Сразу хотелось бы внести нотку позитива в этот холодный пятничный день. Прошел уже месяц с тех пор, как мы выпустили первый выпуск!

Спасибо вам за то, что пишите нам, наводите на мысли, заставляете задуматься... Ну а в качестве бонуса вы можете даже сформировать новый выпуск - для этого достаточно просто написать на sprosi.testera@gmail.com! И если ваша тема затронет наши души, то почему бы и не посвятить ей свою статью? Smile :) В общем, пишите!

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

И-и-и-и-и, сегодня! Почетно награждаются:
  • Николаев Алексей.
  • Мирослав Олейников.
  • Сергей К.


Ребята! Напишите на sprosi.testera@gmail.com почту, куда присылать маленькие сувенирчики!
И продолжайте писать! Никто не запрещает выигрывать сразу 2 месяца подряд  Smile :)

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

Тема настолько актуальна и злободневна, что я решила вернуться к ней и к письму Мирослава:

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

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

Как вообще проходит путь к обучению?

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

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

2. Итак, я - тестировщик! Есть работа, надо учиться тому, чтобы грамотно ее выполнять. Ходим, читаем. консультируемся у коллег - научились!

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

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

Итак, чему учиться? Благо курсов становится все больше и больше - можно и повыбирать. Но - аккуратно. Потому что иначе и правда только распылишься зря. Вот, например, в чем прелесть курсов Алексея Баранцева? Правильно - домашними заданиями! Только когда сделаешь что-то сам, начинаешь понимать материал.

А что будет, если записаться сразу и на автоматизацию, и на производительность, и на безопасность? Дедлайн будет! Точно говорю. Закон подлости еще никто не отменял, и если вам сегодня скучно - это не значит, что вам будет скучно завтра. Мне вот максимум полдня может быть скучно за релиз, а потом уже некогда Smile :)

Итак. Записались сразу и туда и сюда и... Сгорели. Выдохлись. Увяли. Потеряли интерес... Оно нам надо? Нет!

Поэтому - выбираем одно направление. Ставим себе цель, на месяц-два-три, не больше. Достижимую - не "я хочу знать ВСЕ про java", а "я смогу писать простенькие GUI тесты", потом переходим к API тестам итд. А не понравилось или в раздумьях - пробуем еще что-то. Ту же нагрузку. И опять - или копаем дальше или пробуем что-то еще.

Напробовались, вспомнили все ощущения, выбрали направление - и вперед! Копать туда. И только туда. Потому что поверхностный специалист по куче областей проигрывает глубокому спецу своего дела, своей области.

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

Я против мнения, что место работы нас ограничивает. Вот пару лет назад я работала в СвязьИнтеке + подрабатывала на фрилансе, делали проект для АИС Москомспорта. Автоматизация ни там, ни там нафик не уперлась. На основной работе мы к ней только-только пришли и там писались только юнит-тесты.

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

А если выполняете, то чем бы дитя не тешилось... Нагрузка там тоже была не нужна, но кто бы меня остановил, попробуй я протестить? Единственное но - баги по нагрузке / безопасности у вас могут не принять, или оставить надолго с минорным приоритетом. Ну и что? Учиться вам это не мешает.

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

Наше время подходит к концу, поэтому я прощаюсь с вами. До встречи, ребята!
Мы ждем ваших писем - пишите на sprosi.testera@gmail.com, задавайте вопросы, рассказывайте истории, грустные и не очень, делитесь опытом - мы рады всем!

Пока, увидимся через неделю! 

понедельник, 11 февраля 2013 г.

А Вы уверены, что работаете эффективно?

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

Фишка в чем - у главного героя проблемы на заводе. Не повысит прибыль за 3 месяца (пока сплошные убытки) - и все, гудбай май лав. Уволят, в смысле. А что ему делать? Он не знает. И пробудет понять и постичь - что же происходит на заводе. А тут выходные и сын тянет в поход "Папа, ты же обещал!". Идут в поход. Герой смотрит на эффективность толпы детей, который идут шеренгой, все время увеличивая разрывы и потихоньку понимает, что вокруг творится и даже может перенести аналогию на свой завод.

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

Так вот, примеры из жизни:

Случай 1.

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

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

А ведь сама бы не стала ходить такой вариант пропихивать... Тут сказывается отсутствие опыта и незнание. Можно ли такое реализовать? Или чересчур трудозатратно? Я сейчас говорю не о GUI тестах, так модных нынче, а про API. Вывод - надо качать скилл (smile) Давно хочу написать тестовый фреймворк, чтобы понять, как оно изнутри работает. Похоже - пора!

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

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

Случай 2.

Жаловалась в очередной раз на съем квартиры - подарила я хозяевам больше 3000 рублей. Сначала пришли, сказали, мол, ты не платила больше полгода за свет. Я - о_О

Ну и отдала 5000, так как после повышения общей суммы и правда не платила, сказали "новая цена за все", я и думала, что включая свет...

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

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

В общем, сложности есть, но реально удобнее. Надо будет еще обмозговать и рукой дорисовать колонку подписи "получила оплату за свет", но это мелочи.

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

А может, я еще чего-то не вижу, зарываясь в ежедневных делах?
А Вы уверены, что то, что вы делаете прямо сейчас - эффективно, и это нельзя упростить / улучшить? А если спросить свежее мнение у соседа / коллеги / друга / etc? Wink ;)

среда, 6 февраля 2013 г.

ТМ-кейс. Послезавтра релиз, тестировщики заболели. Часть 1

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

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

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

- Давай! В метро поспишь, вставай!

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

   Это действительно так - идя на работу, я постепенно просыпаюсь. Вот уже и мир заиграл новыми красками. Та-а-а-ак, что у нас там? Мы же фичу новую сделали, теперь notepad не только вводить текст позволяет, но еще и сохранять дает! А я так и не успела протестировать ее до конца. Эх, ладно! Возьму себе денечек на нее, Вася ж с Петей еще есть - Васе отдам проект А, Пете - проект Б (а всего их 7), завтра все втроем насядем, ну а в среду последние добьем, параллельно поставкам. Нормалек! Все шикарно!

   В планах всегда все хорошо, весело и радужно Smile :)

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

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

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

- Ну что, Оля, как дела? Начинаем регрессию?
- Ну-у-у-у... Я еще сохранение не доделала и хотела бы доделать...
- Да ок, не вопрос! Тогда мы А, наверное, Васе отдадим...
- Не отдадим. Он болеет.
- Да-а-а? Как же быть?
- Давай попробуем так...

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

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

   Во всех книжках по ТМ я читала, что планы на день надо выписывать и вычеркивать, вычеркивать! Даже пару раз пробовала, но потом закидывала - просто не нужно, когда у тебя на весь день одна бо-о-ольшая такая задача. А так вроде ниче так - приятно очень вычеркивать фломастером все выполненное.

   Ну чтож, попробуем? Запишем задачи в блокнотик:

1. Мега-фича сохранения - автотесты и описание (надо же Заказчику что-то показывать, а его, увы, нет...)

Хмммм, эта фича не одна такая. без описания:

2. Описание CR-1
3. Задачка TEST-22, SQL-запросы, ее надо сделать сегодня, я обещала.
4. Ответить Заказчику на письмо. (нет, я точно помню - в ТМ даже короткие задачи выпысываются. чтобы потом с наслаждением вычеркнуть!)
5. Поставить задачи на регрессию, аж 5 штук. Немало.

Тут подходит Мастер и подкидывает свеженькую задачку:

6. Написать отчет.

Продолжаем разговор:

7. Мечты о светлом будущем (исправления документации)
8. Задачка TEST-33.

Да уж, вот тебе и "просто тесты на сохранение допилить и все!". Но мы же продвинутые, ТМ вот используем... Успеем ли?