Способность уверенно исследовать плавающие баги – одна из характеристик отличного тестировщика. Самые захватывающие истории, которые я слышал от тестировщиков, были про охоту на "белых китов" в океане сложного кода.
В отличие от багов, которые загадочным образом воспроизводятся постоянно, плавающий баг – это больше проблема тестирования, нежели разработки. Многие программисты просто не хотят гоняться за причинами таких проблем, если есть куда более доступные жертвы.
Вообще-то плавающие баги не должны вас удивлять. Все программирование, можно сказать, крутится вокруг контроля неустойчивого поведения. Итак, о чем речь?
Нас не беспокоит неустойчивое поведение, если оно а) так и задумано б) не несет в себе тайны, даже если оно не вполне предсказуемо. Например, результат подброшенной монеты или шанс выбить 777 в игровом автомате – вполне себе неустойчивое поведение. Даже загадочное неустойчивое поведение не волнует нас, если мы уверены, что оно не вызовет проблем. Когда я тестирую, я не думаю о магнитных полях или мелких скачках напряжения, хотя они влияют на мою работу постоянно.
Многие плавающие баги никем не обнаружены просто потому, что они еще ни разу не проявились (или проявились, но никто их не заметил). Все, что мы можем сделать – это позаботиться о создании наилучшего тестового покрытия и придерживаться этого подхода. Нет в мире алгоритмов для автоматического определения или предотвращения всех плавающих багов.
Итак, то, что обычно называется плавающим багом – это загадочное, нежелательное поведение системы, которое наблюдалось как минимум единожды, и которое мы не можем спровоцировать повторно.
Наша задача – превратить плавающий баг в обычный, раскрыв тайны, окружающие его. После этого он становится головной болью программистов.
Ирония индустрии тестирования заключается в том, что люди, не включенные в тестирование (а также куча народу внутри нее) верят, что тестировать – это очень просто. Нет, некоторые продукты действительно просто тестировать. Они должны соответствовать следующим критериям, например:
Простая архитектура
Редко используются
Не критически важны и от них не зависит чья-то жизнь
Не взаимодействуют с другими приложениями или средами, или их взаимодействие и интеграция минимальны
Удобство использования и доступность практически не имеют значения и могут иметь баги, которые "не создают проблем тем, чье мнение важно.
Такие приложения обычно бесплатны, или основаны на открытом коде, или идут "в нагрузку" к другим продуктам. Например, возьмем Блокнот – его функциональность минимальна, и он бесплатно поставляется с другими продуктами Microsoft.
После очередной уборки на сервере выяснили, что у нас осталось несколько неопубликованных докладов со старых онланй-конференций. Те доклады, информация в которых еще не устарела постараемся выложить в ближайшее время.
Выступление Алексея Лянгузова на онлайн-конференции для специалистов по тестированию ConfeT&QA.
То о чём я хочу поведать, приемлемо в случае, если тестовая команда параллельно тестирует несколько проектов, с более-менее жёстким распределением по этим проектам. Представьте такой диалог между руководителем тестирования двух проектов А и Б (ЛидА и ГлеБ): ЛидА: Глеб, выручай у нас релиз на носу, нужны бойцы, не успеваем, зашиваемся. ГлеБ: Сколько людей надо? На какое время? Когда? ЛидА: Вчера надо. А сколько дашь? Мне вообще на денек-другой, может на недельку. ГлеБ: На недельку %) Ладно, так, дам тебе Тугодумова, Раздолбаеву и … ЛидА: з-э, только не Раздолбаеву… … Далее либо договорятся, либо придет Босс и скажет кому и куда идти. Знакомо? Я расскажу о своем подходе, как можно минимизировать данный хаос и затраты на переключение между проектами и максимально продуктивно и позитивно использовать тестировщиков, работающих на других проектах. И нет, это не постоянная ротация. Подход называется “Интенсивный Тестовый Цикл” и предлагает спланировать аврал заранее. Как? Об этом я и расскажу. Данный подход опробован не на одном проекте и зарекомендовал себя как работающий и полезный.
Перевод и адаптация: Кристина Журавлева (ПрактиТест)
Многие слышали, что разработчики не могут быть хорошими тестировщиками.
Хотелось бы все-таки разобраться почему. В этом мне поможет англоязычная статья Джоэля Монтвелиски. Конечно перевод будет вольным с небольшими отступлениями и моими мыслями на эту тему.
Правда, что вы можете научить собаку нескольким трюкам, но вы уж точно не сможете научить ее летать.
Давайте рассмотрим несколько пунктов по которым разработчикам не суждено стать тестировщиками в привычном понимании этого слова.
1. “Родительские чувства” к коду
Разработчики привязаны к тому, что они пишут. Может быть это прозвучит глупо, но очень сложно оценивать объективно то, что ты создаешь.
2. Акцентирование на позитивных моментах
Работа разработчика основывается на позитивных сценариях и их реализации в продукте. Чтобы работать тестировщиком нужно иметь диаметрально противоположный склад ума, так как тестировщики всегда акцентируются на негативных сторонах продукта нежели чем на позитивных. Следовательно разработчику нужно поменять склад ума, чтобы стать тестировщиком, а это не кажется столь реальным на мой взгляд.
3.Работа на основе принципа упрощения сложных вещей
Рассматривание сложных сценариев с целью нахождения багов является одной из составляющих процесса тестирования. В двух словах мы берем простую вещь и придумываем как ее можно усложнить.
Разработчики поступают ровно наоборот. Они берут сложный процесс или проект и разбивают его на более мелкие компоненты с целью найти решение проблемы.
Практически каждая крупная организация нанимает в свой штат разработчиков программного обеспечения. При этом только треть из них заняты непосредственно в бизнесе, связанном с ИТ. Но вне зависимости от того, где они работают: в фармацевтической компании, образовательной или рекламной сферах, они остаются программистами.
Работа в команде – ответственное занятие, поскольку в этом случае люди отвечают не только за себя, но и за окружающих, они общаются, помогают друг другу. Как бы это ни было банально, ключом к продуктивному общению между людьми всегда является вежливость и взаимоуважение. Однако все же есть определенный список фраз, которые – даже когда они звучат вежливо и корректно – не стоит употреблять в разговоре с разработчиками и тестировщиками, если вы их коллега, заказчик, «владелец» или руководитель проекта.
1. «Можешь закончить тестирование поскорее?»
Тестирование должно проводиться вдумчиво и тщательно, чтобы не пропустить критичные недоработки. Хорошее тестирование – залог качественного продукта. Разумеется, есть инструменты для ускорения процесса (вот несколько туториалов по автоматизации тестов, предложенные резидентами Stack Exchange), однако, даже автоматизированные тесты приходится поддерживать и постоянно модифицировать.
В идеале тестирование начинается еще на этапе проектирования продукта и продолжается до самого релиза, а дизайнеры и разработчики плотно взаимодействуют с тестировщиками. Если в вашей компании происходит иначе, то, поздравляем, вы узнали рецепт задержек, ошибок и недостатка бюджета (вот еще несколько вещей, которые не любят слышать тестировщики).
В трансляцию блогов регулярно добавляются новые блоги. Их количество уже давно перевалило за отметку 100. Ну а мы продолжаем знакомить Вас с новыми блогами.
Мы - IT-профессионалы: разработчики, тестировщики, автоматизаторы, менеджеры, специалисты по продажам. Сотрудники ведущих компаний, тренера, консультанты, участники международных конференций.
Цель нашего сообщества - создать единую СНГ площадку для эффективного общения всех IT-специалистов в контексте автоматизированного тестирования.
У вас будет возможность:
услышать доклады ведущих IT-профессионалов и поделиться своим опытом
бесплатно участвовать в “промо”-версиях топовых IT-конференций стран СНГ
регулярно встречаться лично, на тематическом форуме, в “филиалах” сообщества в социальных сетях и мессенджерах
IT в Беларуси является одной из самых перспективных и стремительно развивающихся профессиональных сфер. Она привлекает все больше специалистов, порой из совершенно неожиданных областей.
В нашем блоге мы регулярно публикуем не классические истории активистов нашего сообщества, пришедших в IT, нашедших свое призвание в этой интереснейшей области, истории успеха.
Мы рады новым знакомствам, всегда открыты к общению, присоединяйтесь, будет интересно
В конце мая этого года в Санкт-Петербурге прошла конференция SQA Days 19. Записи некоторых выступлений с конференции уже появляются в открытом доступе.
По мере их публикования мы сделаем подборки докладов по основным темам в тестировании.
Начать решили с подборки докладов, где авторы рассказывают о методах развития команды. Ниже Вы можете найти видео докладов с конференции и просмотреть презентации.
В связи с выходом новой версии JMeter 3.0. мы решили полностью переписать наш тренинг Тестирование производительности. До 12 июля на этот тренинг действует старая цена.
Запустили новый тренинг НЛО: найти, локализовать и оформить ошибку. Это практический курс для тестировщиков по локализации и оформлению баг-репортов + советы по поиску багов, который научит описывать баг-репорты так, чтобы их понял даже вернувшийся после лоботомии разработчик.
Добавили новую опцию в курс Школа тест-менеджеров v. 2.0. Раньше мы брали на курс начинающих менеджеров, у которых есть своя команда и проект. Сейчас прийти может даже тот, кто только думает о карьере тест-менеджера. В этом случае, мы предоставим ему проект и поможем собрать команду на время прохождения курса.
Вышел июньский выпуск рассылки портала Software-Testing.RU, в котором собраны ссылки на новые статьи, слайдкасты, отобраны самые интересные публикации в ленте блогов и темы на форуме.
После очередной уборки на сервере выяснили, что у нас осталось несколько неопубликованных докладов со старых онланй-конференций. Те доклады, информация в которых еще не устарела постараемся выложить в ближайшее время.
Последнее время область мобильных приложений становится все популярнее. Чего только стоит приложение Angry Birds, количество загрузок которого уже давно превысило цифру в 10 миллионов!
Существует 3 основных типа Android приложений:
Native
Web
Hybrid
За 20 минут я успею показать, как автоматизировать Native Android приложения при помощи инструмента Robotium, так чтобы голова не болела.