Меню
Разработки
Разработки  /  Прочее  /  Презентации  /  Прочее  /  Критерии выбора тестов.

Критерии выбора тестов.

Данная разработка содержит материал по теме " Критерии выбора тестов". Материал полезен для подготовки и проведения занятий по дисциплине "МДК.05.03. Тестирование информационных систем" специальности 09.-02.07
07.12.2023

Содержимое разработки

Критерии выбора тестов

Критерии выбора тестов

Критерий выбора тестов – это правило выбора состава и содержания проверок при выполнении тестирования программного обеспечения. Для различных классов программного обеспечения в общем случае не существует полного и надежного критерия выбора совокупности тестов, очевидно следующего из спецификаций назначения тестируемого программного обеспечения. Целесообразно выполнять приближение к рациональному общему (

Критерий выбора тестов – это правило выбора состава и содержания проверок при выполнении тестирования программного обеспечения.

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

Целесообразно выполнять приближение к рациональному общему ("идеальному") критерию через совокупность фактических частных критериев.

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

Требования к идеальному критерию тестирования

Критерий должен быть достаточным , т.е. показывать, когда некоторое конечное множество тестов достаточно для тестирования данной программы.

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

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

Критерий должен быть легко проверяемым , например вычисляемым на тестах

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

Для нетривиальных классов программ в общем случае  не

существует полного и надежного критерия , зависящего

от программ или спецификаций.

Поэтому необходимо стремиться к идеальному общему

критерию через реальные частные.

Классы критериев

  • Структурные критерии  используют информацию

структуре программы ( критерии так называемого

"белого ящика" )

  • Функциональные критерии  формулируются в

требований к программному изделию ( критерии так

называемого "черного ящика" )

 Критерии  стохастического  тестирования  формулируются в терминах проверки наличия заданных свойств у тестируемого приложения, средствами проверки некоторой статистической гипотезы.  Мутационные  критерии  ориентированы на проверку свойств программного изделия на основе подхода Монте-Карло. Структурные критерии ( Класс I)  Структурные критерии  используют  модель программы  в виде
  • Критерии  стохастического тестирования формулируются в терминах проверки наличия заданных свойств у тестируемого приложения, средствами проверки некоторой статистической гипотезы.
  • Мутационные критерии  ориентированы на проверку свойств программного изделия на основе подхода Монте-Карло.

Структурные критерии ( Класс I)

Структурные критерии  используют  модель программы  в виде "белого ящика", что предполагает  знание  исходного текста программы или спецификации программы  в виде потокового графа управления ( УПГ).  

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

Структурная  информация  понятна и доступна

разработчикам подсистем и модулей приложения, поэтому

данный  класс  критериев часто используется на этапах

модульного и  интеграционного тестирования.

Структурные критерии  базируются на основных

элементах УГП, операторах, ветвях и путях.

  • Условие критерия  тестирования команд  (критерий С0) - набор тестов в совокупности должен обеспечить прохождение каждой команды не менее одного раза. Это слабый критерий, он используется в больших программных системах, где другие критерии применить невозможно.
  • Условие критерия  тестирования ветвей  (критерий С1) - набор тестов в совокупности должен обеспечить прохождение каждой ветви не менее одного раза. 
17) " width="640"

Данный критерий часто используется в

системах  автоматизации тестирования .

  • Условие критерия  тестирования путей  ( критерий С2 ) - набор тестов в совокупности должен обеспечить прохождение каждого пути не менее 1 раза. Если программа содержит цикл (в особенности с неявно заданным числом итераций), то число итераций ограничивается константой (часто - 2, или  числом классов  выходных путей).
  • Пример:

Рассмотрим условия тестирования программы на языке

С # в соответствии со  структурными критериями .

  • public void Method (int x)
  • { if (x17)
 x=x-17;   if (x==-13)  x = 0;  } Тестовый набор  из одного теста, удовлетворяет критерию команд (C0): (X,Y)={(xвх=30,  xвых=0)} покрывает все  операторы  трассы 1-2-3-4-5-6 Тестовый набор  из двух тестов, удовлетворяет критерию ветвей (C1):(X,Y)={(30,0), (17,17)} добавляет 1 тест к множеству тестов для С0 и трассу 1-2-4-6. Трасса 1-2-3-4-5-6 проходит через все ветви достижимые в операторах if при условии true, а трасса 1-2-4-6 через все ветви, достижимые в операторах if при  условии false. Тестовый набор  из четырех тестов, удовлетворяет критерию путей ( C2 ):(X,Y)={(30,0), (17,17), (-13,0), (21,-4)}
  • x=x-17;
  • if (x==-13)
  • x = 0;
  • }
  • Тестовый набор  из одного теста, удовлетворяет критерию команд (C0): (X,Y)={(xвх=30, xвых=0)} покрывает все  операторы  трассы 1-2-3-4-5-6
  • Тестовый набор  из двух тестов, удовлетворяет критерию ветвей (C1):(X,Y)={(30,0), (17,17)} добавляет 1 тест к множеству тестов для С0 и трассу 1-2-4-6. Трасса 1-2-3-4-5-6 проходит через все ветви достижимые в операторах if при условии true, а трасса 1-2-4-6 через все ветви, достижимые в операторах if при условии false.

Тестовый набор  из четырех тестов, удовлетворяет критерию путей ( C2 ):(X,Y)={(30,0), (17,17), (-13,0), (21,-4)}

 Набор условий для двух операторов if c метками 2 и 4 приведен ниже в таблице 1.  Таблица 1

Набор условий для двух операторов if c метками 2 и 4 приведен ниже в таблице 1.

Таблица 1

 Критерий ветвей С2 проверяет программу более тщательно, чем критерии – C1, однако даже если он удовлетворен, нет оснований утверждать, что прог-  рамма реализована в соответствии со спецификацией.  Например , если спецификация задает условие, что  |x| ≤ 100, невыполнимость которого можно подтвердить на тесте (-177,-177).  Действительно, операторы 3 и 4 на тесте (-177,-177) не изменят величину х = – 177 и результат не будет соответствовать спецификации.  Структурные критерии не проверяют соответствие спецификации, если оно не отражено в структуре программы.  Поэтому при успешном тестировании программы по критерию C2 мы можем не заметить ошибку, связанную с невыполнением некоторых условий спецификации требований.

Критерий ветвей С2 проверяет программу более тщательно, чем критерии – C1, однако даже если он удовлетворен, нет оснований утверждать, что прог-

рамма реализована в соответствии со спецификацией.

Например , если спецификация задает условие, что

|x| ≤ 100, невыполнимость которого можно подтвердить на тесте (-177,-177).

Действительно, операторы 3 и 4 на тесте (-177,-177) не изменят величину х = – 177 и результат не будет соответствовать спецификации.

Структурные критерии не проверяют соответствие спецификации, если оно не отражено в структуре программы.

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

-80%
Курсы дополнительного образования

Ландшафтный дизайн

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Критерии выбора тестов. (144.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт