среда, 29 мая 2013 г.

Тестирование простого негативного сценария

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

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

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

Задачка элементарнейшая, поправить которую - ну 5 минут от силы! В коде... Но как-то так получилось, что она заняла у меня много времени. Ведь это поправить 5 минут, а проверить?

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

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

Соответственно, мне надо только проверить свою кастомизацию. Подняла патч, прогнала функцию, элементы изменились? Изменились! Счастье счастье, радость радость! Нет бы в логи посмотреть...

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

Обратимся еще раз к условию - на вход мы передаем список элементов, которые мы хотим модифицировать. Какие самые главные позитивные и негативные сценарии возникают у нас в голове?

+ Передать список элементов, проверить, что они модифицировались.
-  Проверить, что элементы, не попавшие в список, не были модифицированы.

Причем функция такая не одна, и на другие я точно помню, были подобные негативные тесты - а что, если элемента в списке нет, будет ли он изменен?

Но угадайте с 3-х раз, на какую функцию не был написан такой тест и где в итоге обнаружилась бага? Smile :)

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

Вот читаешь, читаешь всякие книжки по тайм-менеджменту и прочим радостям жизни. Но самые главный закон - СЯДЬ И ПОДУМАЙ!

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

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

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

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

Позвольте себе сесть и подумать. Все ли сделано правильно, на что это еще могло повлиять и как?

вторник, 28 мая 2013 г.

Auto ConfetQA. День 1

А вот и очередные конфетки, на сей раз - по автоматизации.


Пожалуй, на данной конференции я буду краткой, памятуя про сестру таланта Smile :)

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

Сегодня был 1 день конференции, о чем там говорили?

1. Александр Хозя / Как screenshot-based средство нам помогает для автоматизации тестирования iOS приложений

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

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

2. Дмитрий Миндра / Краткое введение в TDD для тестировщика

На посиделки тестировщиков иногда забегают разработчики. Это как раз тот случай.
Дмитрий, во-первых, работает в Microsoft. Поэтому доклад начался с увлеченной демонстрации возможностей Windows 8. Я, правда, о ней другие отзывы слышала, но смотри ка, кому-то удобная...

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

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

Ох, сложно это все, по крайней мере для моего понимания Smile :) Ничего, мы еще пообщаемся с докладчиком на закрытом форуме!

3. Игорь Хрол / “Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числом посредников

О, у Игоря был очень хороший доклад! В 20 минут он уложил небольшой мотиватор на то, что блин. ребята, GUI тесты медленные и неуклюжие! Айда API писать.

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

пятница, 24 мая 2013 г.

TEST IT! Тестируем функции сохранения данных, часть 2

Коллеги, всем привет!! На связи TEST IT! Smile :)


И сегодня с Вами снова я, сменная ведущая Киселева Ольга с новой рубрикой "тестируем вместе". И тестируем мы сайт https://www.foodnation.ru/, ныне http://www.foodpanda.ru/

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

Давайте посмотрим, сохраняется ли у нас информация при изменении закладок, не зря же их там 3, не так ли?

Меняем ФИО, но не сохраняем.



Переходим на закладку адресов.
Добавляем новый адрес.



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


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


То есть мы что-то ввели и оно не сохранилось... Но я же не нажимала "Выйти из системы", поэтому я не ожидала. что мои правки сотрутся... Я, может, собиралась сохранить все сразу - и адрес, и ФИО, а тут... Нет, я явно не понимаю - ладно бы я закрыла браузер, почистила куки, но зачем мои данные в одном сеансе то стирать? Это несправедливо...

Теперь давайте проверим, что адрес сохранился.
  • Выйти из системы
  • Снова войти
  • Открыть адреса
Ага, адрес есть! Но что это? Я не могу его отредактировать?


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

Это э каждый раз курьер будет звонить и ругаться - как же так? Почему дом неправильный указан? А я что? Мне теперь весь адрес заново чтоли вводить из-за отсутствия возможности редактирования???

Это не бага, конечно, но важный импрувмент.

Давайте теперь заполним адрес полностью и посмотрим, как он отображается. Заполняем...


И проверяем отображение:


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

Ладно, пойдем на главную и что-нибудь закажем.



Нет, ну начинается... Я же вообще не это тестирую, а баги находятся Smile :)
Смотрите, текст подсказки залезает на стрелочку выбора.


Ну ладно, выбираем станцию метро на карте - Киевская. И... Окно закрывается, мы попадаем на главную о_О

Я же заказ оформляла, блин!!! Иду обратно в бургеры... А нету там ИТПИЦЦ-ы. Там теперь рестораны, которые на Киевскую доставляют.


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

Ладно, пошли в KFC. Хм, нет, не пошли. Доброе милое сообщение на русском языке:

 
Если кратко - не судьба!

Ну и ладно, тогда в другой раз...

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

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

воскресенье, 19 мая 2013 г.

Индивидуальное обучение для начинающих тестировщиков

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

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

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

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

Для людей, которые хотят сами устанавливать график тренировок, http://software-testing.ru/ запускает Индивидуальное обучение для начинающих тестировщиков. Жить в своем ритме - это нормально Smile :)

А теперь еще и вполне реально!

TEST IT. Полный список тестов по http://www.foodpanda.ru/

В рамках проекта TEST IT мы открыли рубрику "тестируем вместе" - берем реальный сайт и тестируем. Смотрим под разными углами, как подходить с тестированию, с чего начинать и так далее, и тому подобное.

Здесь я бы хотела собрать все материалы по тестированию сайта https://www.foodnation.ru/, ныне http://www.foodpanda.ru/. Наслаждайтесь чтением Smile :)

TEST IT! Тестируем FAQ

Коллеги, всем привет!! На связи TEST IT! Smile :)


И сегодня с Вами снова я, сменная ведущая Киселева Ольга с новой рубрикой "тестируем вместе". И тестируем мы сайт https://www.foodnation.ru/, ныне http://www.foodpanda.ru/

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

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

Когда мы открываем наш сайт, то видим в правом верхнем углу ссылку на FAQ.


Ну чтож, давайте почитаем. В частности, нас интересует регистрацию, которую мы тестировали совсем недавно.


Как мне зарегестрироваться на Foodpanda ?
Нажмите на вкладку вход, расположенную в правой верхней части домашней страницы. В нижней части всплывающего сообщения нажмите "Еще не зарегестрированы?" Вы будете направлены на страницу, где вы увидите поле "Новый Участник". Нажмите "Создать новый аккаунт" и заполните необходимые детали. Регистрация будет завершена и вы получите подтверждение по электронной почте. После того как вы зарегестрировались, вы сможете заказывать кулинарные шедевры из вашего района!
 
Во-первых, правильно говорить - регистрация, а не "регестрация". Пруф линк. Один дефект нашли, читаем дальше.
 
Надо куда-то нажать, потом нас куда-то перенаправит, там снова нажать... А как оно на самом деле? На главной нажимаем кнопку "Войти / зарегистрироваться" (тут, кстати, это слово написано правильно, уже хорошо).
 
 
И видим форму регистрации!
 
 
Какой вывод? Форму упростили, чтобы пользователи каждый раз не проходили квест, отнимающий желание собственно регистрироваться. А вот FAQ исправить забыли. Ай-яй-яй. Тут помогает хорошее правило - закрывая задачу, исправь документацию! Не просто нажми кнопочку "закрыть, исправлено", а подумай, где это может быть описано и исправь. А если нигде не описано - напиши сам. Золотое правило, между прочим!
 
Читаем дальше.
 
 
Нет, регистрация абсолютно бесплатна.
 
Ну, тут все правильно. Регистрация бесплатна. И написано без ошибок. Ну разве что вопросы в этом FAQ не единообразны. То перед вопросительным знаком стоит пробел, то не стоит. Неправильно это, надо одинаково делать!
 
 
Любой желающий может вспользоваться нашими услугами. Однако, когда вы заказываете еду, аккаунт на Foodpanda создается автоматически. Ваши предыдущие заказы будут отражены в нашей системе, и у вас будет возможность найти ваши заказы и ваш адрес доставки.
 
Ригастрация, испольовать... Эх, а ведь это, по идее, самый посещаемый раздел на сайте. Один из самых посещаемых, так как рано или поздно у пользвоателя возникнет какой-то вопрос. И продвинутый пользователь почитает FAQ. хотя бы просто чтобы заранее ознакомиться с возможностями сервиса.
 
Ниже, кстати, аналогично, идут 2 вопроса подряд, в которых одно и то же слово написано по-разному:
 
Нехорошо. Каждая компания стремится стать лидером на рынке. Быть лучше всех. Самой популярной, самой посещаемой итд итп. А если станет = больше людей будет заходить на сайт. Больше людей регистрироваться. Больше людей будет читать FAQ и удивляться, как такая компания имеет такой неграмотный раздел...
 
В общем, никогда не забывайте про документацию пользователя, особенно, если она выложена в публичном месте. Сегодня у Вас еще мало заказов и мало клиентов. И тестирование FAQ никого не волнует. А завтра Вы уже огромная корпорация, для поддержания имиджа которой такие ошибки надо истреблять на корню Smile :)

среда, 15 мая 2013 г.

ВИДЕО!!! "Нам некуда расти!" или сила привычки.

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

Для тех, кто не участвовал в конференции, опубликовано видео моего доклада Smile :)

«Нам некуда расти!», или сила привычки

Хорошая команда, приятный коллектив, любимая работа… Что еще для счастья надо? И надо ли вообще?

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

Стоит ли что-то менять или лучше оставить «как было»? Стоит ли будущий выхлоп недовольства команды, ведь при внедрении новых практик всегда будет возникать сопротивление со стороны людей, привыкших жить иначе?

Я предлагаю посмотреть на работу в двух параллельных командах и на личном примере убедиться в том, что теория «у нас все и так хорошо» не так уж правдива.

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