@poslannikD
Java/C/C++ Programmer

Как тестировать приложение, способы и подходы?

Нужно оттестировать приложение написанное на с/с++ какие пути для этого есть?
Описание приложения: программа обменивается информацией через сокеты. Преимущественно принимает данные, но может и отправлять. Полученные данные парсятся и показываются пользователю в удобном для него виде. По нажатию кнопок программа отправляет данные. Написанно под линукс(так-как для работы используются библиотеки линукса) но можно запустить и под виндовс(будет неактивна малая часть функционала).
Что нужно от тестирования:
ui:
1) проверить правильность отображения(которые были распаршенны и показаны пользователю) данных пришедших в сокет
2) проверка правильности порядка записи в бд
3) проверка того что в сеть уходят данные которые ожидаются от программы
код:
1) проверка "правильности/соответсвия" возвращаемых данных определенными функциями
2) проверка сырых данных пришедших в сокет
3) проверка на используемую память(сколько используется, было использованно за весь цикл существования приложения)

Хотелки от тестирования:
1) написание кода для тестов на python или java
2) тестирование приложения не при каждой сборке приложения, а только по запросу
3) возможность выполнять не все тесты, а лишь часть. Если возможно тестировать только
те компоненты код которых поменялся.


С тестированием знаком слабо и то на уровне assert-ов и if-ов. Но видимо мне нужно что-то более масштабное )))
Прошу подсказать в каком направлении копать что бы тестировать эту программу. Какие инструменты/фреймворки использовать. Какие есть хорошие курсы, интернет ресурсы, книги и статьи из которых можно почерпнуть необходимую информацию.
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C++
проверка "правильности/соответсвия" возвращаемых данных определенными функциями

Это есть модульное тестирование, см. Catch.
проверка на используемую память(сколько используется, было использованно за весь цикл существования приложения)

Погуглите "memory profiler" (например, valgrind.org/docs/manual/ms-manual.html ). Я обычно в Студии профайлю, с автоматизацией этого процесса пока не сталкивался, но думаю возможно.
проверка правильности порядка записи в бд

проверка того что в сеть уходят данные которые ожидаются от программы

Тут вам нужно замокать клиента к бд и сетевой сокет/поток (в зависимости от того как это всё реализовано, без подробностей сложно советовать), и вместо реальной отправки данных/записи в базу делать нужные вам проверки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы