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

Фотография

Как сделать последовательную автоматизация UI, API, БД


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

#1 era_kz

era_kz

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

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

Отправлено 18 сентября 2020 - 14:24

Всем привет! Никогда не писал автотесты, только мануальным тестированием занимался.
Хочу обучится автотестам, только вот возник вопрос. Возможно ли сделать все одним кейсом?
1. Автотесты на UI
2. Затем отправка по API пост запроса
3. Нахождения созданной записи в БД от API
4. Апдейт записи в БД

5. Проверка на UI

Если можно все делать одним кейсом то, подскажите куда смотреть, что учить, какой фреймворк, какой язык и т.д выбрать плиз)


  • 0

#2 user12

user12

    Специалист

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


Отправлено 18 сентября 2020 - 14:46

«Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?»

 

Конечно, это можно можно сделать ))))

Если вы занимались мануальным, то должны знать что такое Пирамида тестирования. У вас же получится какая-то смесь UI, unit и API тестов ))


  • 0

#3 era_kz

era_kz

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

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

Отправлено 18 сентября 2020 - 17:38

Это смесь нужна для полного тест кейса. На самом ui это не возможно сделать и проверить.

То что ответили что можно, спасибо конечно, но не совсем понятно где именно это можно реализовать? Где лучше это делать? Что использовать? Куда смотреть, что гуглить?
Ответ шикарный конечно
  • 0

#4 era_kz

era_kz

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

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

Отправлено 18 сентября 2020 - 18:04

А так по факту все можно сделать, если умеешь разрабатывать. Тут же я хочу узнать, есть ли под мои нужды уже что нибудь готовое? Куда мне нужно смотреть и что учить. А не самому велосипед создавать
  • 0

#5 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 18 сентября 2020 - 20:02

Изучать язык программирования. Проще питон.
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#6 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 18 сентября 2020 - 20:05

Хотя UI если десктоп, то Testcomplete как вариант. Проще чем питон) И сделать все можно что написали. Стоит он правда 4-5 кб) одна лицензия.
  • 1

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#7 era_kz

era_kz

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

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

Отправлено 19 сентября 2020 - 06:21

Хотя UI если десктоп, то Testcomplete как вариант. Проще чем питон) И сделать все можно что написали. Стоит он правда 4-5 кб) одна лицензия.


Спасибо!
  • 0

#8 era_kz

era_kz

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

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

Отправлено 19 сентября 2020 - 06:22

Думаю выбрать cypress, но покамест не знаю реально ли там можно сделать, пишут что можно
  • 0

#9 Ole325

Ole325

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

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Олег

Отправлено 20 сентября 2020 - 15:27

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

 

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

 

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

По этой причине планируем выбирать популярные user-story и по ним делать автотесты за относительно короткое время, при этом можно пожертвовать отчетами и детализацией где ошибка, т.е. ОР сверяется в ФР только в конце, а если что то пошло не так, то разбор руками.

 

Немного про приложения десктоп.

Всякая подготовка, скачивание  с TC пишу на powershell, эти же скрипты полезны ручным автотестерам, не нужно никуда тыкать в браузере.

Если инсталятор не поддерживает салйнт установку, то дешево и сердито - AutoIT, даже бесплатно.

 

Про системы GUI автоматизации, рассматривали testcomplete, ranorex studio и Squish froglogic. Разработчики топили за Squish, т.к. есть проект где Unix и win. 

Мое ИМХО по продуктам:

Squish - из режима записи получаем код автотеста, кто не кодил тяжко, нельзя ткнуть в строку и увидеть скриншот элемента. 

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

Так же можно брать данные хоть с excel, где каждая строчка это отдельный прогон теста.

testcomplete - во многом схож с ranorex, но с нашими приложениями на Delphi 7 справляется хуже, вообще такое старье сложно тестировать автотестами, часто это просто картинка.

Еще важно на каком языке скрипты, если все знают С++, то лучше testcomplete, Ranorex поддерживает VB и C#.

В результате купили Ranorex, еще летом на акцию попали две лицензии по цене одной. Цена конечно не маленькая.

 

По порядку тестирования если есть возможность проверить, что что то попало в БД из интерфейса, то лучше сделать через него, будет доп. проверка интерфейса.

Набивать базу не через UI имеет смысл только как подготовка к тесту, лучше по максимальному  повторить действия пользователя.

 

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

Еще важный момент, результат работы одного автотеста не должен быть исходными условиями для второго.

 

Пример не правильных:

1. ставим приложение;

2. создаем БД;

3. наполняем БД в UI;

4. проверяем работу базы.

Любая ошибка, и мы лишь знаем что все плохо на этапе Х, а что работает не известно. По этой причине

 

Альтернативный вариант:

тест 1

скачать приложение.

поставить приложение через мастер, проверить результат.

 

тест 2

скачать приложение, поставить через сайлент режим, либо вообще копированием файлов с TC (на случай если сломался инсталятор)

создать БД

 

тест 3

поднимаем готовую БД из бекапа и с ней работаем.

 

и т.д.

 

Удачных вам pass


  • 1

#10 user12

user12

    Специалист

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


Отправлено 21 сентября 2020 - 08:50

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

 

 

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

 

 

Вы выкидывание деньги на ветер.

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

проектах.

 

По этой причине планируем выбирать популярные user-story и по ним делать автотесты за относительно короткое время, при этом можно пожертвовать отчетами и детализацией где ошибка, т.е. ОР сверяется в ФР только в конце, а если что то пошло не так, то разбор руками.

 

 

Тут верно, берите смоук и автоматизируйте

 

 

Про системы GUI автоматизации, рассматривали testcomplete, ranorex studio и Squish froglogic. Разработчики топили за Squish, т.к. есть проект где Unix и win. 

 

 

Если у вас есть деньги на ранорекс, то почему вы не можете нанять себе консультанта. Тем более ваша прилага на Дельфе 7.
Есть же еще Winium  под винду в стиле Селениум и Sikuli  - он по скринам и вообще кроссплатформенный. Зато ЯП Java и бесплатные. Да еще
много чего есть, что подойдет именно вам.
 

 

Еще важно на каком языке скрипты, если все знают С++, то лучше testcomplete, Ranorex поддерживает VB и C#.

 

 

 
Там есть C++ ? 
 
ЯП JavaScript, на основании его микрософт запилил JScript. А на основании JScript  были запилены C++Script, C#Script и прочие.

  • 0

#11 Ole325

Ole325

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

  • Members
  • Pip
  • 29 сообщений
  • ФИО:Олег

Отправлено 21 сентября 2020 - 12:37

 

Наймите гуру, или если дорого, то консультанта на месяц

 

В компании разработка без РП. Нет менеждеров продукта.

 

Структура разработки:

Разраб - нач. сектора - руководитель отдела разработки - зам. ген по  софту - ген. дир.

 

Боюсь консультант скажет, что всех нужно разогнать, как увидит наш софт. Руководство готово вкладывать в железо - тестовый сервер под 400 т.р. и  даже в софт, тот же ранорекс, но что касается кадров и оплаты труда - все не очень, т.к. ориентир по зарплате на поменьше чем у разработчиков десктоп под delphi7, которые сейчас   нафиг  не кому не нужны, без знаний других языков.

Соображающие интерны пропадают через 6-12 месяцев с ростом з.п. в других компаниях х1.5.

 

Спасибо за конструктивную критику и рекомендации.

 

p.s. TestComplete поддерживает VBScript, JScript, DelphiScript, C++ Script и С# Script.


  • 0

#12 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 21 сентября 2020 - 20:38

Всякое бесплатное гумно никак не справится с десктопом, особенно на дельфи и т.п. Если очень хочется Java, то берём движок от Testcomplete Testleft или от UFT Leanft и делаем что душе угодно.
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#13 riyadhar

riyadhar

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Riya Dhar

Отправлено 05 октября 2020 - 10:21

Всем привет! Никогда не писал автотесты, только мануальным тестированием занимался.
Хочу обучится автотестам, только вот возник вопрос. Возможно ли сделать все одним кейсом?
1. Автотесты на UI
2. Затем отправка по API пост запроса
3. Нахождения созданной записи в БД от API
4. Апдейт записи в БД

5. Проверка на UI

Если можно все делать одним кейсом то, подскажите куда смотреть, что учить, какой фреймворк, какой язык и т.д выбрать плиз)

 

Of course it can be done with software testing


  • 0

#14 Igor_SQA

Igor_SQA

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Игорь Д.

Отправлено 23 октября 2020 - 17:11

Коллега, конечно это можно

Вариантов больше одного.

Мне пришлось подобную задачу решать с инструментами

- Node.js (платформа, включающая управление браузером chrome при выполнении Java Script кода)

- собственно Java Script 

- Cucumber в реализации для JS

- IntelliJ IDEA

Не спрашивайте, почему был выбран именно такой набор. Много слов, часть бранных, но - такие правила игры.

Из плюсов:

- node.js (и встроенный TestCafe) не требует дополнительных драйверов ии дополнительного кода на web-странице

- для выполнения тестов было достаточно бесплатной Idea CE (для разработки она может быть применена, но жмет в плечах)

Из минусов

- потребовалось провести некоторые донастройки в Idea

- Cucumber не имеет условных операторов, циклов. Он прямолинеен. Соответственно строить кейсы надо с учетом этого. 

 

Сценарий Cucumber для UI+API выглядел так (алгоритм ): 

1 залогинится

2 открыть страницу "СТР1"

3 проверить значение атрибута "Атрибут1"

4 отправить API запрос по адресу "А1" и сохранить ответ в переменной "П1"

5 проверить, что в переменной "П1" статус ответа равен "200" 

6 записать из переменной "П1" url в переменную "П2"

7 отрыть страницу "$П2"

8 подождать пока статус операции не станет "Completed Successfully"
9 открыть страницу "СТР1"

10 проверить значение атрибута "Атрибут1"

 
Это Cucumber
Все команды реализованы на JS
 
В чем проблемы
- вам нужно обеспечить наличие вменяемых и надёжных идентификаторов на web странице (иначе как найти атрибуты и кнопки)
- вам нужно написать команды на JS для тестирования UI
- вам нужно написать команды на JS для работы с API
Решение требует времени и ресурсов 
 
Зато это обеспечит вам большой опыт и незабываемые впечатления.
Поэтому сначала всё-таки обдумайте:
- можно ли развести тестирование UI и API
- что вам наиболее критично (скорость старта, например)
- что потребуется для старта и дальнейшей поддержки
 
Судя по вопросу, вы, в общем-то, представляете что вам нужно, просто не хватает информации.
Успехов.

  • 0

#15 ergysei

ergysei

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Иванов Сергей Игоревич

Отправлено 23 августа 2021 - 12:58

"Сорри за спам, не получилось удалить отправленное сообщение

<script>alert(123)</script>


  • 0


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

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