Модульное тестирование при модификации программного обеспечения

Автор работы: Пользователь скрыл имя, 21 Декабря 2013 в 19:23, доклад

Краткое описание

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

Вложенные файлы: 1 файл

Модульное тестирование при модификации программного обеспечения.ppt

— 334.50 Кб (Скачать файл)

Модульное тестирование при модификации программного обеспечения.

 

  • Ошибки  при разработке ПО.
  • Модульное тестирование (n-unit тестирование).
  • Модульное тестирование  при модификации ПО.
  • Библиотека XUnitTest.
  • Pro и contra модульного тестирования
  • Социальные аспекты модульного тестирования.

Ошибки  при разработке ПО.

 

  • Неизбежность увеличения ошибок при разработке ПО.

-Увеличение объема программного кода ПО ( аналогия со строительством –десять лет назад создавались программы  с несколько тысячами строк кода –5-этажные дома –  сейчас с десятками тысяч строка -16-этажные дома,а  будут и “40- этажные программы”) – наверно так же как и в строительстве требуются новые технологии?

-Ограниченность человеческой памяти.

      (Джордж Миллер. Магическое число семь плюс-минус два. 1956 г.)

  • Математическая модель ошибок. Применение понятия энтропии(мера беспорядка, хаоса из теории информации) к учету количества ошибок. Ошибок нет– энтропия равна нулю, большое количество ошибок –большая энтропия.

 

Проблема роста стоимости коррекции ошибок и внесения изменения в ПО со временем.

Модульное тестирование

 

  • Как бороться с ошибками в ПО?

Подсказка “Не живите с разбитыми окнами” – из книги:

Эндрю Хант, Дэвид Томас. Программист-прагматик. 1999 г. 

1. Устранить ошибку как можно скорее после ее появления.

  • Как находить быстрее появившуюся ошибку?

Кент Бек. Эрих Гамма. Инфицированные тестами. Программисты любят писать тесты. 1998 г.

2. Для каждой нетривиальной процедуры(метода класса)  для каждого случая ее использования создавать  тест .

3. Тесты создаются одновременно или ранее написания процедуры или внесения в нее изменений.

4. Тесты должны быть автоматическими.

5. Запускать все тесты необходимо сразу после каждого нового изменения в программе.

 

 

 

Структура тестов программы. Случаи использования (СИ).

Схема разработки ПО при модульном тестировании.

 

Тесты

выполнились

 

Внесение изменения в  ПО ( коррекция или создание случая использования)

 

Создать или изменить  тест для

случая использования

 

нет

 

Выполнить тесты программы

 

да

 

Новое

изменение

Модульное тестирование при модификации ПО

 

 

Модификация ПО.

  • Большая часть ПО  уже была реализована в более ранних проектах.
  • В новом проекте требуется доработка и рефакторинг ( улучшение существующего кода)  ранее  созданного ПО. 

 

         Изменение модульного тестирования при модификации ПО

  • При модификации    c помощью существующего ПО тесты записываются  в файлы в формате XML.
  • Записанные файлы используются при тестирование нового ПО.
  • Пользователь имеет возможность создавать тесты для новых случаев использования на основе записанных тестов файлах.

Библиотека модульного тестирования XUnitTest

 

Разработана на основе библиотек UnitTest++ и SimpleXml  

Основные функции:

  • Запись входных(выходных)  данных (переменных и массивов) случаев использования процедур в файлы тестов.
  • Тесты для каждого класса записываются в свою папку. Тесты для каждой процедуры класса записываются в свою папку в папке класса. Тесты для каждого случая  использования  процедуры записываются  в отдельный файл в папке процедуры (дерево тестов).
  • Чтение входных данных случаев использования процедур из файлов тестов.
  • Чтение выходных данных случаев использования процедур из файлов тестов и их сравнение с текущими результатами работы процедур полученным на основе считанных входных данных.

 

 

 

Pro и contra модульного тестирования.

 

Pro модульного тестирования

 ( по книге Кент Бек. Экстремальное программирование. 2001 г. ):

  • Повышение надежности и качества ПО. ( тестирование случаев использования которые редко проверяются при интегральном –стендовом тестировании)
  • Сокращение времени разработки ПО. Энтропия ПО теперь не возрастает экспоненциально , на внесение изменений в конце разработки  требуется не намного больше времени чем  в начале.

 

Contra модульного тестирования:

  • Увеличение объема работ ( для модульного тестирования  при модификации ПО  требуется для каждой тестируемой процедуры создать только дополнительные процедуры записи и проверки)

 

Социальный аспект применения модульного тестирования.

 

Увеличение качества ПО

 

Начальная квалификация  сотрудника

 

2


Информация о работе Модульное тестирование при модификации программного обеспечения