17.04.2012 09:47 |
На первой онлайн-конференции ConfeT&QA 2011 Андрей Дзыня покорил сердца слушателей тем, что не побоялся показывать вживую, "в прямом эфире", как создаются тесты -- от первых шагов (запись действий пользователя в рекордере), через все этапы построения фреймворка с гибкой архитектурой, до запуска тестов в системе непрерывной интеграции. И всё это за каких-то 20 минут! Мы предлагаем вам самим посмотреть, как это происходило.
И, кстати, для построения тестов использовался замечательный инструмент Selenium, так что рекомендуем посмотреть эту запись также тем, кто начинает осваивать этот инструмент.
Автотесты? Что тут сложного? Казалось бы, берешь инструмент автоматизации, записываешь скрипты и запускаешь. Но когда тестов становится сотни и даже тысячи, что на исправление и поддерживание уходит больше времени, чем написание новых – это проблема. Как превратить обычные тесты в некоторую инфраструктуру, с оптимизированным использованием компонентов?
Существует несколько подходов к организации фреймворка автоматизированного тестирования WEB приложений. Одним из них я поделюсь с вами. Использоваться будет Java и Selenium 2(Webdriver), основываясь на Page Factory Pattern. А запускать тесты – maven на системе непрерывной интеграции Jenkins.
|
Подробнее...
|
02.04.2012 11:46 |
Меня зовут Дима Жарий. По еще горячим следам отгремевшей более месяца назад онлайн конференции Auto ConfeT&QA, я хотел бы представить доклад: «Обходные пути в автоматизированном тестировании»
Предыстория доклада:
Очень часто, в процессе разработки приложения, наши авто тесты краснеют от того, что нарываются на уже известные и описанные в багтрекере ошибки приложения. Со временем, таких заблокированных тестов стает все больше и больше. Тестировщики и Разработчики говорят, что «эти 200 тестов краснеют по известным проблемам… » Тогда и начинает работать пагубный эффект разбитых окон. На красные тесты уже никто не смотри. Если покраснеют еще 5 – не беда, ну будет 205, ну и что? В такой ситуации автоматизация не работает, часть функционала приложения не протестирована и стоит забыть об автоматизации, и вернутся к ручному тестированию…
О чем доклад:
А как же тестировщики справляются с подобными проблемами? Все очень просто. Они обходят известные проблемы и спокойно идут дальше, присвистывая, тестируют новый функционал. Почему же автоматизация так не может? А может! И мой доклад о том, как сделать правильные обходы и как связать эти обходы с процессом разработки. Обход – это не решение проблемы в продукте, но это может быть хорошем решением проблем автоматизации тестирования.
|
Подробнее...
|
28.03.2012 10:56 |
Мир мобильных устройств очень сильно изменил нашу жизнь. В наше время невозможно представить современного человека, без мобильного телефона. На рынке появляется все больше различных устройств и приложений для них. В своем докладе Андрей Дзыня рассказал о том, какие инструменты автоматизации тестирования мобильных приложений под Android и iOS существуют на рынке. И не только рассказал, но и показал вживую, как автоматизировать тестирование Native Android приложений.
|
Подробнее...
|
26.03.2012 15:14 |
На данный момент мир веб-приложений интенсивно развивается и интерфейс становится все более динамичным. Повсеместно используется асинхронное обновление элементов и AJAX. И такие веб-приложения приходится тестировать с помощью Selenium/WebDriver. Автоматизированный тест можно разбить на атомарные фрагменты, которые многократно выполняются в цикле: “найди элемент”, “выполни действие”, “подожди результат”. При автоматизации AJAX-приложений проблемы возникают со всеми тремя видами фрагментов.
Во-первых, искать элементы сложно, потому что они как правило имеют динамические локаторы (нет фиксированных идентификаторов или имен). Во-вторых, спектр возможных действий весьма широк. Это не только клики по ссылкам, как в “традиционных” веб-приложения, но и наведение курсора на элемент, перетаскивание, нажатия клавиш.
Ну и самое сложное — это ожидания. Что является признаком того, что некоторое действие выполнилось успешно или неуспешно? Появление или исчезноваение какого-то элемента? Добегание счётчика или прогресс-бара до 100%? А может быть не стоит вообще ждать полного завершения действия, достаточно лишь частичного результата, чтобы уже можно было продолжить выполнение теста?
На конференции Selenium Camp Алексей Баранцев рассказывал о том, как WebDriver решает все эти три задачи, особенно вторую и третью.
|
Подробнее...
|
05.03.2012 11:30 |
Автор: Геннадий Алпаев
При работе с любым инструментом автоматизации тестировщик рано или поздно сталкивается с необходимостью работы с нестандартными элементами управления. В этом видео на примере работы с MS DataGridView показано, как в TestComplete находить и использовать нужные свойства для создания удобных функций общего назначения.
Смотреть видео
Если Вы хотите быстро изучить TestComplete, то сегодня еще можно записаться на тренинг Геннадия Алпаева Автоматизация тестов с использованием TestComplete
Обсудить в форуме |
22.02.2012 10:49 |
TestComplete - самый популярный в странах СНГ инструмент для автоматизации тестирования различных приложений: .NET, Java, Win32, Web, Delphi, Flas, Flex и многих других.
При работе с TestComplete очень важным фактором являются настройки, в зависимости от которых работать может быть легко, сложно, или же вообще работа может показаться адом. Геннадий Алпаев, автор единственного русскоязычного учебника по TestComplete, подготовил небольшой видеоурок, в котором рассмотрены наиболее важные и интересные настройки TestComplete'a, с которыми пользователь может столкнуться в работе и которые могут эту работу существенно упростить. Смотреть это видео рекомендуется тем, кто уже немного знаком с TestComplete (т.е. попробовал писать простые скрипты и чувствует, что готов к созданию проекта для реального приложения).
|
Подробнее...
|
18.09.2011 17:57 |
Предлагаем вашему вниманию ещё одно выступление с прошедшей 11 августа 2011 года встречи московского клуба тестировщиков -- рассказ Андрея Беляевского "Подход к выбору инструмента для автоматизации тестирования Qt-приложений".
Разумеется, эта тема должна заинтересовать тех, кто занимается тестированием Qt-приложений. Но мы рекомендуем посмотреть это выступление вообще всем, кто занимается выбором каких-либо инструментов, не только для автоматизации и не только для Qt-приложений. Рассказ Андрея посвящен не столько инструментам, сколько процессу выбора -- как проводить сравнение, на какие нефункциональные характеристики обращать внимание, как наилучшим способом провести "тест-драйв" инструмента и т.д.
|
Подробнее...
|
07.09.2011 22:41 |
На встрече московского клуба тестировщиков 11 августа 2011 года, организованной при поддержке компании CustIS, Игорь Варавко рассказал про автоматизацию тестирования веб-приложений, разработанных с использованием нового стандарта HTML5. В качестве инструмента автоматизации выступал WebDriver (он же Selenium 2), а тесты разрабатывались на языке Ruby.
Игорь рассказал и показал на реальных примерах, как при помощи WebDriver можно:
- перетаскивать объекты на странице;
- выполнять действия с canvas объектами;
- перемещаться между окнами браузера с помощью switchTo.
Кроме того, речь шла также об архитектурных и инфраструктурных вопросах:
- использование готового расширения для реализации шаблона проектирования Page Object;
- построение собственного DSL языка для решения конкретных задач;
- автоматизация запуска тестов в Jenkins CI с визуализацией результатов выполнения.
|
Подробнее...
|
22.08.2011 11:49 |
Автор: Алексей Баранцев
Это очень короткая и не совсем типичная для меня статья. Меня обычно беспокоит противоположный вопрос – как сделать, чтобы Selenium не тормозил. Но недавно участники тренинга “Программирование для тестировщиков” задали мне вопрос, можно ли замедлить выполнение тестов, потому что они выполняются слишком быстро и поэтому “не видно, что там происходит”. С одной стороны, приятно, что Selenium такой шустрый. Но с другой стороны, раз надо замедлить – почему бы и нет. Поскольку я в последнее время всех агитирую переходить на WebDriver, то есть Selenium 2, здесь я тоже расскажу, как это реализовать на новой версии. А заодно расскажу ещё и о том, как заставить WebDriver подсвечивать элементы перед тем, как кликнуть или ввести какие-нибудь данные, ибо реализуется это с использованием того же самого механизма.
Selenium 2 содержит специальный класс, предназначенный как раз для решения такого рода задач – EventFiringWebDriver. Он представляет собой обертку вокруг “обычного” драйвера, которая используется следующим образом:
|
Подробнее...
|
11.07.2011 14:48 |
Автор: Алексей Баранцев
Три дня тому назад, ровно в полночь (по московскому времени), торжественно, под звуки фанфар, вышла вторая версия инструмента автоматизации веб-приложений Selenium 2.0. И это действительно очень важное событие в жизни тестировщиков, занимающихся автоматизацией веб-приложений, потому что это не простое обновление, а совершенно новый инструмент!
На протяжении предыдущих двух месяцев, когда Selenium 2.0 находился на этапе бета-тестирования, и многие уже начали пробовать новую версию, мне неоднократно приходилось отвечать на вопрос, в чем же состоит кардинальное отличие 2.0 от предыдущей версии, и почему они при переходе на 2.0 никакого отличия не заметили. Мне приходилось объяснять, что для “настоящего” перехода на версию 2.0 недостаточно просто загрузить новый дистрибутив, надо ещё и переписать все свои тесты :) И это не совсем шутка, в ней есть изрядная доля правды.
Заранее предвидя, что с выходом официального релиза количество переходов на новую версию увеличится, и мне придется снова и снова объяснять, чем она отличается от предыдущей и как правильно осуществлять переход, я решил написать эту заметку, дабы впоследствии просто ссылаться на неё.
Первое, что надо запомнить – Selenium 2.0 обладает полной обратной совместимостью. Всё, что было в версии 1.0, по прежнему присутствует в новой версии, оно никуда не исчезло и в обозримом будущем не исчезнет. Поэтому можно просто загрузить дистрибутив 2.0, запустить свои старые тесты с новым Selenium-сервером – и всё должно работать как раньше. Между прочим, даже многие старые баги сохранились, потому что при разработке новой версии эту часть кода старались вообще не трогать, усилия были сосредоточены на другом направлении. Впрочем, некоторые изменения всё таки вносились, главным образом нацеленные на поддержку новых версий браузеров Internet Explorer (до версии 9 включительно) и Firefox (до версии 5 включительно).
Но чем же всё таки новая версия отличается от предыдущей?
|
Подробнее...
|
|