Повышение тестируемости при кодировании с использованием полужирного шрифта для среды Delphi

Предпосылки { {1}} Я работаю в команде из 7 разработчиков и 2 тестировщиков, которые работают над логистической системой. Мы используем Delphi 2007 и разработку на основе моделей с Bold for Delphi в качестве фреймворка. {{1} }} Система находится в производстве около 7 лет и содержит около 1,7 миллиона строк кода. Мы запускаем ее в производство через 4–5 недель, и почти после каждого выпуска мы должны исправлять ошибки. мы не нашли. Это, конечно, раздражает и нас, и клиентов.

Текущее тестирование Решение, конечно же, больше в автоматическом тестировании. В настоящее время у нас есть ручное тестирование. Testdbgenerator, который запускается с пустой базой данных и добавляет данные из смоделированных методов.У нас также есть Testcomplete , который запускает несколько очень простых скриптов для тестирования графического интерфейса. Нехватка времени не позволяет нам добавлять дополнительные тесты, но скрипты также чувствительны к изменениям в приложении. Несколько лет назад я действительно пробовал модульное тестирование с DUnit, но через несколько дней отказался. У агрегатов слишком сильные связи.

Предварительные условия модульного тестирования Я думаю, что знаю некоторые предварительные условия для модульного тестирования:

  • Напишите небольшие методы, которые делают одно, но делают это хорошо.
  • Не повторяйся.
  • Сначала напишите тест, который не прошел, затем напишите код, чтобы тест прошел.
  • Соединения между блоками должны быть неплотными. Они не должны много знать друг о друге.
  • Использовать внедрение зависимостей.

Платформа для использования Мы можем перейти на Delphi XE2, в основном из-за 64-битного компилятора. Я немного посмотрел на Spring , но это требуется обновление с D2007, и сейчас этого не произойдет. Может в следующем году.

Вопрос Большая часть кода все еще не тестируется автоматически. Итак, как лучше всего пойти по пути повышения тестируемости старого кода? Или, может быть, лучше начать писать тесты только для новых методов? Я не уверен, как лучше всего улучшить автоматическое тестирование, и комментарии по этому поводу приветствуются. Можем ли мы использовать D2007 + DUnit время от времени, а затем легко перейти на Delphi XE2 + Spring позже?

РЕДАКТИРОВАТЬ: Текущая методология тестирования для ручного тестирования - это просто «толкни и попробуй сломать», как Крис назовите это.

19
задан Community 23 May 2017 в 11:45
поделиться