Совсем недавно начал работу с Jenkins. Создал несколько простых джобов, которые запускают наши заглушки(командой в консоль). Всё корректно.
Т.к. заглушек очень много и целью изначально является автоматизация - возникла необходимость запускать все эти джобы(один джоб - одна заглушка) - одновременно одной кнопкой.
Создал отдельную сборку с задачей "Trigger/call builds on other projects". Там добавил все свои джобы. Запускаю эту общую задачу - всё отлично.
Как только все заглушки запущены - эта общая джоба как бы "Собралась" и остановаилась.
Суть вопроса: как тогда сделать массовую остановку всех запущенных сборок? Есть ли операция аналогичная "Trigger/call builds on other projects", но именно для остановки сборки?
В этой статье я хочу поделиться опытом освоения тестирования (в т. ч. автоматизации) на уровне API (Application Programming Interface – интерфейс программирования приложений, интерфейс прикладного программирования). Надеюсь, что предлагаемый материал будет представлять интерес для всех, кто ранее проводил тестирование через графический интерфейс и еще не имеет опыта работы с http-запросами.
Немного о REST API и SOAP API
Стоит отметить, что на сегодняшний день есть два основных подхода к построению программного интерфейса веб-приложений: REST (RESTful) API и SOAP API:
REST (от англ. Representational State Transfer – «передача состояния представления») обеспечивает общение между клиентом (как правило, это браузер) и сервером с помощью обычных HTTP-запросов (GET, POST, PUT, DELETE и т. д), передавая информацию от клиента в параметрах самих запросов, информацию от сервера – в теле ответа (который может быть, например, JSON-объектом или XML-документом). REST является архитектурным стилем, а не стандартом.
SOAP (от англ. Simple Object Access Protocol – простой протокол доступа к объектам, вплоть до спецификации 1.2) характеризуется использованием HTTP(S)-протокола лишь как транспорта (чаще всего, методом POST). Все детали сообщений (в обе стороны – от клиента к серверу и обратно) передаются в стандартизованном XML-документе. SOAP может работать и с другими протоколами прикладного уровня (SMTP, FTP), но чаще всего он применяется поверх HTTP(S). SOAP является протоколом и имеет спецификацию.
Работаю тестировщиком в контакт-центре и тестирую десктопное приложение для сдачи отчетности в электронном виде. Из тестировщиков на этом проекте я всего один. Тестирование полностью исследовательское и даже на него времени почти нет. Вся работа сводится к тому, что я не тестирую и нахожу баги, а клиенты обращаются через тех сапорт с найденными багами и уже потом я отдаю их разрабам. Хотелось бы выстроить процесс тестирования и начать делать все как нужно. Хотелось бы узнать с чего начать? Может кто поделится опытом или кинет пару полезных ссылок.
Работаю в компании, где являюсь единственным участником QA-отдела. На мне лежат задачи по организации тестирования, планированию, предоставление отчетов, создании чек-листов с тестами, созданием тестов.
Моя основная боль сейчас это неспособность дать ответы быстро и полностью на вопросы:
* Какие фичи еще не проверены?
* Была ли фича Ф1 проверена в билде Б1 ?
* Автоматизирована ли фича Ф1 хоть как-то?
* Где посмотреть общий отчет со статусами всех тестов как ручных, так и автоматических?
Сейчас процесс тестирования организован не совсем удачно и ищу способы его улучшения. Использую Zephyr. В нем созданы тест.циклы с тестами и помечены как 'unscheduled' . Эти наборы использую в качестве шаблонов, т.е. в качестве отправной точки при проверке будущих билдов. Как только мне нужно проверить продукт1 билда1, то создаю версию продукт1_билд1 и клонирую тест.цикл из 'unscheduled' и привязываю к версии продукт1_билд1.
Также есть автоматические тесты, которые запускают часть кодовой базы и проверяют условно говоря "движок" продукта без какого-либо GUI.
Пока размышляю, что я могу улучшить. Прошу советов и помощи.
Jmeter. Как задать индивидуальный cookie для каждого сценария и нужно
2017-04-29 00:22
Задача стоит в том, чтобы создать нагрузку используя определенную последовательность запросов(сценарий). Но, необходимо чтоб каждый сценарий начинался с авторизации и сохранения новой куки для следующих шагов. Сценарий должен выполняться n раз за минуту, но каждый раз новым юзером. Подскажите как это организовать. Пока я смог залогиниться одним юзером(вытянуть куку) и сымитировать все нужные запросы в порядке заданном сценарием. Или может не стоит заморачиваться и просто стрелять запросами без какого-либо сценария с одной статической кукой? Есть ли существенная разница?
C++ для тестировщика
2017-04-29 00:46
Здравствуйте. Я не вперый раз натыкаюсь на подобную вакансию "automation QA with C++" . Знаете ли вы кого-то кто пишет автоматизированные тесты на c++? Что это за тесты? Неужели ищут специально людей которые будут писать юнит тесты на плюсах? Или бывают ещё какие-то виды тестов которые пишут на этом языке?
P.S. Ейчаров ещё не спрашивал( да и не уверен что они мне ответят)
1.Перелопатив сеть я нашел массу примеров работы с данным пространством имен, но везде расходятся варианты использования FindsBy. Вот парочка из них:
[FindsBy(How=How.XPath Using = @".//*[@id='body']/section/div[1]/div[1]/div/form/div[1]/div[1]/div[1]/span[2]/span/input")]
или
[FindsBy(How=How.XPath Using = ".//*[@id='body']/section/div[1]/div[1]/div/form/div[1]/div[1]/div[1]/span[2]/span/input")]
Есть ли различие для компилятора между строкой с "@" и без нее?