Jump to content

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

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

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

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

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

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

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

Приложение

[ редактировать ]

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

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

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

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

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

Для системы базы данных необходимо выполнить проектирование тестирования. Применяя метод дерева классификации, идентификация аспектов, имеющих отношение к тестированию, дает классификации: привилегии пользователя , операция и метод доступа .Для привилегий пользователя можно выделить два класса: обычный пользователь и пользователь-администратор .Существует три операции : Add , Edit и Delete .Для метода доступа снова идентифицируются три класса: Native Tool , Web Browser , API .Класс Web Browser дополнительно доработан с помощью тестового аспекта Brand , сюда включены три возможных класса: 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. Различие между событием и состоянием можно смоделировать, представляя различные визуальные метки в тесте.

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

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

[ редактировать ]

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

Генерация приоритетных тестовых примеров

[ редактировать ]

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

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

[ редактировать ]

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

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

[ редактировать ]

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

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

[ редактировать ]

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

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

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

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

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

Razorcat разрабатывает CTE с 2001 года и зарегистрировала торговую марку CTE в 2003 году.

Последняя версия CTE 3.2 была опубликована с помощью инструмента TESSY 4.0 в 2016 году. Обратите внимание на таблицу версий ниже.

CTE 4 был реализован в TESSY 4.1.7 как плагин Eclipse в 2018 году. Последняя версия CTE 4 все еще разрабатывается как часть TESSY 4.3 в 2021 году.

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

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

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

CTE XL Профессиональный

[ редактировать ]

Начиная с 2010 года CTE XL Professional разрабатывается компанией Berner&Mattner. [10] Была выполнена полная повторная реализация, снова с использованием Java , но на этот раз на основе Eclipse . CTE XL Professional был доступен в системах Win32 и Win64 .

Новые разработки включали:

В 2014 году Berner&Mattner начала выпуск своего редактора дерева классификации под торговой маркой TESTONA .

Бесплатная версия TESTONA по-прежнему доступна для бесплатного скачивания, однако с ограниченной функциональностью.

Версия Дата Комментарий Написано в ТЫ
КТР 1.0 1993 Оригинальная версия, [6] [16] ограничено 1000 тестовых случаев (исправление!) Паскаль Юникс
КТР 2.0 1998 Версия для Windows, [15] неограниченное количество тестовых случаев С ++ Win32
КТР 2.1 2003 Встроенная системная версия Razorcats, входящая в состав инструмента TESSY . С++ Win32
КТЕ XL 1.0 2000 Правила зависимостей, создание тестовых примеров [9] [14] [17] Ява Win32
КТЕ XL 1,6 2006 Последняя версия от Daimler-Benz [18] Ява Win32
КТР XL 1,8 2008 Разработка Berner&Mattner Ява Win32
КТР XL 1,9 2009 Последняя версия только для Java Ява Win32
CTE XL Профессионал 2.1 2011-02-21 Первая версия на основе Eclipse , генерация приоритетных тестовых примеров, [10] Генерация детерминированных тестовых примеров, отслеживание требований с помощью DOORS Ява 6 , Затмение 3.5 Win32
CTE XL Профессионал 2.3 2011-08-02 Интеграция QualityCenter , анализ покрытия требований и матрица прослеживаемости , API Ява 6, Затмение 3.6 Win32
CTE XL Профессионал 2.5 2011-11-11 Аннотация результатов теста, MindMap импорт Ява 6, Затмение 3.6 вин32, вин64
CTE XL Профессионал 2.7 2012-01-30 Выпуск с исправлением ошибок Ява 6, Затмение 3.6 вин32, вин64
CTE XL Профессионал 2.9 2012-06-08 Режим неявной маркировки, классы по умолчанию, интерфейс командной строки Ява 6, Затмение 3.7 вин32, вин64
CTE XL Профессионал 3.1 2012-10-19 Последующая оценка тестирования (например, для анализа первопричин ), создание последовательности тестирования, [12] Числовые ограничения [13] Ява 6, Затмение 3.7 вин32, вин64
CTE XL Профессионал 3.3 2013-05-28 Анализ тестового покрытия, управление вариантами (например, как часть разработки семейства продуктов ), тестирование классов эквивалентности Ява 6, Затмение 3.7 вин32, вин64
CTE XL Профессионал 3.5 2013-12-18 Мастер анализа граничных значений, импорт AUTOSAR и MATLAB моделей Ява 7 , Затмение 3.8 вин32, вин64
ТЕСТОНА 4.1 2014-09-22 Выпуск с исправлением ошибок Ява 7, Затмение 3.8 вин32, вин64
ТЕСТОНА 4.3 2015-07-08 Генерация исполняемых тестовых сценариев ( генерация кода ), импорт результатов тестов [21] Ява 7, Затмение 3.8 вин32, вин64
ТЕСТОНА 4.5 2016-01-21 Расширенные возможности экспорта, графического интерфейса улучшения Ява 7, Затмение 3.8 вин32, вин64
ТЕСТОНА 5.1 2016-07-19 Выпуск с исправлением ошибок, переход на Java 8 , Eclipse 4.5 Ява 8 , Затмение 4.5 вин32, вин64
КТЕ 4.0 2018-08-01 Новая реализация Razorcat в виде плагина для инструмента TESSY 4.1 на базе Eclipse . Поддержка в создании тестовых случаев (на основе моделей). Ява Win32

Win64

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

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

Ограничения

[ редактировать ]
  • Если разработка теста с использованием метода дерева классификации выполняется без надлежащей декомпозиции теста, деревья классификации могут стать большими и громоздкими.
  • Новые пользователи склонны включать слишком много (особенно нерелевантных) аспектов тестирования, что приводит к слишком большому количеству тестовых примеров.
  • Не существует алгоритма или строгих указаний по выбору важных аспектов теста. [22]
  1. ^ Бат, Грэм; Маккей, Джуди (2008). Справочник инженера по тестированию программного обеспечения: учебное пособие для получения сертификатов аналитика-тестировщика ISTQB и аналитика технического тестирования продвинутого уровня (1-е изд.). Санта-Барбара, Калифорния: Рокки Нук. ISBN  9781933952246 .
  2. ^ Перейти обратно: а б с д Хасс, Энн Метте Йонассен (2008). Руководство по расширенному тестированию программного обеспечения . Бостон: Артех Хаус. стр. 179–186. ISBN  978-1596932869 .
  3. ^ Перейти обратно: а б Грохтманн, Матиас; Гримм, Клаус (1993). «Деревья классификации для тестирования разделов». Тестирование, проверка и надежность программного обеспечения . 3 (2): 63–82. дои : 10.1002/stvr.4370030203 . S2CID   33987358 .
  4. ^ Перейти обратно: а б с д Кун, Д. Ричард; Какер, Рагху Н.; Лей, Ю (2013). Введение в комбинаторное тестирование . Crc Pr Inc. стр. 76–81. ISBN  978-1466552296 .
  5. ^ Перейти обратно: а б Генри, Пьер (2008). Сеть тестирования представляет собой комплексный подход к тестированию в крупных проектах разработки программного обеспечения . Берлин: Шпрингер. п. 87. ИСБН  978-3-540-78504-0 .
  6. ^ Перейти обратно: а б с д Грохтманн, Матиас; Вегенер, Иоахим (1995). «Разработка тестового примера с использованием деревьев классификации и редактора дерева классификации CTE» (PDF) . Материалы 8-й Международной недели качества программного обеспечения (QW '95), Сан-Франциско, США . Архивировано из оригинала (PDF) 24 сентября 2015 г. Проверено 12 августа 2013 г.
  7. ^ Остранд, Ти Джей; Бальсер, MJ (1988). «Метод категорийно-разделения для задания и генерации функциональных тестов» . Коммуникации АКМ . 31 (6): 676–686. дои : 10.1145/62959.62964 . S2CID   207647895 .
  8. ^ Перейти обратно: а б Конрад, Мирко; Крупп, Александр (1 октября 2006 г.). «Расширение метода дерева классификации для встраиваемых систем описания событий» . Электронные заметки по теоретической информатике . 164 (4): 3–11. дои : 10.1016/j.entcs.2006.09.002 .
  9. ^ Перейти обратно: а б с Леманн, Экард; Вегенер, Иоахим (2000). «Разработка тестового примера с помощью CTE XL» (PDF) . Материалы 8-й Европейской международной конференции по тестированию, анализу и обзору программного обеспечения (EuroSTAR 2000) . Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 12 августа 2013 г.
  10. ^ Перейти обратно: а б с д Крузе, Питер М.; Луниак, Магдалена (декабрь 2010 г.). «Автоматическая генерация тестовых примеров с использованием деревьев классификации». Профессионал качества программного обеспечения . 13 (1): 4–12.
  11. ^ Франке М., Герке Д., Ганс К. и другие. Генерация тестовых примеров на основе методов для функциональной проверки системы. Труды АТОС. Делфт. 2012. С.36-44.
  12. ^ Перейти обратно: а б с Крузе, Питер М.; Вегенер, Иоахим (апрель 2012 г.). «Генерация тестовых последовательностей из деревьев классификации». 2012 Пятая международная конференция IEEE по тестированию, верификации и валидации программного обеспечения . стр. 539–548. дои : 10.1109/ICST.2012.139 . ISBN  978-0-7695-4670-4 . S2CID   581740 .
  13. ^ Перейти обратно: а б с Крузе, Питер М.; Бауэр, Юрген; Вегенер, Иоахим (апрель 2012 г.). «Численные ограничения для тестирования комбинаторных взаимодействий». 2012 Пятая международная конференция IEEE по тестированию, верификации и валидации программного обеспечения . стр. 758–763. дои : 10.1109/ICST.2012.170 . ISBN  978-0-7695-4670-4 . S2CID   16683773 .
  14. ^ Перейти обратно: а б с Международный, SAE (2004). От автомобильной электроники к цифровой мобильности: следующее поколение конвергенции; материалы Международного конгресса по транспортной электронике 2004 г., Convergence 2004, [Центр Кобо, Детройт, Мичиган, США, 18–20 октября 2004 г.] . Уоррендейл, Пенсильвания: Общество инженеров автомобильной промышленности. стр. 305–306. ISBN  978-0768015430 .
  15. ^ Перейти обратно: а б с [под редакцией] Гомес, Луис; Фернандес, Жоао М. (2010). Поведенческое моделирование встроенных систем и технологий для проектирования и внедрения . Херши, Пенсильвания: Справочник по информатике. п. 386. ИСБН  978-1605667515 . {{cite book}}: |last= имеет общее имя ( справка )
  16. ^ Перейти обратно: а б с [под редакцией] Зандер, Юстина; Шифердекер, Ина; Мостерман, Питер Дж. (15 сентября 2011 г.). Модельно-ориентированное тестирование встраиваемых систем . Бока-Ратон: CRC Press. п. 10. ISBN  978-1439818459 . {{cite book}}: |last= имеет общее имя ( справка )
  17. ^ Перейти обратно: а б с [под редакцией] Рех, Йорг; Бунсе, Кристиан (2009). Разработка программного обеспечения на основе моделей с интеграцией обеспечения качества . Херши: Справочник по информатике. п. 101. ИСБН  978-1605660073 . {{cite book}}: |last= имеет общее имя ( справка )
  18. ^ Перейти обратно: а б Олейничак, Роберт (2008). Систематизация функционального тестирования встроенного программного обеспечения (PDF) . Докторская диссертация: Технический университет Мюнхена. стр. 61–63. Архивировано из оригинала (PDF) 6 марта 2016 года . Проверено 10 октября 2013 г.
  19. ^ Каин, Эндрю; Чен, Цонг Юэ; Грант, Дуг; Пун, Пак-Лок; Тан, Сау-Фун; Це, TH (2004). «Система автоматической генерации тестовых данных на основе методологии интегрированного дерева классификации» . Исследования и приложения в области программной инженерии . Конспекты лекций по информатике. Том. 3026. С. 225–238 . дои : 10.1007/978-3-540-24675-6_18 . hdl : 10722/43692 . ISBN  978-3-540-21975-0 . Проверено 10 октября 2013 г.
  20. ^ Франке, М.; Герке, Д.; Ганс, К; и другие: «Генерация тестовых примеров на основе методов для проверки функциональной системы, симпозиум по воздушному транспорту и эксплуатации, 2012 г.»; стр.354-365. Труды АТОС. Делфт 2012.
  21. ^ Бернер и Маттнер. «Пресс-релиз: реализация тестового примера с помощью TESTONA 4.3» .
  22. ^ Чен, Тайвань; Пун, П.-Л. (1996). «Таблица классификационной иерархии: методология построения дерева классификации». Материалы Австралийской конференции по разработке программного обеспечения 1996 года . стр. 93–104. дои : 10.1109/ASWEC.1996.534127 . ISBN  978-0-8186-7635-2 . S2CID   6789744 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1b5342c6c625036805c1eb977a8799bf__1696897920
URL1:https://arc.ask3.ru/arc/aa/1b/bf/1b5342c6c625036805c1eb977a8799bf.html
Заголовок, (Title) документа по адресу, URL1:
Classification Tree Method - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)