Ленивое систематическое модульное тестирование - Lazy systematic unit testing

Ленивое систематическое модульное тестирование[1] это программное обеспечение модульное тестирование метод, основанный на двух понятиях ленивая спецификация, возможность сделать вывод о развитии спецификации устройства на лету с помощью динамического анализа, и систематическое тестирование, возможность исчерпывающего исследования и тестирования пространства состояний юнита до ограниченных глубин. Набор инструментов для тестирования JWalk существует для поддержки ленивого систематического модульного тестирования в Язык программирования Java.[2]

Ленивая спецификация

Ленивая спецификация относится к гибкому подходу к спецификация программного обеспечения, в котором спецификация быстро развивается параллельно с часто изменяемым кодом.[1] Спецификация выводится на основе полуавтоматического анализа прототипа программного обеспечения. Это может включать статический анализ (интерфейса устройства) и динамический анализ (поведения устройства). Динамический анализ обычно дополняется ограниченным взаимодействием с программистом.

Период, термин Ленивая спецификация придуман по аналогии с ленивая оценка в функциональное программирование. Последний описывает отложенную оценку подвыражений, которые оцениваются только по запросу. Аналогия - с поздней стабилизацией спецификации, которая развивается параллельно с изменением кода, пока это не будет признано стабильным.

Систематическое тестирование

Систематическое тестирование относится к полному, проверка на соответствие подход к тестирование программного обеспечения, в котором показано, что тестируемое устройство полностью соответствует спецификации, вплоть до предположений тестирования.[3] Это контрастирует с исследовательскими, неполными или случайными формами тестирования. Цель состоит в том, чтобы обеспечить повторяемые гарантии правильности после завершения тестирования.

Примеры систематических методов тестирования включают Stream X-Machine метод тестирования[4] и раздел эквивалентности тестирование с полным анализ граничных значений.

Рекомендации

  1. ^ а б А. Дж. Саймонс, JWalk: Ленивое систематическое модульное тестирование классов Java путем самоанализа проектирования и взаимодействия с пользователем, Автоматизированная разработка программного обеспечения, 14 (4), декабрь, изд. Б. Нусейбе, (Бостон: Springer, 2007), 369-418.
  2. ^ Домашняя страница JWalk, http://www.dcs.shef.ac.uk/~ajhs/jwalk/
  3. ^ А. Дж. Саймонс, Теория регрессионного тестирования для поведенчески совместимых типов объектов, Тестирование, проверка и надежность программного обеспечения, 16 (3), специальный выпуск UKTest 2005, сентябрь, ред. М. Вудворд, П. Макминн, М. Холкомб и Р. Хиеронс (Чичестер: Джон Вили, 2006), 133-156.
  4. ^ Ф Ипате и У. М. Л. Холкомб, Спецификация и тестирование с использованием обобщенных машин: презентация и тематическое исследование, Тестирование, проверка и надежность программного обеспечения, 8 (2), (Чичестер: Джон Вили, 1998), 61-81.