В конце февраля была проведена очередная конференция выходного дня COMAQA Winter 2017. На встрече прозвучали выступления специалистов по ручному и автоматизированному тестированию.
Кроме того, в рамках мероприятия было организовано два круглых стола, где обсуждались:
1. Архитектура решений UI автоматизации. Присутствующие эксперты рассказывали о своем опыте и пытались прийти к консенсусу по затронутым вопросам.
2. Старт автоматизации тестирования на проекте. Коллеги обсудили, с чего лучше начать процесс, как подобрать команду, как определиться с инструментами и покрытием, а также коснулись других не менее интересных тем.
Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений?
При тестировании веб-приложений применяются те же самые классические методы и техники проектирования тестов. Веб-приложения обычно имеют более простой интерфейс, чем "десктопные" программы. Браузером все умеют пользоваться, для этого не нужны какие-то специальные навыки.
Но существует ряд нюансов, связанных с социальными и технологическими особенностями веб-приложений, которые отличают их от других видов приложений, и которые обязательно нужно учитывать при тестировании, чтобы выполнить его профессионально.
фантастическое многообразие технологий, которые скрываются за простым фасадом браузера – фактически каждое веб-приложение является не самостоятельной программой, а частью всемирной паутины, и в работу веб-приложения вовлечено очень много разнородных компонентов,
невероятная скорость веб-разработки как в узком, так и в широком смысле – короткие релизы, быстро меняющиеся требования, постоянное совершенствование существующих технологий и возникновение новых,
потрясающее разнообразие пользователей, от случайных посетителей до постоянных клиентов, от младенцев до стариков, от новичков до хакеров,
полная открытость технологий, протоколов передачи данных, стандартов, и одновременно с этим необходимость особенно тщательной защиты, с учётом написанного в предыдущем пункте.
Кроме того, в этом курсе даются основы нефункционального тестирования веб-приложений – тестирование производительности, защищенности, удобства использования. В дальнейшем можно продолжить изучение отдельных видов нефункционального тестирования в более углублённых специализированных курсах Тестирование производительности веб-приложений и Тестирование защищенности веб-приложений.
После прохождения тренинга учащийся будет:
понимать принципы работы веб-приложений и знать, какие технологии при этом используются,
знать особенности тестирования веб-приложений по сравнению с десктопными приложениями,
уметь проектировать тесты с учётом особенностей веб-приложений и оценивать покрытие тестами функциональности приложения,
уметь выполнять тесты, при необходимости используя инструментальные средства для преодоления ограничений, накладываемых браузером,
владеть инструментами, для выполнения специфических проверок, характерных для веб-приложений:
анализ целостности ссылок,
анализ соответствия веб-стандартам,
понимать причины возникновения уязвимостей в веб-приложениях и уметь обнаруживать наиболее критические уязвимости в веб-приложениях,
понимать принципы оценки производительности веб-приложений и уметь выполнять анализ серверной и клиентской производительности веб-приложений,
уметь рассуждать об удобстве использования веб-приложений :)
Каждое занятие будет сопровождаться практическими заданиями, которые помогут быстрее и увереннее начать применять знания на практике.
Сейчас имею записанный скрипт на VUGEN. Хотелось бы сделать его более универсальным.
Вот примерный алгоритм действий, которые хотелось бы сделать:
1.Зайти на главную страницу 2.Отправить POST-запрос с логином и паролем 3.Начало цикла 4.Получить следующую страницу 5.Получить список элементов (
Input Text
Input Checkbox
Input Radio
Select
)
6.Если элементы имеют введенные значения, то получить эти значения 7.Заполнить элементы другими значениями или выбрать другие значения 7.Отправить POST-запрос с заполнеными данными 8.Продолжать до тех пор пока не встретим сообщение об удачном завершении теста
Имею опыт в программировании на Си и C#.
Хотелось бы узнать для получения web-элементов требуется писать свой код(как я вижу это парсер web-страницы) или есть готовые решения?
Если готовых решений нет, то как описываются свои функции?
Если у кого нибудь есть примеры самописных скриптов на VUGEN могли бы поделиться?
Если кто-то имеет уроки по созданию скриптов буду признателен, если поделитесь
В современном мире бизнес всё чаще обращает внимание на мобильные технологии. Появляются новые возможности для развития, а рынок мобильных устройств растёт гораздо быстрее рынка домашних компьютеров. И вместе с рынком растет и спрос на тестировщиков мобильных приложений.
Однако разработка мобильного ПО - область новая и очень динамичная. В ней, помимо проблем, типичных для IT, каждый день появляются новые вызовы. К тому же сами инструменты для разработки и тестирования находятся ещё на стадии развития, поэтому тоже имеют свои проблемы.
Опыт тестирования Desktop и Web приложений, несомненно, применим и в мобильной отрасли, однако нужно знать и понимать особенности, с которыми придётся столкнуться: наличие сенсоров и датчиков, постоянную работу системы, управление тачскрином и прочее.
Во время тренинга тренер поделится личным опытом организации тестирования мобильных приложений, выбора устройств и построения тестовых стратегий.
Отдельный акцент будет сделан на работе с платформой Android, как с наиболее распространённой мобильной ОС на данный момент.
Тест-менеджмент – это наука, содержащая множество формальных моделей, техник и подходов.
Тест-менеджмент – это искусство, опирающееся на особенности каждого конкретного организатора.
Эффективный процесс тестирования возможен только на стыке науки и искусства. Поэтому, в этом курсе собраны все ключевые техники и модели, но оставлено место для творчества и поиска вашего уникального процесса тестирования.
Этот курс создан для ведущих тестировщиков и руководителей тест-команд. Если вы отвечаете за организацию тестирования на проекте, то этот курс – именно то, что поможет вам достичь максимального результата.
Все домашние работы выполняются на примере вашего рабочего проекта. Если у вас такового нет, то мы можем предложить вам взять наш проект с группой тестировщиков. Наши специалисты помогут вам набрать команду, подобрать инструментарий и проконтролировать ход тестирования проекта. Таким образом, вы сможете закрепить на практике полученные знания и получить практическую пользу от курса, даже если у вас пока что нет своей команды.
Помимо участия в проекте по тестированию, от вас так же потребуется достаточно времени на обучение: в среднем, это 4-6 часов в неделю, но при небольшом опыте в тестировании может быть и больше. Если в данный момент ваша рабочая загрузка слишком высокая, мы советуем отложить обучение до того светлого будущего, когда у вас появится достаточно времени.
Но если не кликнуть по объекту, то значение не считывается. Это происходит потому что webdriver просто не может найти нужный объект. Его попросту нет. Но можно послать запрос на сервер и получить значение этого объекта. Я нашел кусок кода расширения для Хрома которое посылает такие запросы.
var exgb=chrome.extension.getBackgroundPage().exgb;
$(function()
{function i18n_set_prop(selector,prop,msg)
{document.querySelector(selector)[prop]=chrome.i18n.getMessage(msg)}
function csSendMessage(data,response)
{chrome.tabs.query({active:true,currentWindow:true},function(tabs)
{chrome.tabs.sendMessage(tabs[0].id,data,response)})}
{csSendMessage({action:"exgb_get",data:"stat"},function(response)
А может ли webdriver послать подобный запрос сам или при помощи подобного js?
Я нарыл как прикрутить в webdriver код js так что бы он кликал по скрытым объектам. А вот как прикрутить этот код я что то не соображу.
Я работал со своей командой какое-то время на тот момент, и думал, что завоевал их уважение и доверие. У нас был высокорисковый сложный проект в критической стадии, и я находил баг за багом.
"Может кто-нибудь сказать Томесу, чтобы он прекратил тестировать? Он просто ломает ПО и находит больше и больше багов!"
Я буквально сдулся и почувствовал себя бессмысленным. Конечно, глубоко внутри себя я знал, что мой статус магнита для багов был несправедлив, но мне не хватало способности объяснить, почему.
Я хочу поговорить об исследовательском тестировании так, чтобы нас поняли. Когда мы пытаемся произвести впечатление или придать чересчур много важности тому, что мы делаем, мы можем вызвать смущение или даже гнев и раздражение.
К примеру, когда мы подстраиваем свой словарь, чтобы нас лучше понимали, мы можем исказить суть определения. Если мы отстаиваем точку зрения, используя терминологию, которая никому ни о чем не говорит, мы вызовем путаницу и раздражение.
Зачем объяснять "для тупых", что именно мы делаем, когда занимаемся исследовательским тестированием? Зачем молчать про ту ценность, которую команда, продукт и потребитель получают от такого подхода к тестированию? Это выглядит, как неуважение к сообществу и потребителям – мы делаем ПО, но рассказываем о том, как, некорректно и нечестно.