суббота, 30 ноября 2013 г.

Многослойное тестирование

Многие из нас слышали про пирамиду автоматического тестирования, я её тоже видел и задался себе вопросом, а что же должно про проверяться на каждом уровне?

1. Уровень юнит тестов:

Юнит тесты можно писать для клиентской(javascript) и серверной части.
Я рекомендую проверять на этом уровне всю валидацию данных. Например,есть у вас метод, который проверяет валидность почтового адреса при создании пользователя, создайте для него юнит тест (или допишите существующий) и проверьте, что он правильно валидирует. Используйте фремворк Jasmine для тестирования логики клиента и любой из unit для тестирования кода на сервере.

2. Второй уровень это уровень апи или уровень бизнес логики.

Большинство веб приложений не имеют логики на клиенте, они просто отсылают данные на сервер и получают от него ответ.
Например, на сайте есть два поля и кнопка submit, нажатие на которую выводит сумму двух чисел. Причем числа просто отсылаются на сервер, а в ответ приходит или сумма или ошибка. Эту логику лучше тестировать без UI. Отсылаем запрос сразу к серверу, получаем ответ и сравниваем его с ожидаемым. Так же проверяем, что товар реально списался при покупке, что вернулась ошибка 400, если какое то поле не валидно.

3. Слой UI. Самый немногочисленные тесты

Тут проверяется только взаимодействие с UI: работа контролов, появление попапов, доступность элементов. Следут проверить появление ошибок на UI при успешном ответе от сервера. Проверить workflow пользователя.  Что после нажатия на кнопку появилось окно, то что кнопка реально нажимается.

Эффективных вам тестов

Комментариев нет:

Отправить комментарий