Поделиться через


Тестирование на основе данных

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

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

Поддержка тестирования на основе данных в TAEF

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

Решение для тестирования на основе таблиц на основе данных позволяет точно контролировать варианты параметров данных, а также определять типы параметров. DataSource в данном случае является таблицей, определенной в XML-файле. Можно указать типы параметров (int, unsigned int, size_t, bool, double, DWORD, __int64 и т. д.), а также использовать тип по умолчанию WEX::Common::String (собственный) или string (управляемый). Каждая строка в таблице представляет собой набор вариантов значений параметров. Метод теста будет повторно вызываться для каждой строки в таблице. Ниже приведен фрагмент XML DataSource для тестирования на основе таблиц на основе данных.

1  <?xml version="1.0"?>
2   <Data>
3     <Table Id ="Table1">
4          <ParameterTypes>
5                  <ParameterType Name="Size">Int32</ParameterType>
6                  <ParameterType Name="Color">String</ParameterType>
7          </ParameterTypes>
8          <Row>
9                 <Parameter Name="Size">12</Parameter>
10                 <Parameter Name="Color">Blue</Parameter>
11         </Row>
12         <Row>
13                 <Parameter Name="Size">4</Parameter>
14                 <Parameter Name="Color">White</Parameter>
15         </Row>
16         <Row>
17                 <Parameter Name="Size">9</Parameter>
18                 <Parameter Name="Color">Black</Parameter>
19         </Row>
20    </Table>
21  </Data>

Дополнительные сведения см. в статье Тестирование на основе таблиц на основе данных.

Поддержка облегчаемого тестирования на основе данных не обеспечивает полную точность, которую предлагает решение для тестирования на основе таблиц. Уточнение: тестирование на основе данных с легким весом ограничивает параметры данных WEX::Common::String(native) или String(managed) по отношению к различным типам, поддерживаемым решением для тестирования на основе таблиц. Но если вы ищете недорогой и быстрый вариант данных (скажем, один или два параметра), чтобы сделать метод тестирования управляемым данными, и добавление XML-файла в качестве dataSource, кажется, не стоит проблем, легкое тестирование на основе данных может быть именно тем, что вы ищете. Отличный пример — разработчик, который пишет модульный тест для API OpenThemeData(...) и хочет проверить API на соответствие "Button", "Listbox" и "ScrollBar". Создание XML-файла DataSource для этого может оказаться слишком большой перегрузкой, но с поддержкой тестирования на основе легких данных это можно сделать эффективно в самом исходном коде. Если задано несколько параметров, TAEF создаст n-way комбинаторное расширение параметров за кулисами, и метод теста будет вызываться для каждой комбинации. Дополнительные сведения см. в статье Упрощенное тестирование на основе данных.

N-комбинаторное расширение, которое предлагает тестирование на основе данных легкого веса, может стать дорогостоящим и обеспечить снижение отдачи по мере усложнения сценария тестирования. В таком сложном сценарии тестирования парное независимое комбинаторное тестирование (PICT), предлагаемое решением для тестирования на основе данных на основе PICT , может оказаться тем, что вам нужно. PICT обеспечивает большую ценность, создавая компактный набор результатов параметров для получения полного охвата параметров. Ознакомьтесь со ссылками, чтобы узнать больше о PICT и о том, как использовать это решение для тестирования на основе данных PICT .

Используя поддержку тестирования на основе WMI на основе данных , вы также можете добавить предварительные условия в тесты, а также получить сведения (данные) на основе ресурсов, доступных на тестовом компьютере. Например, если вы хотите запустить тест только в том случае, если компьютер присоединен к домену и вам также нужны сведения о доменном имени при запуске теста. DataSource в данном случае является WQL-запросом. Узнайте больше о том, как использовать тестирование на основе WMI на основе данных в сценарии тестирования.

Учитывая все перечисленные выше варианты, вы также можете придумать дизайн, в котором сочетание указанных выше вариантов может показаться подходящим. Например, может потребоваться использовать WMI-запрос для получения сведений обо всех принтерах, подключенных к тестовому компьютеру, но может существовать еще один набор параметров, которые можно заранее определить с помощью конструкции тестирования на основе таблиц на основе данных. Спецификация нескольких источников данных также может быть полезной, если требуется, чтобы данные теста попадали из двух отдельных таблиц, что позволяет повторно использовать каждую таблицу в других тестах. Ознакомьтесь со сведениями о том, как указать несколько источников данных для теста и какие ограничения применяются при этом: Указание нескольких источников данных

В этом разделе