Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Тестирование REST API



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Тестирование REST API
2014-11-11 11:24

Добрый день!

 

Заказчик поставил задачу, цитирую из трекера:

 

"Протестировать REST API.

У нас на проекте есть API для внешних сервисов по управлению актами. Нужно протестировать все методы этого API на тестовом сервере"

 

У меня нет никакого опыта по тестированию в этой области. Посоветуйте, пожалуйста, с чего начать?



Для чего же нужны тренинги?
2014-11-11 12:10

На соседнем форуме наткнулась на рассуждение о том, что тренинги не нужны. Что книг и статей достаточно. А расхваливаемая практика никому кроме тренера не нужна.

Мне интересно мнение участников этого форума, поэтому решила задать тот же вопрос здесь: Зачем нужны (или не нужны) тренинги именно Вам?

Буду рада услышать любые мнения.



Russian App Day – новое мероприятие о приложениях, облачных и мобильны
2014-11-11 12:36

21 ноября в Технополисе «Москва» состоится новое кросс-индустриальное мероприятие Russian App Day про мобильные и облачные технологии в России. Организаторы: компания Microsoft при поддержке Российской Ассоциации Электронных коммуникаций (РАЭК) и сообщества разработчиков приложений Apps4All.

 

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

 

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

 

Мы будем говорить про бизнес

Вы узнаете, как различные индустрии меняются под давлением современных мобильных технологий и как они смотрят в будущее.

 

Мы расскажем о трендах

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

 

Будет много интерактива

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

 

Для кого это мероприятие?

Если вы:

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

– тогда вам нельзя пропустить Russian App Day!

 

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

 

Успейте купить билет в будущее!

 

А для читателей нашего портала организаторы приготовили 30% скидку, промокод для получения скидки - RADAY_VIP.



Баги как головы гидры, как их победить?
2014-11-11 15:23

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

Кто-то сталкивался с таким? Как это все преодолеть (пережить), исправить а то тестировать уже руки не поднимаются!



Ещё раз про pairwise
2014-11-11 15:28

Выступление Алексея Баранцева на онлайн-конференции для тестировщиков Fun ConfeT&QA.

 

Техника покрытия попарных комбинаций (pairwise testing) – пожалуй, одна из самых «магических». Сотня параметров? Миллионы миллиарды триллионы дециллионы комбинаций? Нет проблем! Берём Магический Инструмент, закладываем в него данные об этих параметрах, нажимаем Магическую Кнопку. Месиво цифр – и на выходе всего десяток комбинаций, которые нужно проверить.

 

Я встречал две крайности в применении этой техники.

 

Одна крайность – использование везде, с потрясающе простым обоснованием применимости – «ну, тестов же мало получается, это классно!» Другая крайность – полный отказ от использования этой техники, с не менее замечательным объяснением – «непонятно, как это работает, а тестов получается подозрительно мало, не верю!»

 

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

 

Я расскажу, не прибегая к теории, какие существуют кнопки и рычаги управления техникой покрытия попарных комбинаций:

  • когда она эффективна, а когда не очень,
  • какие зависимости между параметрами мешают применять эту технику, а какие не мешают,
  • как «дробить» и «склеивать» переменные, чтобы заставить технику работать эффективнее,
  • меняется ли результат от «перестановки мест слагаемых»,
  • какие баги пропускает эта техника и почему.

Ах да, конечно, обязательно покажу Магические Инструменты, как же без этого :)

 

Видео доклада



Где в России провести летнюю школу по тестированию ПО
2014-11-11 15:35

Обычно раз в год мы проводим летнюю школу по тестированию ПО.

 

Для тех, кто совсем не в курсе, вот ссылки на отзывы о прошлых школах.

 

Сейчас мы начали готовить новую летнюю школу и возник вопрос: где провести?

 

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

 

1. место было красивым с хорошим климатом, чтобы хотелось бы поехать туда не только ради летней школы, но и провести там часть отпуска

2. недорогим (обычно стоимость летних школ минимальна)

3. чтобы было удобно добираться большинству участников.

 

У нас есть какие-то задумки, но вдруг кто-то предложит что-то такое, что мы поймем, что все время искали не там.

 

Что скажете? Есть идеи?



Разработка тестов на Java с использованием Selenium 2.0, начало 5 дека
2014-11-11 16:18

онлайн-тренинг с домашней работой, 3 занятия, начало 5 декабря

Тренер: Баранцев Алексей

За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.

Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.

Если вы хотите считаться профессионалом в области автоматизации тестирования, строчка "я знаю Selenium" обязательно должна присутствовать в вашем резюме.

Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.

Основным "официальным" языком программирования для Selenium является Java, потому что большая часть самого Selenium реализована на этом языке и все новые возможности сначала реализуются на Java, а потом переносятся в реализации на других языках – .Net (C#), Ruby, Python.

Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования Java.

Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.

Также существует аналогичные тренинги на языке Python и на C#.

После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования Java с использованием инструмента Selenium 2.0, в частности:

  • владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
  • владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
  • владеть техниками поиска (идентификации) элементов в окне браузера,
  • уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
  • уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
  • владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
  • уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
  • уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.

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


Читать дальше

Select2
2014-11-11 16:21

Привет,
как правилно тестировать популярный html компонент select2? Он делает много скрытих полей.



Selenium 2.0: стартовый уровень, начало 5 декабря
2014-11-11 16:23

Онлайн-тренинг, 3 занятия, начало 5 декабря

Тренер: Баранцев Алексей

За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.

Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.

Если вы собираетесь развиваться в области автоматизации тестирования, вам обязательно нужно освоить Selenium хотя бы на начальном уровне.

Этот курс – самый простой в нашей линейке тренингов, посвященных инструменту Selenium.

От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.

После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений с использованием инструмента Selenium, в частности:

  • уметь использовать инструментальные средства, помогающие создавать тесты (рекордер, плагины к браузерам),
  • владеть техниками поиска (идентификации) элементов в окне браузера (в том числе уметь создавать несложные XPath и CSS запросы как вручную, так и с использованием специальных инструментов),
  • владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
  • владеть базовым набором команд Selenium 2.0, позволяющих получать данные из браузера (текст, атрибуты элементов),
  • уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям.

Предусловия

  • понимание того, как работает веб-приложение в целом: клиент-серверная архитектура, понимание того, как работает браузер (отрисовка страниц, применение стилей CSS, интерпретация JavaSript-кода),
  • умение читать HTML-код, понимание основных принципов вёрстки HTML-страниц, знание основных тегов (a, div, span, table/tr/td, ul/li),
  • наличие опыта ручного тестирования веб-приложений.

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


Читать дальше

Выбор локатора
2014-11-11 21:44

Использую Selenium WebDriver.

На этой страничке http://www.onliner.by/#login есть форма для входа. Код полей ввода такой:
<input type="text" placeholder="Ник или e-mail" class="auth-box__input" data-field="login" data-autofocus="true" data-bind="value: $root.login.data.login,
                                                          css: {'is-error': $root.login.errors().login},
                                                          valueUpdate: 'input'">
<input type="password" placeholder="Пароль" class="auth-box__input" data-field="login" data-bind="value: $root.login.data.password,
                                                          css: {'is-error': $root.login.errors().password},
                                                          valueUpdate: 'input'">

Что здесь можно выбрать в качестве простого локатора? Или без XPath не обойтись?



Использование ООП в автотесте
2014-11-12 00:27
Пишу автотест и хотелось бы объединить методы класса с одинаковыми параметрами в один метод (или несколько методов), а то код получается очень громоздким и объектно-ориентированный подход теряет смысл.
 
Есть класс локаторов и класс действий с локаторами, можно ли избавиться в классе MainPage(BasePage)
от одинаковых конструкций, меняя лишь локатор и группируя одинаковые методы по работе с локаторами. Методы из класаа MainPage вызываются в другом основном классе.
 
Подскажите как их объединить? 
 
class MainPageLocators(object):     login_line = (By.ID, 'loginName')     password_line = (By.ID, 'loginPass')     enter_button = (By.ID, 'logButton')     worker_button = (By.XPATH, "//span[contains(@class, 'navigation-LeftNavigation__row') and @title='Сотрудники']")     x_link = (By.ID, 'ourOrg')     our_company_button = (By.XPATH, "//div[@title='Наша компания']")     search_name = (By.ID, 'fld-ПоискСотрудникаПоЮрЛицам')     record = (By.ID, 'userName409')     close = (By.XPATH, "//div[@type='Control/Button' and @sbisname='windowTitleClose']")     initial_button = (By.XPATH, "//div[contains(@class, 'username asLink username__link')]")      class BasePage(object):       def __init__(self, driver):         self.driver = driver   class MainPage(BasePage):       def login(self):         element = self.driver.find_element(*MainPageLocators.login_line).send_keys('check_rigth_user')       def password(self):         element = self.driver.find_element(*MainPageLocators.password_line)         element.send_keys('qwerty123')              def enter_button_click(self):         element = self.driver.find_element(*MainPageLocators.enter_button)         element.click()          def worker_button_click(self):         element = self.driver.find_element(*MainPageLocators.worker_button)         element.click()       def x_link_click (self):         element = self.driver.find_element(*MainPageLocators.x_link)         element.click()       def our_company_button_click (self):         element = self.driver.find_element(*MainPageLocators.our_company_button)         element.click()       def name_for_search(self):         element = self.driver.find_element(*MainPageLocators.search_name)         element.send_keys('Белова Олеся Александровна')       def record_click (self):         element = self.driver.find_element(*MainPageLocators.record)         element.click()       def close_click (self):         element = self.driver.find_element(*MainPageLocators.close)         element.click()       def initial_click (self):         element = self.driver.find_element(*MainPageLocators.initial_button)         element.click()


© 2010 | Software-Testing.Ru


В избранное