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


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

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

Тестирование на основе данных отлично подходит для областей тестирования, которые работают с набором входных значений, определяющих их поведение, например при тестировании 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-файла в качестве Источника данных, как представляется, не стоит проблем, тестирование на основе легких данных может быть именно тем, что вы ищете. Отличный пример этого — разработчик, который пишет модульный тест для API, такого как OpenThemeData(...), и хочет проверить API с помощью "Button", "Listbox" и "ScrollBar". Это может быть избыточным, чтобы создавать XML-файл DataSource для этого, но с легковесной поддержкой тестирования на основе данных это можно эффективно сделать в самом исходном коде. Если задано более одного параметра, TAEF создаст n-мерное комбинаторное расширение параметров в фоновом режиме, и метод теста будет вызываться для каждой комбинации. Дополнительные сведения: легковесное тестирование на основе данных.

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

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

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

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