Перейти к содержимому

Фотография

TestLink и автоматизированное тестирование

testlink

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 26 декабря 2014 - 14:49

Ребят, сразу извините за баян.

Подскажите, пожалуйста, человеку, который занимался тестированием по настоящему никогда...=)

Ситуация... 

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

Я не могу понять:

1. под автоматизированным тестированием понимается именно "нажатие одной большой кнопки" и прогон всех тест кейсов (периодической прогон тест кейсов)? Поясните. 

2. Покрывает ли функциональность TestLink описание тест кейсов, выставление статусов и, главное, автоматизированное тестирование (в моем случае веб сервисов) ?

 

  


  • 0

#2 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 26 декабря 2014 - 16:26

1) Автоматизированное тестирование - это не "нажатие одной большой кнопки". Это целый комплекс, начинающийся от осознания того, что нужно автоматизировать, а что не нужно, от написания (программирования) фреймворка своих будущих тестов, написания самих тестов, учтя нюансы, при которых возможно падение автоматического выполнения тестов, и до, собственно, самого "нажатия одной большой кпопки".

2) Функциональное тестирование ТестЛинк покрывает. И даже со статусами умеет работать. А вот с интеграцией автоматизированного тестирования у него, кажется, есть проблемы. То есть интеграция есть, но чтобы она заработала, придётся помучиться. Впрочем, гугл выдаёт существование плагина под Jenkins.

Но мне что-то подсказывает, что покрывать автотестами свои сервисы Вы будете через SOAP UI, который не интегрируется в Jenkins, а следовательно, результаты автотестов в ТестЛинк придётся загонять руками.

 

Почему именно ТестЛинк? Первый попавшийся бесплатный? 


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 29 декабря 2014 - 06:49

Почему именно ТестЛинк? Первый попавшийся бесплатный? 

 

Сергей, спасибо, что обратили внимание на мой вопрос. Да, честно говоря, так и было - первый попавшийся бесплатный.

 

Про связку Test link и Jenkins я так же наткнулась в гугле, но решила спросить у профессионалов. 

SOAPUI сейчас использую просто для единичных вызовов сервисов.  

 

А вы говорите, что автоматизированное тестирование можно реализовать через SOAP UI?


  • 0

#4 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 29 декабря 2014 - 07:58

 

Почему именно ТестЛинк? Первый попавшийся бесплатный? 

 

Сергей, спасибо, что обратили внимание на мой вопрос. Да, честно говоря, так и было - первый попавшийся бесплатный.

 

Про связку Test link и Jenkins я так же наткнулась в гугле, но решила спросить у профессионалов. 

SOAPUI сейчас использую просто для единичных вызовов сервисов.  

 

А вы говорите, что автоматизированное тестирование можно реализовать через SOAP UI?

 

 

Да, можно. Правда, я сам этого никогда не делал. SOAP UI использовал только для наглядного представления, что и как в сервисе, а само автотестирование реализовал на чистой JAVA.

Кстати, я ошибся: SOAP UI уже имеет возможность интегрироваться с Maven => может интегрироваться с Jenkins. Последний раз, когда я с ним общался, интеграции с Мавеном не было.

 

Тут смотрите, как хитро.

SOAP UI уже предоставляет инструмент для автоматизации тестирования. В принципе, богатый, но не обладающий полной свободой. Соответственно, если сервисы реализованы и усложняться не будут, то выгоднее использовать его. Если же будут различные усложнения, то, автоматизируя с помощью SOAP UI, однажды достигнете "предела его возможностей" = всё чаще и чаще будете сталкиваться с проблемой "А как это реализовать?".

 

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

Однако со временем (год-два) собственный фреймворк будет догонять по нескольким параметрам: объём покрытия, качество тестов. Существует такая временнАя точка Т, после которой собственный фреймворк начнёт по всем фронтам выигрывать у готового инструмента. Но эта точка Т находится далеко за 1 годом тестирования. Не побоюсь предположить, что и за 2 годами.

 

Какой путь избрать - решать Вам.

 

Насчёт ТестЛинка.

Вот, посмотрите список наиболее распространённых инструментов управления тестированием.

Часть из них очень дорогая и является эдаким монстром, умеющим интегрироваться с другими модулями своего производителя (IBM, HP).

Часть из них имеет не сильно дорогую, но ежегодно обновляемую лицензию.

Часть покупается единожды "навсегда".

Часть имеет как платную, так и бесплатную версии.

Часть целиком бесплатные.

 

Насколько мне известно, большинство на территории бывшего СНГ используют HP QC, Zephyr, JIRA, TestRail, Ситечко, ТестЛинк. Последний используется, по-моему, исключительно в силу своей бесплатности и давления руководства. По крайней мере, других аргументов я не слышал.


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#5 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 29 декабря 2014 - 08:23

реализовал на чистой JAVA.

 

 

Сергей, что Вы имеете в виду?

У меня есть соблазн написать "потребителей" сервисов, которые начнут вызывать сервисы и анализировать результат. Это похоже на то что Вы делали.   


  • 0

#6 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 29 декабря 2014 - 08:56

Сергей, что Вы имеете в виду?

У меня есть соблазн написать "потребителей" сервисов, которые начнут вызывать сервисы и анализировать результат. Это похоже на то что Вы делали.   

Не берусь утверждать, что понял смысл, который Вы вкладываете в понятие "потребитель сервиса".

 

Я делал так:

На основе WSDL через утилиту wsimport генерировал JAVA-модель.

На эту модель написал генератор запроса, генератор эталонного ответа и обработчик ответа.

Потом клепал сами тесты: вызывал генератор запроса, через CXF отправлял запрос и получал ответ. Генерил эталонный ответ. Сравнивал с тем, что пришло.

Генератор запроса использовал статические данные только в параметризованных полях. Остальное рандомизировалось.

Ну, например, тестирование расчёта полиса КАСКО. Марка-модель-модификация машины являются параметром генератора, все остальные данные в запросе = чистый рандом с соблюдением всех логических связок (чтобы водитель, например, не был 1857 года рождения).

Параметров было порядка 5-7 (уже не помню).

 

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

Параметры нужны исключительно для возможности генерации чётко заданной ситуации. Если необходимости создания чёткой ситуации нет, то все параметры = null или "" (то есть дефолтное значение).


  • 1
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#7 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 29 декабря 2014 - 11:07

В моем случает "потребитель сервисов" - это Ваш генератор запроса.

Сергей, что такое и как должен по Вашему работать генератор эталонного ответа в случае, если сервис возвращает, скажем, только номер договора?


  • 0

#8 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 29 декабря 2014 - 12:24

В моем случает "потребитель сервисов" - это Ваш генератор запроса.

Сергей, что такое и как должен по Вашему работать генератор эталонного ответа в случае, если сервис возвращает, скажем, только номер договора?

1) послал запрос.

2) получил ответ (просто получил, пока ещё не знаю, что в нём. Главное, что не ERROR - на это проверку делаю). Факт получения ответа гарантирует, что сервис уже отработал.

3) полез в БД. По своим посланным данным ищу, что в БД изменилось. Если должен был быть создан договор, то ищу, какой договор был создан по моему запросу. Если не создан => сразу фейл (на этом тест можно завершить, независимо от того, что вернул в ответе сервис). Если создан, беру его номер (от сервиса же ожидается номер договора).

4) на основании данных, взятых из БД, формирую эталонный ответ.

5) сравниваю эталонный ответ с вернувшимся от сервиса (пункт 2). Все поля должны быть идентичны.

Если вернувшийся номер договора не совпадает с моим, который я достал из базы, => фейл.

 

Таким образом проверяю не только факт возвращения номера договора, но и то, что номер договора вернулся правильный, соответствующий параметрам запроса, а не наобум сгенерённый/выбранный из БД.

 

Эталонный ответ = объект того же класса, что и ответ сервиса.

Только ответ сервиса = client.getResponse().

А эталонный ответ генерится мной отдельно: Response etalon_resp = new Response();

Генератор эталонного ответа - это метод, принимающий на вход объект "запрос" и возвращающий объект "ответ". Внутренность этого метода = пункты 3+4 из списка в этом посте.


  • 1
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#9 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 30 декабря 2014 - 06:52

Сергей, если шаги с первого по пятый сделать автоматическими, то это можно назвать элементом фреймворка автоматизированного тестирования (собственной разработки)?    =))


  • 0

#10 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 30 декабря 2014 - 08:41

А Вы думаете, я руками эти шаги делаю? :D

Один раз написал, а дальше использую в тестах, подавая на вход генератора нужные мне параметры.


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#11 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 31 декабря 2014 - 07:44

Кстати, есть очень хорошая статья Игоря Хрола, по работе с веб-сервисами:

http://ru.khroliz.co.../java-soap.html


  • 0

#12 JustNewMaya

JustNewMaya

    Новый участник

  • Members
  • Pip
  • 20 сообщений

Отправлено 31 декабря 2014 - 09:33

Кстати, есть очень хорошая статья Игоря Хрола, по работе с веб-сервисами:

http://ru.khroliz.co.../java-soap.html

Спасибо. прочитала. Так и делаю. Пользуюсь wsdl2java - client bla bla из CXF.


  • 0



Темы с аналогичным тегами testlink

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных