Как получить позитивное психологическое отношение к тестированию? - PullRequest
10 голосов
/ 30 декабря 2008

Я хочу написать тесты для своего приложения, хотя каждый раз, когда я смотрю на rspec.info, я действительно не вижу определенного пути, чтобы идти к «правильному выполнению» и тестированию в первую очередь. Я смотрел видео-ролики на rspec несколько раз, но это не займет. Я хочу больше гордиться своей работой, и я думаю, что тестирование поможет. Как я могу прорваться через этот ментальный блок?

Ответы [ 9 ]

8 голосов
/ 30 декабря 2008

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

73 tests passed.

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

Проверьте, предоставляет ли ваш язык инструмент анализа анализа покрытия , который дает вам процент покрытия выписки или процент покрытия блока. очень полезно увеличить охват кода с 60% до 90% --- и если вам повезет, вы найдете ошибки.

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

4 голосов
/ 30 декабря 2008

Я ненавидел это, пока не начал создавать несколько тестовых макросов. Как войти или попасть на домашнюю страницу. Мне показалось забавным начать изучать то, на что действительно способен мой фреймворк. Это также помогло кому-то еще начать меня, написав несколько. Сразу же я обнаружил очевидные улучшения, которые заставили меня хотеть войти туда и начать улучшать вещи.

3 голосов
/ 30 декабря 2008

"Тестируйте вещи, которые вы не хотите ломать."

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

«Всегда начинать с неудачного теста».

В Cucumber есть "истории" в виде простого текста, которые очень хороши для запуска и запуска действительно конкретных тестов. Может быть, это было бы одно место, где вы могли бы начать. Cucumber на самом деле не работает с приложением на основе AJAX, хотя для этого вам придется использовать Selenium или Watir. Вы можете начать с неудачной истории, прежде чем писать одну строку кода, и быстро перейти оттуда к этой истории.

«Не проверяйте, уточните.»

Вместо того, чтобы думать о тестах, попробуйте сделать мысленный переход: вы не тестируете, а УКАЗЫВАЕТЕ, как будет работать ваше приложение. Это проектная работа, не такая скучная, как тестирование. :)

2 голосов
/ 30 декабря 2008

Думайте об этом так: если вы не тестируете, ваш код не работает.

1 голос
/ 08 января 2009

Как упоминалось ранее, самый простой способ взломать тестирование - это регрессионное тестирование.

Я бы также не стал использовать спецификации контроллера - это PITA. Проведите тяжелое тестирование модели, потому что именно там должна быть логика.

Попробуйте специфицировать / протестировать простой проект ruby, прежде чем отправляться в проект rails.

1 голос
/ 07 января 2009

Я написал мотивационный пост об этом случае пару дней назад. Вот резюме:

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

А вот все это , если вам интересно

1 голос
/ 30 декабря 2008

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

Со временем вы начнете чувствовать, как собирать тесты и как их писать, и вам не понадобится «план» существующей ошибки.

1 голос
/ 30 декабря 2008

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

Ключ в том, чтобы принять этот долгосрочный взгляд. Тестирование - это инвестиция. Это немного отнимает код, который вы могли бы написать, но со временем он начнет приносить прибыль. Капитал, который вы накопили, позволит намного быстрее двигаться вперед при добавлении новых функций.

0 голосов
/ 07 января 2009

Ну, я скажу вам, как!

ПЕРВЫЙ СДЕЛАЙТЕ СЛЕДУЮЩИЕ 10 РАЗ ВРУЧНУЮ НА РАЗНЫХ ПРИЛОЖЕНИЯХ, ПРЕЖДЕ ЧЕМ ВЫ ПЫТАЕТЕСЬ НА АВТОМАТИЗАЦИЮ

отрицательные сценарии, в которых результат будет отрицательным. это может быть неправильный ввод данных и дает вам правильные результаты.

например, экран входа в систему: Может быть много сценариев, когда правильный пользователь неверный PW, неправильный пользователь правильный PW .... самое важное - ВЫ НЕ СДЕЛАЕТЕ, ЧТО НЕ ПРЕРЫВАТЬ ЕГО . Это ваша мантра.

ХМММ, ТЕПЕРЬ ТЫ ДУМАЮ, КАК ТЕСТЕР СЕЙЧАС ОБРАЩАЙСЯ К СИСТЕМЕ UR, JUS НАПИШИТЕ ОТРИЦАТЕЛЬНЫЕ ИСПЫТАНИЯ И ИХ РЕЗУЛЬТАТЫ И ИХ ПОЗИТИВНЫЕ ИСПЫТАНИЯ РАЗРАБОТАЙ ЭТО. ТЕПЕРЬ РАЗРАБАТЫВАЙТЕ РАМКУ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...