Тестирование софта - статьи


Понятие паттерна


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

Паттерны, описываемые в данной статье, получены на основе анализа более чем десятилетнего опыта разработки тестов ИСП РАН [] в различных проектах:

  • Nortel Networks (ядро ОС);
  • Luxoft (банковское приложение);
  • Intel (стандартная библиотека Java);
  • Microsoft Research (протокол IPv6);
  • Вымпелком (детализация по счетам);
  • НИИ системных исследований РАН (ОС 2000);
  • Persistent (Service Data Objects, реализация BEA).

Было проанализировано около трехсот тестовых сценариев. В результате анализа проектов выделено десять наиболее распространенных паттернов. Названия выделенных паттернов, их краткая характеристика и статистика использования показаны в таблице 1.

НазваниеКраткая характеристикаСтатистика использования
Длина спискаВ качестве обобщенного состояния выбирается длина списка 13%41%
Размер множества В качестве обобщенного состояния выбирается размер множества 17%
Размер отображения В качестве обобщенного состояния выбирается размер отображения 8%
Число вершин дерева В качестве обобщенного состояния выбирается число элементов дерева 3%
Декартово произведение В качестве обобщенного состояния выбирается декартово произведение других обобщенных состояний 18% 39%
Выделение элементов Паттерн основан на выделении элементов обладающих некоторыми свойствами 5%
Единственное состояние В качестве обобщенного состояния выбирается одно единственное состояние 10%
Мультимножество чисел детей В качестве обобщенного состояния выбирается мультимножество, элементами которого являются числа - количество непосредственных детей для каждой вершины дерева 3%
Код дерева В качестве обобщенного состояния выбирается код дерева, однозначно определяющий его структуру 2%
Среднее состояние Все промежуточные состояния объединяются в одно обобщенное состояние 1%
? (без паттерна) 20%

Таблица 1. Паттерны проектирования

Наиболее широкое применение имеет группа паттернов с размером структуры данных в качестве обобщенного состояния: длина списка, размер множества, размер отображения, число вершин дерева.


Начало  Назад  Вперед



Книжный магазин