Модульное тестирование при разработке сайта? - PullRequest
2 голосов
/ 27 июля 2010

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

Я вижу преимущества написания тестов, когда вы создаете библиотеку кода с открытым интерфейсом для использования другими. Разработка веб-сайта, где на самом деле не так много логики, и в основном чтение и запись по базе данных, кажется немного сложнее для модульного тестирования. В основном мне приходится создавать / редактировать / удалять строки в базе данных.

Я использую фреймворк (Kohana 3 для php), так что 99% всех библиотек и помощников, которые я собираюсь использовать, уже были протестированы (надеюсь), так что еще нужно написать тесты для

Я в основном говорю о языках сценариев, а не о CSS или HTML, я уже знаю о кросс-браузерном тестировании.

Сколько вы действительно можете протестировать при разработке веб-сайта, и как вы должны это делать?

Редактировать: Является ли отсутствие активности в этом вопросе признаком? Я понимаю, что некоторые вещи ДОЛЖНЫ быть проверены, такие как безопасность и тому подобное, но сколько можно написать с помощью модульных тестов и TDD - это вопрос.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 28 июля 2010

Разработка веб-сайта, где на самом деле не так много логики, и в основном чтение и запись по базе данных, кажется немного сложнее для модульного тестирования.В основном мне приходится создавать / редактировать / удалять строки в базе данных.

Не совсем верно.

У вас есть обработка модели данных.Работает ли проверка?Работают ли расчеты по отчетным строкам из базы данных?

У вас есть контроль, последовательность и навигация по страницам - работают ли ссылки?Настройка теста предоставит пользователя, вошедшего в систему.Тест (1) выполнит GET или POST для извлечения страницы, затем (2) подтвердит, что страница действительно загружена и имеет нужные данные.

У вас есть разрешение - кто может что делать?Каждая отдельная тестовая настройка будет предоставлять отдельного пользователя, вошедшего в систему.Тесты будут (1) пытаться GET или POST обработать страницу.Некоторые тесты (2) подтвердят, что их перенаправили на страницы с сообщениями об ошибках.Некоторые тесты (2) подтвердят, что GET или POST сработали.

У вас есть контент на странице - какие данные были получены?Настройка теста предоставит пользователя, вошедшего в систему.Тест (1) выполнит GET или POST для извлечения страницы, затем (2) подтвердит, что страница действительно загружена и имеет нужные данные.

1 голос
/ 28 июля 2010

Вы пробовали Селен ?Это позволяет автоматически делать практически все что угодно в веб-браузере.Например, вы можете сделать так, чтобы он прошел, щелкнул по всем ссылкам и удостоверился, что они идут по правильному URL.

Работает с несколькими языками, включая python, и позволяет тестировать в chrome, firefox, т.е. и других браузерах.

0 голосов
/ 30 июля 2010

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

В общем, если ваша программа в основном CRUD, ищите способы автоматизации управления CRUD;написать свой собственный генератор CRUD.Что не означает, что нужно написать CRUD-фреймворк, который положит конец всем фреймворкам;это было бы слишком много работы.Просто напишите генератор для мелких вещей, которые вам нужны для вашего текущего приложения.В этом вам поможет TDD.

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