четверг, 27 февраля 2014 г.

Первый автотест - куда уходит время?

Сразу оговорюсь - я пишу о своей ситуации, когда тестовый фреймворк (API-тестов) уже готов. Задача тестировщика сводится к его небольшому расширению на свой модуль. Потому что про то, как написать первый автотест на каком-нибудь Selenium для GUI тестов, я пока даже заикаться не хочу, это еще дольше!

Только, пожалуйста, без холиваров. Конечно, через Record And Play можно тест сваять за минуту, но мы все-таки стараемся писать такие тесты, которые потом будет удобно поддерживать. А это уже сложнее.

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

При этом тесты тривиальные, фреймворк есть, а значит, написать тест (2 эксель таблички с состоянием БД) занимает ну минут 5-10 с отладкой. В идеале, ага.


А теперь посмотрим, как это происходит в реальной жизни. Конечно же, на конкретном примере.

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

Позитивное и негативное тестирование

На своих курсах по обучению начинающих тестировщиков я предлагаю им написать позитивные и негативные тесты на:
  1. Функцию вычисления корня в калькуляторе.
  2. Работу с корзиной (добавление / удаление / редактирование) в интернет-магазине.
И вот что я заметила - с позитивным тестированием все хорошо, ребята придумывают разные виды тестов (потому что задача назвать несколько, а не перечислить все-все-все, поэтому, даже работаю в команде, можно не повторяться). А вот с негативным у многих возникают проблемы, просят пояснить, потому что "ничего кроме ввода символов в числовое значение числа товаров в корзине да вычисления корня из отрицательного числа на ум не приходит".


Поэтому я решила написать поясняющую статью.

Позитивное тестирование

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

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

Не работает основной сценарий, зачем дальше вообще что-то проверять? Так магазин и теряет пользователей.

четверг, 6 февраля 2014 г.

Список книг (по тестированию и не только) с отзывами

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


Области прочитанных книг самые разные, но начнем, конечно же, с тестирования...

Тестирование в целом

ВАУ, must read!
  1. Lee Copeland. A Practitioner's Guide to Software Test Design - ЛУЧШАЯ КНИЖКА по тест-дизайну! Да, на английском, но поверьте, оно того стоит. Книга-тренинг, в конце каждой главы идут упраждения для самопроверки.
  2. Ron Patton. Software Testing - По объему предоставляемой информации не уступает Копланду, для начинающих очень-очень много полезной информации! Книга-тренинг, в конце каждой главы идут вопросы для самопроверки.
  3. Роман Савин. Тестирование dot com - Мастхев всех русских тестировщиков, особенно начинающих. Она маленькая и бесплатная. Поэтому никакие отмазки не пройдут. Не читал? До свидания (если пришел на должность джуниора, а сам даже Савина не удосужился прочитать)
  4. Exploratory software testing. James Whittaker — must read, как для новичков, так и для продвинутых! Показывает тестирование с новой стороны :)
  5. Рекс Блэк. Ключевые процессы тестирования - очень серьезная книга про процессы. Ее сложно прочитать, но можно почерпнуть много интересной информации.
  6. Алан Купер. Психбольница в руках пациентов - лучшая книга про usability. Стоит читать даже тем, кто этим видом тестирования пока не занимался.
  7. Дэвид Платт. Софт отстой и что с этим делать. - офигительная книжка по usability. Ничуть не хуже Психбольницы, при этом в 2 раза веселее ))
  8. Тестирование программного обеспечения. Базовый курс. Святослав Куликов — Русская бесплатная книга для начинающих. После Савина можно читать, добавит новых знаний! Не совсем простая, но и не совсем серьезная, читается довольно легко, а материала полезного много.
  9. Джоэл о программировании. Джоэл Спольски — там не только о программировани, но и о тестировании, и о багах, и много о чем еще!
  10. Джоэл. И снова о программировании. Джоэл Спольски — вторая часть, не менее замечательная :)
  11. Perfect Software and other illusions about testing. Gerald M. Weinberg — прекрасные примеры иллюзий о тестировании.
  12. Книга Главреда. Пиши, сокращай — прочитайте сами и аналитику подарите!

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

Элияху голдратт. Я так и знал

Ссылка на OZON.

Еще одна замечательная книга Голдратта.
Он описывает теорию ограничений в виде бизнес-романа. Интересной истории, которая в разных книгах (Цель, Цель-2, Цель-3) происходит в различных сферах жизни. Завод, розничная торговля, ИТ-сфера...

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

И даже если книжка совсем не про ИТ (вот эта, например, про розничную торговлю), разве мы не можем извлечь оттуда уроки?

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

Где чаще всего возникают ошибки? Почему? Может, этот модуль слишком сложен? Может, его надо упростить или подробнее описать?

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

Вывод - рекомендую к прочтению Smile :)

Отзыв добавлен в общий список книг.