Что пишут в блогах

Подписаться

Что пишут в блогах (EN)

Разделы портала

Онлайн-тренинги

.
Автоматизация тестирования: нужно ли изучать теорию?
13.10.2015 14:17

Зачем тестировщику-автоматизатору учить теорию? Может быть достаточно освоить какой-нибудь популярный инструмент, например, Selenium или TestComplete? Выучить какой-нибудь язык программирования, например, Java или Python? И никакая теория не нужна.

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

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

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

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

Освоив принципы работы с классами и объектами, человек получает в руки новый мощный инструмент. Он уже не только алгоритмы пишет, он строит архитектуру приложения. Это позволяет писать более сложные программы.

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

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

А когда вы разрабатываете автоматизированные тесты -- к общей теории программирования добавляется ещё и специфическая дополнительная теория.

Во-первых, надо уметь проектировать тесты.

Подробнее...
 
Новый тренинг Алексея Баранцева “Автоматизация функционального тестирования”
12.10.2015 13:29

Онлайн-тренинг Алексея Баранцева, 1,5 месяца занятий, 7.5 часов теории + много практики + постоянные консультации тренера в скайп-чате

Первый запуск – 25 ноября, не пропустите, обычно первая группа самая активная :-)

Можно ли представить себе хорошего линуксового системного администратора, который не знает общую теорию операционных систем и сетей, не подозревает о существовании Windows и MacOS, не умеет пользоваться для настройки системы консолью так же хорошо, как графической оболочкой? Можно ли считать хорошим инженером-строителем человека, который не владеет сопроматом, не знает про современные строительные материалы и особенности их применения, даже если на текущем объекте строительства они не используются? Можно ли признать хорошим актёром того, кто день за днём играет одну и ту же роль, не знает о современных тенденциях в театральном искусстве и не пытается попробовать себя в других амплуа?

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

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

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

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

Подробная программа и условия участия

 
Повышаем надёжность Selenium тестов через JavaScript
12.10.2015 12:32

Выступление Игоря Хрола на онлайн-конференции Selen ConfeT&QA

UI-автотесты не отличаются высокой надёжностью. Где-то может не хватать синхронизации и тесты будут «падать» время от времени просто так. Или фокус «слетел» и кнопка не нажалась. Эти и другие случаи зачастую делают результаты автотестов непредсказуемыми и не вызвающими доверия.

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

 
Как вовлечь своих коллег в процесс автоматизации
09.10.2015 13:09

Автор: Грег Сиполт

Оригинал статьи: http://sauceio.com/index.php/2015/08/getting-the-existing-team-on-board-with-automation-scripts/

Перевод: Ольга Алифанова

Введение

Сделать побольше, потратить поменьше, тестировать одновременно и быстро, и качественно – вот задача современных компаний. Бизнес требует высоких скоростей разработки, внедрения новых возможностей и исправления дефектов, и качество продукта не должно при этом пострадать. Однако время- и трудозатратное ручное тестирование несравнимо по точности с автоматизированными тестами – и значит, настало время познакомить вашу команду с преимуществами автоматизации

"Единственный способ принять перемены - это погрузиться в них, осознавать их, двигаться в танце с ними" - Алан Уоттс.

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

Подробнее...
 
Руководитель отдела тестирования, Казань
08.10.2015 14:31

Группа компаний FIX приглашает на постоянную работу специалиста для управления командой тестирования в международный проект.

Основные обязанности:

  • организация процесса тестирования сложного высоконагруженного решения в области телекоммуникаций;
  • контроль качества создаваемого решения с точки зрения выполнения функциональных и нефункциональных требований;
  • ответственность за эффективность работы команды тестирования;
  • ответственность за рост квалификации и экспертизы команды тестирования;
  • анализ бизнес требований и определение приемочных критериев;
  • ответственность за выбор фреймворков и технологий тестирования, создание тест плана, тест сценариев для тестирования высоконагруженного приложения;
  • ответственность за разработку автоматизированных тестов командой тестирования;
  • ответственность за постоянное улучшение качества создаваемого решения (анализ и оценка новых инструментов и фреймворков, ревью кода и т.д.)
Подробнее...
 
Краткое введение в TDD для тестировщика
08.10.2015 13:45

Выступление Дмитрия Миндры на онлайн-конференции для специалистов по автоматизации тестировния Auto ConfeT&QA.

Разработка через тестирование (TDD) известна уже более 10-ти лет. Эту практику применяют десятки тысяч разработчиков. Есть масса успешных примеров, и при этом масса людей, не верящих в эффективность разработки через тестирование. Также есть заблуждение о том, что TDD заменяет работу тестировщика. При этом TDD – это всего лишь один из инструментов разработчика, решающий определенные задачи. Данный доклад является быстрым введением в TDD, который даст вам представление о нем, а также о популярных заблуждениях и мифах.

 
И всё таки, можно ли заниматься автоматизацией тестирования, не умея программировать?
06.10.2015 16:44

Наличие автоматизации это не переключатель с двумя положениями. Вот вчера ещё у вас ещё не было автоматизации. А сегодня -- чик! -- и она есть. Всё совсем не так.

Автоматизация -- это делегирование некоторых задач от человека машине.

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

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

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

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

Есть мнение, что "хорошие" автотесты могут быть написаны только на "настоящем" языке программирования.

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

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

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

Для веб-приложений наиболее популярным инструментом, не требующим умения программировать и имеющим рекордер, является Selenium IDE. Научиться пользоваться этим инструментом весьма несложно, и это будет полезно всем, кто занимается тестированием веб-приложений. Хотя бы для того же автоматического заполнения форм тестовыми данными.

Для быстрого освоения Selenium IDE мы сделали новую версию тренинга "Selenium: стартовый уровень".

Подробнее...
 
Системы сбора статистики или следим за пользователями в режиме on-line
02.10.2015 11:15

Выступление Надежды Дегтяревой (Самара, Mercury Development) на онлайн-конференции Mobile ConfeT&QA.

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

В своем докладе я хочу помочь вам узнать этих скрытых помощников «в лицо» и рассказать:
1. О том, что умеют популярные системы сбора статистики, и на какой лучше остановить свой выбор.
2. Как облегчить себе жизнь и сделать настройку системы статистики более гибкой с помощью Segment.io
3. Об основных тонкостях интеграции систем сбора статистики и выбора логируемых событий, почему лучше семь раз отмерить
4. Как использовать собранную статистику себе и другим во благо, чтобы создавать действительно качественные и удобные приложения

 
Про ценность тест-кейсов
28.09.2015 14:15

Автор: Джорис Меертц (https://patternsofproof.wordpress.com/)

Оригинал статьи: https://patternsofproof.wordpress.com/2015/06/02/on-the-value-of-test-cases/

Перевод: Ольга Алифанова

Подгнило что-то в Датском королевстве...

Уильям Шекспир - Гамлет

Я несколько недель наблюдал за использованием тест-кейсов в проекте по разработке ПО. Команда приступила к созданию кейсов, когда функциональные спецификации были объявлены достаточно проработанными. Кейсы были разбиты на отдельные шаги и заведены в систему управления тестами (в данном случае - в HP Quality Center). Они были проанализированы, и команда планировала приступить к их выполнению, как только продукт будет передан в тестирование.

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

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

Подробнее...
 
Как screenshot-based средство помогает в автоматизации тестирования iOS приложений
22.09.2015 15:06

Выступление Александра Хози (автор блога Записки мобильного тестировщика) на онлайн-конференции для специалистов по автоматизации тестирования Auto ConfeT&QA.

Мобайл — молодая и стремительно развивающаяся отрасль, где лидеры и правила игры меняются с огромной скоростью. В силу молодости подходы к разработке и тестированию еще не окончательно устоялись, и имеется целый ряд препятствий, отравляющих нам жизнь. Если опытного мануального тестировщика мобильных приложений можно опознать по развитым хватательным рефлексам и мозолям на пальцах, то опытного автоматизатора мобильных приложений под iOS — по красным от слез глазам :)

Поделюсь с вами, почему автоматизация мобильных приложений — нетривиальный процесc. В частности, почему автоматизация iOS приложений — особенная пичалька :)

Расскажу:

  • какие ограничения существуют у мобайла и у iOS в частности;
  • какие инструменты мы исследовали;
  • что выбрали;
  • «по пацански» ли использовать screenshot-based средства;
  • как мы скомбинировали screenshot-based c «традиционными» инструментами автоматизации;
  • к чему пришли и куда будем двигаться дальше.

 
Как часто вы желали, чтобы тестируемое вами приложение было хотя бы... пригодно для тестирования?
21.09.2015 18:15

 

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

Создайте ваш личный кабинет на сайте Kiuwan прямо СЕЙЧАС

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

Softmart и Kiuwan объединили свои усилия, что помочь вам узнать многие особенности и странности вашего программного обеспечения еще до того, как вы начали тестировать функциональность. Чем раньше вы проанализируете ваши приложения, тем более эффективными будут процессы разработки и тестирования как с точки зрения затрат, так и полученных результатов.

Kiuwan - это настраиваемый инструмент статического анализа исходного кода приложений, написанных на любом из 19 поддерживаемых языков программирования, включая Java, C#, PHP и JavaScript. Результаты анализа в виде отчетов по разнообразным метрикам качества программного обеспечения доступны через web в личном кабинете на портале Kiuwan.

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

 Создайте ваш личный кабинет на сайте Kiuwan прямо СЕЙЧАС