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


Полуконтролируемое тестирование


Пример: таймер. Стимул может быть единственным (подписка на получение сигналов от таймера) или вообще отсутствовать, реакции наблюдаются сколь угодно долго.

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

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

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

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

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


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