Как лучше всего выполнить модульное тестирование для веб-приложения - PullRequest
9 голосов
/ 20 февраля 2009

Я пишу веб-приложение, которое является очень сложным с точки зрения пользовательского интерфейса и в значительной степени опирается на AJAX, DOM и манипуляции с изображениями.

Существует ли какая-либо стандартная практика (мне не нужны инструменты), которой можно следовать, чтобы уменьшить количество ошибок?

Ответы [ 4 ]

8 голосов
/ 20 февраля 2009

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

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

5 голосов
/ 20 февраля 2009

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

Для очень простого примера, не используйте код, который делает это:

string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;

Вместо этого извлеките логику в отдельный класс с помощью метода:

TextBox2.Text = DoWork(TextBox1.Text.ToString());

public class Work
{
    public string DoWork(string str)
    {
      //do work
      return str2;
    }
}

Таким образом, вы можете написать модульные тесты, чтобы убедиться, что DoWork возвращает правильные значения:

string return = DoWork("TestThisString");

Теперь вся ваша логика является модульно-тестируемой, только с кодом, который ДОЛЖЕН ссылаться на страницу непосредственно на уровне UI.

2 голосов
/ 20 февраля 2009

Watin - отличный инструмент для этого.

1 голос
/ 20 февраля 2009

Простой контрольный список (даже на листе бумаги!) - лучший способ убедиться, что вы никогда не пропустите важные вещи. Это хороший «тест дыма», что ничего «стандартного» не нарушено.

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