@magary4

Как написать тест для следующего функционала?

В Компания в которых я работал никогда не сталкивался с тестированием.

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

Описание проекта:
1.Контент в виде огромного дерева, каждый узел контента переведен на несколько языков
2.Много различных форм которые отправляют емейлы с некой присоединенной инфой в зависимости от страницы с которой была отправка.
3.Регистрация пользователя, редактирование профиля и видимость дополнительных плюшек сайта если залогинен
4.импорт продуктов. Админ скармливает xml и на сайт импортируется огромное число продуктов некторорые из которых иногда теряются либо теряется пару атрибутов продукта.

Как увеличить качество этого дела и сократить время обнаружения багов?

Мои мысли:
1. Выборка из бд нескольких случайных узлов, открытие их браузером и проверка на 404
2.как заполнить и отправить форму понятно а как проверить что пришло то что надо ?
3. Заполнение формы регистрации. Логин. Проба редактирования профиля. Дальше что? Делать запрос в бд и смотреть коректность изменений?
4. После импорта все продукты проверить не реально. Можно лишь проверить их количество в бд и сумму атрибутов. Дальше можно выборочно открыть несколько страниц с продуктами и проверить вывод основных полей и отсутствие картинок 404.

Поправьте меня

Вообще абстрактно когда я сейчас это пишу возникают сомнения относительно профита в отношении первых 3х пунктов. Ведь в основном получается что программист сделав функционал и проверив его, через некоторое время получает баг, что если поставить гдето комбинацию определенных символов или сделать какуюто странную последовательность действий, то чтото работает не правильно.
Т.е. если он напишет тесты для этого, то с большой вероятностью он покроет нормальное поведение пользователя и снова получит баг возникающий при не тривиальном поведении которое невозможно предугадать
  • Вопрос задан
  • 572 просмотра
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Тема слишком обширная
обзор https://events.yandex.ru/lib/talks/535/

Чтоб сократить время обнаружения бага у тебя тесты должны быть на весь функционал, что у тебя написан. Те 90%+ unit

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

symfony.com/doc/current/book/testing.html

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

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

Войти через центр авторизации
Похожие вопросы