Страница131
Проверить,чтофлагФлаг_Система_Стартовала = TRUE, иначе прервать
тестированиесвыдачейдиагностическогосообщения.
Изменить значения настроек системы (в реальном тест‐плане здесь
должныбытьустановленыконкретныезначенияпеременных).
Перезагрузитьсистему(вызватьеестартврежимеCOLD_START).
Проверить,чтонастройкиимеютпоследниевведенныезначения(в
реальном тест‐плане здесь должны быть проверки конкретных значений
переменных).
Дляоблегченияпроведениявыборочногорегрессионноготестированиякаждыйтестовыйпримердолжен
бытьполностьюавтономным‐ходеговыполненияирезультат,недолжнызависетьотпредыдущих
тестовыхпримеров.Темсамымпривыборочномтестированиирезультаттестированиянезависитот
выбранногонаборатестовыхпримеров.Однако,напрактикесозданиеавтономныхтестовзачастую
невозможнопоразличнымпричинам(какправило‐из‐задлительноговременивыполнениятакихтестов).
Вслучае,когдавнаборетестовыхпримеровтестынеявляютсяавтономными,говорятоТЕСТОВОЙ
ЗАВИСИМОСТИ.Тестоваязависимостьбываетдвухвидов‐ПРЕДУСМОТРЕННАЯСТРУКТУРОЙ
ТЕСТОВЫХПРИМЕРОВИПАРАЗИТНАЯ.
ПРИМЕРПРЕДУСМОТРЕННОЙТЕСТОВОЙЗАВИСИМОСТИбылрассмотренвпредыдущемразделе‐
корректностьвыполнениятестовопределяласьпорядкомихвыполнения.Такаятестоваязависимость
требуетдокументированияисопровождения,какисамиописаниятестовыхпримеров.
ПАРАЗИТНЫЕТЕСТОВЫЕЗАВИСИМОСТИВЫЗВАНЫНЕКОРРЕКТНЫМСОСТАВЛЕНИЕМТЕСТ‐
ПЛАНА.Проявляютсяонивтом,чтоодин(илиболее)тестовкорректноработаеттольковтомслучае,если
донегобыливыполненыдругиетестовыепримерыиэтазависимостьнепредусмотренатестером.Природа
паразитнойтестовойзависимостисхожасошибкамииспользованиянеинициализированныхили
остаточныхданныхвдинамическойпамятиприпрограммировании.
ЛИТЕРАТУРА
[Синицын2006]‐СиницынС.В.,НалютинН.Ю.Верификацияпрограммногообеспечения.Курслекций.
Московскийинженерно‐физическийинститут.М.2006.
РЕГРЕССИОННОЕТЕСТИРОВАНИЕФУНКЦИИРЕШЕНИЯКВАДРАТНОГОУРАВНЕНИЯ
doubleEquation(intPrint,floatA,floatB,floatC,
float&X1,float&X2)
{
floatD=B*B‐4.0*A*C;
if(D>=0)
{
X1=(‐B+sqrt(D))/2.0/A;