2013-02-14 7 views
-1

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

+2

Существует огромное количество информации о тестировании и тестировании в целом в сети. Ваш вопрос недостаточно специфичен для SO – kostja

+0

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

+0

Простой ответ - это стоимость. Для запуска 1000-х автоматических тестов почти ничего не стоит, пользователи стоят много раз в разы. –

ответ

1

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

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

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

  2. Это пустая трата. В конечном итоге вы повторяете те же тесты снова и снова от вашего собственного уклона. Вы всегда будете проверять функции, которые вы знаете лучше всего, и вы окажетесь в рутине. «Я нажимаю на это, тогда это, тогда это ... и приложение хорошее!» Это просто пустая трата времени, если вы всегда испытываете одни и те же вещи.

  3. У вас нет покрытия. Подобно (2) ... вы считаете, что попали в каждую часть приложения, но вы этого не сделаете.

  4. Трудно воссоздать состояние. Возможно, у вас есть ошибка, которая появляется только после того, как пользователь нажимает на страницу A, затем B, затем снова A, затем D, затем C, а затем A. После того, как все нажатия системы находятся в интересном состоянии. Вы никогда не будете повторно производить это при случайном нажатии.

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

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

Смежные вопросы