Модульное тестирование для VBScript, ASP-кода и SQL Server 2000 - PullRequest
7 голосов
/ 06 августа 2009

У меня есть очень старый проект, реализованный в (классическом) ASP и SQL Server 2000. Из-за проблем с качеством я рассматривал возможность реализации некоторой формы автоматического тестирования качества. Хотя веб-страницы ASP, проект на 85% состоит из хранимых процедур, функций, представлений и DTS SQL Server. (Много зависимости от DTS) Большая часть генерации кода происходит из SQL Server.

Что касается DTS, мы надеемся, возможно, обновить базу данных до SQL Server 2005 - поэтому, если модульное тестирование не может быть настроено на DTS, как насчет SSIS?

Я нашел ASPUnit , но он больше не поддерживается ...

Что касается моего вопроса, это действительно многочастный вопрос.

  1. Возможно ли и практично ли тестировать ASP?
  2. Возможно и практично ли проводить модульное тестирование объектов SQL Server? ( Я видел некоторый успех в этом, но и разочарование тоже )
  3. Существует ли в настоящее время поддерживаемая среда тестирования, которая может использоваться как с ASP, так и с SQL Server?
  4. Существуют ли альтернативные методы контроля качества программного обеспечения для модульного тестирования этого типа кодовой базы? (Любой общий совет также будет полезен. Спасибо.)
  5. Кроме того, я рассматривал вопрос окупаемости инвестиций при внедрении автоматизированного тестирования в подобном проекте. Проект большой. Я не знаю, сколько кода, а сотни файлов, тысячи (если не миллионы) строк кода. Учитывая это, давайте вернемся к 1 и 3.

У меня действительно плохая ситуация с этим проектом; Любой общий совет контроля качества будет принята с благодарностью ...

Ответы [ 4 ]

5 голосов
/ 07 августа 2009

WATiN будет отлично работать. Он манипулирует браузером, поэтому ему все равно, на каком языке написан код, хорош ли он или плох, или предназначен для тестируемости или нет. Это регрессионное тестирование, а не юнит-тестирование. Но это отличное место для начала.

Вы можете использовать свой инструмент для модульного тестирования: nUnit, mbUnit, MSTest и т. Д.

3 голосов
/ 06 августа 2009

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

Поскольку ваши страницы генерируются в основном с помощью SQL, модульные тесты asp будут охватывать лишь небольшой процент проблем, поэтому вы получите лучший охват, протестировав конечные страницы с помощью автоматического инструмента, такого как watin или ieunit / .

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

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

1 голос
/ 07 августа 2009

Вы можете взглянуть на ajaxed юнит-тесты . (Библиотека все еще поддерживается)

0 голосов
/ 10 ноября 2010

Для самого обновления sql (и любых других изменений в коде sql) я бы взглянул на Sql Unit (не использовал его) или что-то подобное для реализации модульных тестов только для базы данных.

Вы можете сделать это наряду с другими выбранными вами стратегиями тестирования.

Помните о недостатках тестирования с помощью пользовательского интерфейса: http://blog.objectmentor.com/articles/2010/01/04/ui-test-automation-tools-are-snake-oil. Поймите, что тесты с помощью пользовательского интерфейса, как правило, хрупкие, когда разработчики хотят внести изменения, которые должны быть в порядке для них. Однако для строгого обновления версий SQL все будет в порядке.

...