четверг, 31 мая 2012 г.

ТМ - Кейс: 1 день из жизни тестировщика

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

А в конце книги есть приложения. И в одном из них расписан такой кейс "1 день из жизни менеджера". Так сказать, для наглядности. Очень хороший кейс. У менеджера на его графике в "жесткой" части есть только совещание с 9 до 11 и презентация с 15 до 17. И вот люди на семинаре начинают возмущаться - да куда ему столько времени, да давайте ему побольше задач в "жесткий" график накидаем... В итоге выясняется, что это - нормально. Это позволяет уложиться в сроки.

Решила описать свой кейс, а именно - свой сегодняшний день. Итак, казалось бы - жестких задач нет вообще! Есть только "дописать автотесты на фичу 1 и фичу 2 завтра до вечера". Но то ж завтра. На сегодня жестких задач нет.

Казалось бы, живи да радуйся, написал тесты, запустил (а они интеграционные = долгие, на 20 минут), сидишь, пишешь дальше. Потом посмотрел, где что отъехало, починил, запустил снова. У тебя перепроверяется то, что ты скорректировал + то, что написал во время прошлого прогона.

Итого, план утром - фичу 1 закончить до обеда, и будет 1,5 дня на фичу 2. Шикарненько. Какой был итог, я думаю, вы и сами догадываетесь...

Утро... Пришла на работу пораньше, в 8.30. Первые полчаса всегда как-то быстро пролетают, пока придешь, кофе нальешь, билд соберешь, прочитаешь"Activity Stream" (это в джире есть такая панелька, показывает, кто что сделал)... Чекнешь почту и software-testing... Вот уже и рабочий день начался.

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

Пару раз я тесты успела прогнать, когда стали приходить разработчики. Я к одному "сделай мне логирование!". Он делает, как прогонять? Я гоняю локально, это значит, что запущенный тест сам поднимает jboss, а после себя его глушит. Но в этом случае билд тащится из ТС (тим сити). В ТС это логирование выкладывать стремно, забудешь откатить, потом логи столько весить начнут...

Попыталась запустить через IDEA, подняв билды локально (то есть я запускаю jboss-ы сама, а тесты будут отрабатывать на них). Ни фига, пару раз прогнала, смотрю, а он совершенно другие тесты собирает о_О

Хотя в конфигурации указан мой модуль. Ну блин. Ну вас нафик, при такой сборке я даже параллельно основную работу делать не могу - билды-то подняты. А чтобы запустить сборку тестов, надо очистить папки jboss-a. Виртуальную машину мне пока не сделали. Начинаю тихо злиться, вот мне счастья, с IDEA разбираться, если даже разработчики руками машут "да собери через ТС или локально".

Тут коллега, который очень волновался, ничего ли он не сломав, дав мне логи, задал простейший вопрос - "а руками нельзя попробовать?". Блииииин! Точно! Зачем вообще автотесты гонять для одной проверки? Есть же Soap UI!

Сама прописала логирование в билд, подняла все локально, отправила парочку запросов. После чего вычистила jboss-ы, запустила тесты и со спокойной совестью стала оформлять багу. Не ну а что? Время то есть, 20 минут. Когда-то, когда у меня было всего 8 ГБ оперативки, я, запустив тесты, отправлялась "курить", потому что компьютер превращался в слайд-шоу. Не помню уже, какое занятие я себе находила...

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

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

Разошлись, а через полчасика уже обед. Ну что такое полчаса... Прогоняла тесты, отлаживала... А тут еще от Заказчика пришло письмо. Зашел коллега, высказал идею, что на предпродукционной платформе просто билд старый. Тут уж я возмутилась "Как старый?! Я обновляла!".

Пообедали, полезла на эту платформу. Параллельно затушила тесты, чтобы развернуть этого Заказчика локально и проверить, работает ли у меня та задача, что у них полетела. Проверила - работает. Таааак, как там в линуксе в варник залезть? Ааа, ладно, "unzip" - билд старый о_О

Запускаю cygwin, обновляю билд. Открываю через команду "mc" - билд старый О_О
Нет, главное, в папке цигвина - новый, сам цигвин пишет "я уже перекачал - смотри, там 100%", а в папке-получателе билд старый!!! Я к сисадмину - его нет. Я назад, Заказчику надо ответить...

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

Опять включаю cygwin, иду к админу. Вместе обновили билд. Все это время работа по тестам "стояла", а время уже, ой! Так что пока я еще отписалась Заказчику, пока мы с ним другой вопрос обсудили, пока описала проблему в джире, пока мы ее обсудили, пока нашли вариант решения, который обсудили с разработчиком...

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

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

Да... Вот так. Итого на сами тесты около 3 часов, что дико мало. С учетом их особенности, она меня умиляет прям. Вот вроде копипастишь работающий тест, меняешь xml-ничек. прогоняешь и видишь ошибку - "вы ожидали пустую строку, а там - пустая строка". Ну, видимо, я ожидала энтер и пробел, а там типа тока энтер...

Копируешь ожидаемый и реальный результат в Araxis Merge - отличий нет. Красота! *Посылает лучи ненависти этой особенности*. Надо, кстати, уточнить завтра у разработчиков, нельзя ли обойти эту ошибку, вон Araxis Merge же обходит!

Вот... Суматошный день. который казался таким простым и медленным. А теперь если подумать с точки зрения ТМ... Что я могла бы улучшить и, главное, что мне сделать завтра, чтобы закончить эти автотесты? Уж лучше задержаться завтра, чем выходить в субботу, у меня и так по личным делам отгулы в мае превратили месяц в сплошные трудовые дни. Не не, я хочу 2 выходных!!! Мне нужен отдых!!

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

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

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

Завтра так и сделаю! Утром запуск тестов, пока пью кофе, читаю новости, потом полчасика на проверку локально на чистом билде, а потом тесты - в приоритете. "И пусть весь мир подождет" (с)

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

Мораль 2 - надо было учесть это при оценке.... Эх. Ну ничего, теперь главное - завтра закончить! 

4 комментария:

  1. Ответы
    1. Спасибо :) Хотя, думаю, у многих есть такие кейсы... Я бы почитала чужие :))

      Удалить
  2. Главное в тайм-менеджменте – это трезвая оценка ситуации. Четкое осознание и просчет времени, потраченное на выполнение тех или иных действий возможен только в состоянии изменённого сознания. К сожалению, не так просто войти в состояние измененного сознания, потому что мы уже прочно связываем наше сознание с текущем контекстом. Но, есть одна отмычка! Алкоголь изменяет сознание человека, и поэтому, стакан пива вместо кофе – это то, что нужно для трезвой оценки ситуации! ;)

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

    ОтветитьУдалить