LINUX.ORG.RU

Как тестировать сетевые сервисы

 , ,


1

1

Здравствуйте

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

★★★★★

Последнее исправление: makoven (всего исправлений: 1)

Скорее всего нет. В работе обычно получал от разрабов описание API и по нему составлял план теста. И потом уже вместе анализировали.

alexnorton
()

Подскажите, есть ли какое-то общепринятое удобное решение для тестирование сетевых сервисов?

Общепринятого нет и быть не может, а так их сотни, зависит от яп который тебе нужен и типов апи, json там или soap или xml....

TDrive ★★★★★
()
Ответ на: комментарий от alexnorton

Скорее всего нет. В работе обычно получал от разрабов описание API и по нему составлял план теста. И потом уже вместе анализировали.

В крупных проектах это не реально.

TDrive ★★★★★
()

Используем SoapUI:
1. REST/SOAP запросы и моки из коробки
2. Умеет дергать СУБД
3. Умеет Груви скрипты, а в связи с этим можно напрограммировать всё что угодна используя JVM библиотеки.

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

FeyFre ★★★★
()

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

Так что тут только сидеть гуглить под конкретную задачу.

TDrive ★★★★★
()
Ответ на: комментарий от FeyFre

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

Вообще этим программисты должны зниматься, TDD и все такое.

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

В крупных проектах это не реально.

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

FeyFre ★★★★
()
Ответ на: комментарий от FeyFre

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

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

Да, да и всё-такое, но:
1. Далеко не всё можно выловить через TDD.
и/или
2. Иногда эффективнее организовать инженера качества и опустить планку TDD, чем делать чисто TDD ценой утроения потребляемых ресурсов(и не факт что всё отловишь)
Только это оффтопик тут, закругляемся.

FeyFre ★★★★
()
Ответ на: комментарий от FeyFre

1. Далеко не всё можно выловить через TDD.

ты походу не в курсе что такое TDD, это просто техника программирования.

Автоматические тесты не исключают наличие QA, только у него задачи тестировать то что нельзя протестировать автоматически, а не писать автоматические тесты которые программисты напишут лучше него.

TDrive ★★★★★
()
Ответ на: комментарий от FeyFre

ценой утроения потребляемых ресурсов

Так и не понял какие у тебя ресурсы утраиваются.

TDrive ★★★★★
()

Перфоманс Лаб занимался нагрузочным тестированием. Так они просто брали ява программера который писал маленькую софтинку для каждого теста. Далее падаваны программера юзали её до посинения. А потом все вместе разбирались с логами, графиками и пр. Вроде нормальный был подход.

khenty
()
Ответ на: комментарий от khenty

Да я уже понял что нет готового весла. Буду юзать lua+luasocket

makoven ★★★★★
() автор топика

А почему не юнит-тесты? Или речь идет о нагрузочном тестировании?

CaptainFarrell
()

TDD - это методология созданная программистами для программистов, она предполагает только модульное тестирование. Сеть не нужно тестировать, для этого нужны интеграционные тесты, которые к тдд не имеют никакого отношения. Тестирование програм работающих с сетью ничем не отличается от тестирования любых других програм. Все зависит от того, какой фреймворк используешь и насколько сам код тестируемый. ASP.NET Core коряво тестируется (через костыли), NancyFX замечательно тестируется. Есть набор правил, которые помогают писать тестируемый код.

nikolnik ★★★
()

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

unlog1c ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.