игра брюс 2048
Главная / Программирование / Верификация программного обеспечения / Тест 6

Верификация программного обеспечения - тест 6

Упражнение 1:
Номер 1
Укажите реально существующие типы покрытия программного кода

Ответ:

 (1) по строкам 

 (2) по компонентам логических выражений 

 (3) по ветвям 

 (4) по скобкам 


Номер 2
Что необходимо для полного покрытия по MC/DC?

Ответ:

 (1) каждое логическое условие должно принимать все возможные значения 

 (2) каждая компонента логического условия должна хотя бы один раз принимать все возможные значения 

 (3) должно быть установлено независимое влияние каждой из переменных на результат 

 (4) каждая компонента логического условия должна быть протестирована независимо от остальных 


Номер 3
Укажите правильные последовательности анализа покрытий

Ответ:

 (1) покрытие требований, покрытие кода по строкам, покрытие кода по MC/DC 

 (2) покрытие по MC/DC, покрытие по ветвям, покрытие по строкам 

 (3) покрытие по ветвям, покрытие по строкам, покрытие требований 

 (4) покрытие требований, покрытие по MC/DC 


Упражнение 2:
Номер 1
Выберите верные свойства тест-плана

Ответ:

 (1) независимость тестовых примеров 

 (2) единая схема идентификации и записи тестовых примеров 

 (3) независимость тестового окружения 

 (4) определение тестов на формальном языке 


Номер 2
Выберите типичные компоненты определения тестового примера в тест-плане

Ответ:

 (1) идентификатор тестового примера 

 (2) входные данные 

 (3) ожидаемые выходные данные 

 (4) описание теста 


Номер 3
Какие проблемы могут существовать в корректных по формату тест-планах?

Ответ:

 (1) запутанная идентификация и последовательность тестовых примеров 

 (2) зависимости между тестовыми примерами 

 (3) недостаточная подробность описания сценария теста 

 (4) отсутствие ожидаемого выходного результата 


Упражнение 3:
Номер 1
В состав статистики о прохождении тестов может входить следующая информация:

Ответ:

 (1) количество непокрытых строк исходного кода 

 (2) количество пройденных и не пройденных тестовых примеров 

 (3) не совпавшие ожидаемые и реальные выходные данные 

 (4) идентификаторы выполненных тестовых примеров 


Номер 2
На что может указывать не прошедший тестовый пример?

Ответ:

 (1) на дефект в требованиях 

 (2) на дефект в коде 

 (3) на дефект в тестовом драйвере 

 (4) на дефект в тестовом примере 


Номер 3
Если при изменении программного кода системы повторное выполнение тестов выявляет не прошедшие тестовые примеры, то причина может быть в

Ответ:

 (1) изменившихся требованиях 

 (2) изменившемся коде 

 (3) изменившемся тестовом окружении 

 (4) выявлении ранее замаскированных старых дефектов 


Упражнение 4:
Номер 1
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по строкам?
    
if ( (a == 0) && (b == 0)) {
	call_1();
} else {
	call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 1, b = 1 

 (2) 1) a = 1, b = 0; 2) a = 0, b = 0 

 (3) 1) a = 0, b = 1; 2) a = 1, b = 0 

 (4) 1) a = 1, b = 1; 2) a = 1, b = 0 


Номер 2
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по строкам?
    
if (a == 0) {
	if (b == 0) call_1();
} else {
	call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 0, b = 1; 3) a = 1; b = 0 

 (2) 1) a = 0, b = 0; 2) a = 1, b = 0 

 (3) 1) a = 0, b = 0; 2) a = 1, b = 1 

 (4) 1) a = 0, b = 1; 2) a = 1, b = 0 


Номер 3
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по строкам?
    
if (a == 0) {
	call_1();
} else {
	if (b > 0) call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 0, b = 1; 3) a = 1; b = 0 

 (2) 1) a = 0, b = 0; 2) a = 1, b = 1 

 (3) 1) a = 0, b = 1; 2) a = 1, b = 1 

 (4) 1) a = 0, b = 1; 2) a = 1, b = 0 


Упражнение 5:
Номер 1
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по ветвям?
    
if ( (a == 0) && (b == 0)) {
	call_1();
} else {
	call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 1, b = 1 

 (2) 1) a = 1, b = 0; 2) a = 0, b = 0 

 (3) 1) a = 0, b = 1; 2) a = 1, b = 0 

 (4) 1) a = 1, b = 1; 2) a = 1, b = 0 


Номер 2
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по ветвям?
    
if (a == 0) {
	if (b == 0) call_1();
} else {
	call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 1, b = 0; 3) a = 0, b = 1 

 (2) 1) a = 0, b = 0; 2) a = 1, b = 1; 3) a = 1, b = 0 

 (3) 1) a = 0, b = 1; 2) a = 1, b = 0 


Номер 3
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по ветвям?
    
if (a == 0) {
	call_1();
} else {
	if (b > 0) call_2();
}
    
    

Ответ:

 (1) 1) a = 0, b = 0; 2) a = 1, b = 1; 3) a = 1; b = 0 

 (2) 1) a = 0, b = 0; 2) a = 1, b = 1 

 (3) 1) a = 0, b = 1; 2) a = 0, b = 0; 3) a = 1; b = 1 

 (4) 1) a = 0, b = 1; 2) a = 0, b = 1; 3) a = 0; b = 0 


Упражнение 6:
Номер 2
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по cтрокам и условиям?
    
if ( (a == 0) && (b = 0) && (c == 1) {
	call_1();
} else {
	if (d == 1) call_2()
}
    
    

Ответ:

 (1) 1) a = 0, b = 0, c = 1, d = 1 ; 2) a = 1, b = 1, c = 0, d = 0 

 (2) 1) a = 0, b = 0, c = 1, d = 1 ; 2) a = 1, b = 1, c = 0, d = 0; 2) a = 1, b = 1, c = 0, d = 1 

 (3) 1) a = 1, b = 0, c = 1, d = 1 ; 2) a = 1, b = 1, c = 0, d = 0; 2) a = 1, b = 1, c = 0, d = 1 

 (4) 1) a = 0, b = 0, c = 1, d = 0 ; 2) a = 1, b = 1, c = 0, d = 0; 2) a = 1, b = 1, c = 0, d = 0 


Номер 3
Какие минимальные наборы тестовых примеров можно использовать для полного покрытия следующего участка программного кода по cтрокам и условиям?
    
if ( (a == 0) && (b = 0) && (c == 1) {
	if (d == 1) call_1();
} else {
	call_2()
}
    
    

Ответ:

 (1) 1) a = 0, b = 0, c = 1, d = 1 ; 2) a = 1, b = 1, c = 0, d = 0 

 (2) 1) a = 0, b = 0, c = 1, d = 1 ; 2) a = 0, b = 0, c = 1, d = 0; 2) a = 1, b = 1, c = 0, d = 1 

 (3) 1) a = 1, b = 0, c = 1, d = 1 ; 2) a = 1, b = 1, c = 0, d = 0; 2) a = 1, b = 1, c = 0, d = 1 

 (4) 1) a = 0, b = 0, c = 1, d = 0 ; 2) a = 1, b = 1, c = 0, d = 0; 2) a = 1, b = 1, c = 0, d = 0 


Упражнение 7:
Номер 1
Сколько нужно тестовых примеров для покрытия следующего участка программного кода по MC/DC?
    
if ( (a == 0) || (b == 0) || (c == 1) {
	call_1();
} else {
	call_2()
}
    
    

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 2
Сколько нужно тестовых примеров для покрытия следующего участка программного кода по MC/DC?
    
if ( (a == 0) && (b = 0) && (c == 1) {
	call_1();
} else {
	call_2()
}
    
    

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 3
Сколько нужно тестовых примеров для покрытия следующего участка программного кода по MC/DC?
    
if ( !(a == 0) && (b == 0) && (c == 1) {
	call_1();
} else {
	call_2()
}
    
    

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 8:
Номер 1
Какие проблемы может выявить анализ полноты покрытия тестами кода?

Ответ:

 (1) неполноту тестовых процедур 

 (2) неполноту требований 

 (3) никогда не выполняемый код 

 (4) неполноту программного кода 


Номер 2
Какие процедуры могут применяться тестировщиком для улучшения покрытия?

Ответ:

 (1) уточнение требований 

 (2) устранение никогда не выполняемого кода 

 (3) написание дополнительных тестовых примеров 

 (4) изменение уровня покрытия 


Номер 3
Какие процедуры могут применяться разработчиком для улучшения покрытия?

Ответ:

 (1) уточнение требований 

 (2) устранение никогда не выполняемого кода 

 (3) написание дополнительных тестовых примеров 

 (4) изменение уровня покрытия 




Главная / Программирование / Верификация программного обеспечения / Тест 6