Метод дерева классификации - Classification Tree Method

В Метод дерева классификации это метод тестирования,[1] поскольку он используется в разных областях разработка программного обеспечения.[2]Он был разработан Гриммом и Грохтманном в 1993 году.[3]Деревья классификации с точки зрения метода дерева классификации не следует путать с деревья решений.

Метод дерева классификации состоит из двух основных этапов:[4][5]

  1. Выявление аспектов, относящихся к тестированию (так называемые классификации) и их соответствующие значения (называемые классы) а также
  2. Объединение разных классов из всех классификаций в контрольные примеры.

Определение релевантных для тестирования аспектов обычно следует (функциональному) Технические характеристики (например. требования, сценарии использования …) из тестируемая система. Эти аспекты формируют пространство входных и выходных данных тестового объекта.

Затем второй шаг проектирования тестов следует принципам комбинаторного дизайна тестов.[4]

Хотя этот метод можно применять с помощью ручки и бумаги, обычный способ включает использование Редактор дерева классификации, программный инструмент, реализующий метод дерева классификации.[6]

Заявление

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

Для выбранной тестируемой системы первым шагом метода дерева классификации является идентификация соответствующих аспектов тестирования.[4]Любую тестируемую систему можно описать набором классификаций, содержащих как входные, так и выходные параметры. (Входные параметры также могут включать окружающая среда состояния, предварительные условия и другие, достаточно необычные параметры).[2] Каждая классификация может иметь любое количество непересекающихся классов, описывающих возникновение параметра. Выбор классов обычно следует принципу разделение по эквивалентности для абстрактных тестовых случаев и граничный анализ для конкретных тестовых случаев.[5]Вместе все классификации образуют дерево классификации. Для семантических целей классификации можно сгруппировать в композиции.

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

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

Пример

Дерево классификации для системы баз данных

Для система базы данных, должен быть выполнен дизайн теста. Применяя метод дерева классификации, идентификация релевантных аспектов теста дает классификации: Привилегия пользователя, Операция и Метод доступа.Для Привилегия пользователяs можно выделить два класса: Обычный пользователь и Администратор Пользователь.Есть три Операцияs: Добавлять, Редактировать и Удалить.Для Метод доступа, снова выделяются три класса: Родной инструмент, Веб-браузер, API. Веб-браузер класс дополнительно уточняется с помощью тестового аспекта Марка, сюда включены три возможных класса: Internet Explorer, Mozilla Firefox, и Apple Safari.

Первый шаг метода дерева классификации завершен. Конечно, есть и другие возможные аспекты тестирования, которые можно включить, например: скорость доступа к подключению, количество записи базы данных присутствуют в базе данных и т. д. Используя графическое представление в виде дерева, можно быстро просмотреть выбранные аспекты и их соответствующие значения.

Для статистики всего существует 30 возможных тестовых случаев (2 привилегии * 3 операции * 5 методов доступа). Для минимального покрытия достаточно 5 тестовых примеров, так как существует 5 методов доступа (а метод доступа - это классификация с наибольшим количеством непересекающихся классов).

На втором этапе вручную были выбраны три тестовых случая:

  1. Обычный пользователь добавляет новый набор данных в базу данных с помощью собственного инструмента.
  2. Пользователь-администратор редактирует существующий набор данных с помощью браузера Firefox.
  3. Обычный пользователь удаляет набор данных из базы данных с помощью API.

Улучшения

Фон

CTM представил следующие преимущества[2] по методу разделения категорий[7] (CPM) Остранда и Бальцера:

  • Обозначение: CPM имеет только текстовую нотацию, тогда как CTM использует графическое представление в виде дерева.
  • Доработки Выбор одного представителя может повлиять на появление других представителей.
CPM предлагает только ограничения для обработки этого сценария.
CTM позволяет моделировать иерархические уточнения в дереве классификации, также называемом неявные зависимости.
  • Поддержка инструмента: Инструмент, представленный Острандом и Бальцером, поддерживает только создание тестовых примеров, но не само разбиение.
Грохтманн и Вегенер представили свой инструмент - Редактор дерева классификации (CTE), который поддерживает как разбиение на разделы, так и создание тестовых примеров.[6]
Дерево классификации для примера встроенной системы, содержащее конкретные значения, конкретное время, (разные) переходы и различие между состояниями и действиями

Метод дерева классификации для встроенных систем

Сначала метод дерева классификации был предназначен для разработки и спецификации абстрактных тестовых примеров. Используя метод дерева классификации для встроенных систем,[8] также может быть выполнена тестовая реализация. В метод интегрированы несколько дополнительных функций:

  1. В дополнение к атомарным тестовым примерам можно указать тестовые последовательности, содержащие несколько тестовых шагов.
  2. Для каждого шага теста можно указать конкретное время (например, в секундах, минутах ...).
  3. Сигнальные переходы (например, линейный, сплайн, синус ...) между выбранными классами различных шагов тестирования.
  4. Различие между мероприятие и штат может быть смоделирован, представлен различными визуальными отметками в тесте.

Модуль и модульное тестирование инструмент Тесси полагается на это расширение.

Правила зависимостей и автоматическое создание тестовых примеров

Один из способов моделирования ограничений - использование механизма уточнения в методе дерева классификации. Однако это не позволяет моделировать ограничения между классами разных классификаций. Леманн и Вегенер ввели правила зависимости, основанные на Логические выражения с их воплощением CTE.[9] Дополнительные функции включают автоматическое создание наборы тестов используя комбинаторный дизайн тестов (например, тестирование всех пар ).

Генерация приоритетных тестовых случаев

Последние усовершенствования метода дерева классификации включают создание приоритетных тестовых примеров: Элементы дерева классификации можно присвоить веса с точки зрения возникновения и ошибки. вероятность или риск. Затем эти веса используются во время генерации тестовых примеров для определения приоритетов тестовых примеров.[10][11] Статистическое тестирование также доступен (например, для носить и усталость tests), интерпретируя веса элементов как дискретное распределение вероятностей.

Генерация тестовой последовательности

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

Числовые ограничения

В дополнение к логическим правилам зависимости, относящимся к классам дерева классификации, числовые ограничения позволяют указать формулы с классификациями в качестве переменных, которые будут оценивать выбранный класс в тестовом примере.[13]

Редактор дерева классификации

В Редактор дерева классификации (CTE) - это программный инструмент для проектирования тестов, реализующий метод дерева классификации.[14][15][16][17]

Со временем появилось несколько редакций инструмента CTE, написанных на нескольких (к тому времени популярных) языки программирования и разработан несколькими компаниями.

CTE 1

Первоначальная версия CTE была разработана в Daimler-Benz Промышленные исследования[6][16] объекты в Берлине. Он появился в 1993 году и был написан на Паскаль. Это было доступно только на Unix системы.

CTE 2

В 1997 году была проведена серьезная повторная реализация, которая привела к CTE 2. Разработка снова велась в Daimler-Benz Industrial Research. Это было написано в C и доступен для win32 системы.

CTE 2 был позже передан Razorcat по лицензии для включения в модуль и модульное тестирование инструмент Тесси.Редактор дерева классификации для встраиваемых систем.[8][15] также основан на этом издании.

CTE XL

В 2000 году Леманн и Вегенер представили правила зависимостей с их воплощением CTE, CTE XL (расширенная логика).[9][14][17][18] Дополнительные функции включают автоматическое создание наборы тестов используя комбинаторный дизайн тестов (например, тестирование всех пар ).[19]

Разработку выполнила DaimlerChrysler. CTE XL был написан на Ява и поддерживался в системах win32. CTE XL можно было скачать бесплатно.

В 2008 году Berner & Mattner приобрела все права на CTE XL и продолжила разработку до CTE XL 1.9.4.

CTE XL Professional

Начиная с 2010 года CTE XL Professional был разработан Berner & Mattner.[10] Была проведена полная повторная реализация, снова с использованием Ява но в это время Затмение -основан. CTE XL Professional был доступен на win32 и win64 системы.

Среди новых разработок:

  • Генерация приоритетных тестовых примеров: можно назначать веса элементам дерева классификации с точки зрения возникновения и ошибки. вероятность или риск. Затем эти веса используются во время генерации тестовых примеров для определения приоритетов тестовых примеров.[10][20] Риск-ориентированный Также доступно статистическое тестирование.
  • Генерация тестовой последовательности[12] с помощью Мультиагентные системы
  • Числовые ограничения[13]

ТЕСТОНА

В 2014 году Berner & Mattner начала выпуск своего редактора дерева классификации под марка имя ТЕСТОНА.

А бесплатная версия ТЕСТОНА по-прежнему доступен для бесплатной загрузки, однако с ограниченной функциональностью.

Версии

ВерсияДатаКомментарийНаписано вОперационные системы
CTE 1.01993Оригинальная версия,[6][16] ограничено 1000 тестовых случаев (исправлено!)ПаскальUnix
CTE 2.01998Версия для Windows,[15] неограниченное количество тестовых случаевCUnix, win32
CTE XL 1.02000Правила зависимостей, создание тестовых примеров[9][14][17]Яваwin32
CTE XL 1,62006Последняя версия Daimler-Benz[18]Яваwin32
CTE XL 1,82008Разработка Berner & MattnerЯваwin32
CTE XL 1.92009Последняя версия только для JavaЯваwin32
CTE XL Professional 2.12011-02-21Первый Затмение на основе версии, создание приоритетных тестовых примеров,[10] Детерминированный Генерация тестовых примеров, Требования-Отслеживание с ДВЕРИJava 6, Затмение 3.5win32
CTE XL Professional 2.32011-08-02Центр качества интеграция, анализ покрытия требований и Матрица прослеживаемости, APIJava 6, Eclipse 3.6win32
CTE XL Professional 2.52011-11-11Аннотация результатов тестирования, MindMap импортJava 6, Eclipse 3.6win32, win64
CTE XL Professional 2.72012-01-30Выпуск исправления ошибкиJava 6, Eclipse 3.6win32, win64
CTE XL Professional 2.92012-06-08Режим неявной маркировки, классы по умолчанию, Интерфейс командной строкиJava 6, Eclipse 3.7win32, win64
CTE XL Professional 3.12012-10-19Пост-оценка теста (например, для Анализ причин ), Генерация тестовой последовательности,[12] Числовые ограничения[13]Java 6, Eclipse 3.7win32, win64
CTE XL Professional 3.32013-05-28Анализ покрытия тестами, управление вариантами (например, как часть Разработка семейства продуктов ), Тестирование класса эквивалентностиJava 6, Eclipse 3.7win32, win64
CTE XL Professional 3.52013-12-18Мастер анализа граничных значений, импорт АВТОСАР и MATLAB моделиJava 7, Eclipse 3.8win32, win64
ТЕСТОНА 4.12014-09-22Выпуск исправления ошибкиJava 7, Eclipse 3.8win32, win64
ТЕСТОНА 4.32015-07-08Генерация исполняемого файла Сценарии тестирования (Генерация кода ), Импорт результатов тестирования[21]Java 7, Eclipse 3.8win32, win64
ТЕСТОНА 4.52016-01-21Расширенные возможности экспорта, GUI УлучшенияJava 7, Eclipse 3.8win32, win64
ТЕСТОНА 5.12016-07-19Выпуск с исправлением ошибки, перейти на Java 8, Eclipse 4.5Java 8, Eclipse 4.5win32, win64

Преимущества

  • Графическое представление соответствующих аспектов теста[2]
  • Метод как для идентификации соответствующих аспектов тестирования, так и для их объединения в тестовые примеры[4]

Ограничения

  • Когда проектирование теста с использованием метода дерева классификации выполняется без надлежащей декомпозиции теста, деревья классификации могут стать большими и громоздкими.
  • Новые пользователи, как правило, включают слишком много (особенно нерелевантных) аспектов тестирования, что приводит к слишком большому количеству тестовых примеров.
  • Не существует алгоритма или строгого руководства для выбора соответствующих аспектов теста.[22]

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

  1. ^ Бат, Грэм; Маккей, Джуди (2008). Справочник инженера по тестированию программного обеспечения: учебное пособие для специалиста по тестированию ISTQB и сертификатов продвинутого уровня для технических аналитиков. (1-е изд.). Санта-Барбара, Калифорния: Рокки Нук. ISBN  9781933952246.
  2. ^ а б c d Хасс, Энн Метте Йонассен (2008). Руководство по расширенному тестированию программного обеспечения. Бостон: Artech House. С. 179–186. ISBN  978-1596932869.
  3. ^ а б Грохтманн, Матиас; Гримм, Клаус (1993). «Деревья классификации для тестирования разделов». Тестирование, проверка и надежность программного обеспечения. 3 (2): 63–82. Дои:10.1002 / stvr.4370030203.
  4. ^ а б c d Кун, Д. Ричард; Kacker, Raghu N .; Лей, Ю (2013). Введение в комбинаторное тестирование. Crc Pr Inc., стр. 76–81. ISBN  978-1466552296.
  5. ^ а б Генри, Пьер (2008). Сеть тестирования - комплексный подход к тестовой деятельности в крупных программных проектах.. Берлин: Springer. п. 87. ISBN  978-3-540-78504-0.
  6. ^ а б c d Грохтманн, Матиас; Вегенер, Иоахим (1995). «Разработка тестового набора с использованием деревьев классификации и CTE редактора дерева классификации» (PDF). Материалы 8-й Международной недели качества программного обеспечения (QW '95), Сан-Франциско, США. Архивировано из оригинал (PDF) на 2015-09-24. Получено 2013-08-12.
  7. ^ Ostrand, T. J .; Бальцер, М. Дж. (1988). «Метод категориального разбиения для определения и генерации функциональных тестов». Коммуникации ACM. 31 (6): 676–686. Дои:10.1145/62959.62964.
  8. ^ а б Конрад, Мирко; Крупп, Александр (1 октября 2006 г.). «Расширение метода дерева классификации для встроенных систем для описания событий». Электронные заметки по теоретической информатике. 164 (4): 3–11. Дои:10.1016 / j.entcs.2006.09.002.
  9. ^ а б c Леманн, Эккард; Вегенер, Иоахим (2000). «Разработка тестового набора с помощью CTE XL» (PDF). Материалы 8-й Европейской международной конференции по тестированию, анализу и обзору программного обеспечения (EuroSTAR 2000). Архивировано из оригинал (PDF) на 2016-03-04. Получено 2013-08-12.
  10. ^ а б c d Круз, Питер М .; Луняк, Магдалена (декабрь 2010 г.). «Автоматическая генерация тестовых случаев с использованием деревьев классификации». Профессиональное качество программного обеспечения. 13 (1): 4–12.
  11. ^ Franke M, Gerke D, Hans C. und andere. Создание тестовых примеров на основе методов для проверки функциональной системы. Труды АТОС. Делфт. 2012. С.36-44.
  12. ^ а б c Круз, Питер М .; Вегенер, Иоахим (апрель 2012 г.). Генерация тестовой последовательности из деревьев классификации. Тестирование, проверка и валидация программного обеспечения (ICST), Пятая международная конференция IEEE 2012 г.. С. 539–548. Дои:10.1109 / ICST.2012.139. ISBN  978-0-7695-4670-4.
  13. ^ а б c Круз, Питер М .; Бауэр, Юрген; Вегенер, Иоахим (апрель 2012 г.). Численные ограничения для тестирования комбинаторного взаимодействия.. Тестирование, проверка и валидация программного обеспечения (ICST), Пятая международная конференция IEEE 2012 г.. С. 758–763. Дои:10.1109 / ICST.2012.170. ISBN  978-0-7695-4670-4.
  14. ^ а б c Международный, SAE (2004). От автомобильной электроники к цифровой мобильности: конвергенция следующего поколения; материалы Международного конгресса по транспортной электронике 2004 г., конвергенция 2004 г., [Центр Кобо, Детройт, Мичиган, США, 18–20 октября 2004 г.]. Варрендейл, Пенсильвания: Общество автомобильных инженеров. С. 305–306. ISBN  978-0768015430.
  15. ^ а б c [отредактировал] Гомеш, Луис; Фернандес, Жоао М. (2010). Поведенческое моделирование для встраиваемых систем и технологий, приложения для проектирования и внедрения. Херши, Пенсильвания: Справочник по информационным наукам. п. 386. ISBN  978-1605667515.CS1 maint: дополнительный текст: список авторов (ссылка на сайт)
  16. ^ а б c [отредактировал] Зандер, Юстина; Шифердекер, Ина; Мостерман, Питер Дж. (15 сентября 2011 г.). Тестирование на основе моделей для встроенных систем. Бока-Ратон: CRC Press. п. 10. ISBN  978-1439818459.CS1 maint: дополнительный текст: список авторов (ссылка на сайт)
  17. ^ а б c [отредактировал] Rech, Jörg; Бунс, Кристиан (2009). Разработка программного обеспечения на основе моделей с интеграцией обеспечения качества. Херши: Справочник по информатике. п. 101. ISBN  978-1605660073.CS1 maint: дополнительный текст: список авторов (ссылка на сайт)
  18. ^ а б Олейничак, Роберт (2008). Систематизация функций Тестирование электронного программного обеспечения (PDF). Докторская диссертация: Мюнхенский технический университет. С. 61–63. Архивировано из оригинал (PDF) 6 марта 2016 г.. Получено 10 октября 2013.
  19. ^ Каин, Андрей; Чен, Цун Юэ; Грант, Дуг; Пун, Пак-Лок; Тан, Сау-Фун; Це, TH (2004). Система автоматической генерации тестовых данных на основе методологии интегрированного дерева классификации. Первая международная конференция, SERA 2003, Сан-Франциско, Калифорния, США, 25–27 июня 2003 г., Избранные исправленные статьи. Конспект лекций по информатике. 3026. стр.225–238. Дои:10.1007/978-3-540-24675-6_18. HDL:10722/43692. ISBN  978-3-540-21975-0. Получено 10 октября 2013.
  20. ^ Franke, M .; Герке, Д .; Hans, C; и другие: Создание контрольных примеров на основе методов для проверки функциональных систем, Симпозиум по воздушному транспорту и эксплуатации 2012 г .; с.354-365. Труды АТОС. Делфт 2012.
  21. ^ Бернер и Маттнер. "Пресс-релиз: Реализация тестового примера с помощью TESTONA 4.3".
  22. ^ Chen, T.Y .; Пун, П.-Л. (1996). Таблица классификации-иерархии: методика построения дерева классификации. Австралийская конференция по разработке программного обеспечения, 1996 г., Труды 1996 г.. С. 93–104. Дои:10.1109 / ASWEC.1996.534127. ISBN  978-0-8186-7635-2.

внешняя ссылка