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

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

Упражнение 1:
Номер 1
Перечислите типы входных данных, обычно используемых для разработки тестовых примеров.

Ответ:

 (1) допустимые данные 

 (2) недопустимые данные 

 (3) граничные данные 

 (4) случайные данные 


Номер 2
Укажите минимально необходимый набор входных данных для тестирования арифметических функций.

Ответ:

 (1) штатные данные, граничные данные, проверка на робастность 

 (2) штатные данные, случайные данные, недопустимые данные 

 (3) граничные данные, проверка на робастность 

 (4) штатные данные, проверка на робастность, нештатное состояние среды выполнения 


Номер 3
Укажите количество и тип классов эквивалентности при тестировании функции сравнения двух строк. Классы необходимо выделять в зависимости от длины сравниваемых строк.

Ответ:

 (1) 3 класса: пустые строки, строки средней длины, строки максимальной длины 

 (2) 2 класса: строки средней длины, строки максимальной длины 

 (3) 3 класса: пустые строки, строки максимальной длины, строки длиннее максимальной длины 

 (4) 4 класса: пустые строки, строки средней длины, строки максимальной длины, строки длиннее максимальной длины 


Упражнение 2:
Номер 1
Допустимый интервал значений для чисел a и b - от 0 до 10 включительно. Для тестирования функции сравнения двух чисел на равенство a == b необходимы следующие тестовые примеры (тестирование на робастность не проводится):

Ответ:

 (1) a = 3, b = 5, значение функции = false 

 (2) a = 3, b = 3, значение функции = true 

 (3) a = 0, b = 0, значение функции = true 

 (4) a = 10, b = 10, значение функции = true 

 (5) a = 0, b = 10, значение функции = false 

 (6) a = 10, b = 0, значение функции = false 


Номер 2
Допустимый интервал значений для целых чисел a и b - от 0 до 10 включительно. Для тестирования функции сравнения двух чисел на строгое неравенство a < b необходимы следующие тестовые примеры (тестирование на робастность не проводится):

Ответ:

 (1) a = 5, b = 6, значение функции = true 

 (2) a = 5, b = 4, значение функии = false 

 (3) a = 6, b = 6, значение функции = false 

 (4) a = 0, b = 0, значение функции = false 

 (5) a = 0, b = 10, значение функции = true 

 (6) a = 10, b = 0, значение функции = false 

 (7) a = 10, b = 10, значение функции = false 


Номер 3
Допустимый интервал значений для целых чисел a и b - от 0 до 10 включительно. Для тестирования функции сравнения двух чисел на нестрогое неравенство a >= b необходимы следующие тестовые примеры (тестирование на робастность не проводится):

Ответ:

 (1) a = 5, b = 6, значение функции = false 

 (2) a = 5, b = 4, значение функии = true 

 (3) a = 6, b = 6, значение функции = true 

 (4) a = 0, b = 0, значение функции = true 

 (5) a = 0, b = 10, значение функции = false 

 (6) a = 10, b = 0, значение функции = true 

 (7) a = 10, b = 10, значение функции = true 


Упражнение 3:
Номер 1
Необходимо протестировать следующую функцию на соответствие требованию "Функция должна возвращать значение 2, если на вход ей передано значение 3, и значение 3, если на вход ей передано значение 2". Какой из вариантов входных значений выявит несоответствие функции требованиям?
    
int inverse(int a)
{
	if (a == 2) return 3;
	else if (a == 3) return 2;
	else return 2;
}
    
    

Ответ:

 (1) a = 2 

 (2) a = 3 

 (3) a = 0 

 (4) a = 5 


Номер 2
Необходимо протестировать следующую функцию на соответствие требованиям: Функция должна возвращать значение 1, если на вход ей передано значение больше 10; значение 0, если на вход ей передано значение меньше 10 и больше 0; значение -1, если на вход ей передано значение меньше 0. Какой из вариантов входных значений выявит неполноту требований?

int inverse(int a)
{
  if (a > 10) return 1;
  else if ((a < 10) && (a > 0)) return 0;
  else return -1;
}


Ответ:

 (1) a = 8 

 (2) a = 12 

 (3) a = 10 

 (4) a = 0 


Номер 3
Необходимо протестировать следующую функцию на соответствие требованию "Функция должна возвращать значение 2, если на вход ей передано значение 3, и значение 3, если на вход ей передано значение 2". Какой из вариантов входных значений выявит несоответствие функции требованиям?
    
int inverse(int a)
{
	if (a == 2) return 3;
	else return 2;
}
    
    

Ответ:

 (1) a = 2 

 (2) a = 3 

 (3) a = -2 

 (4) a = 5 


Упражнение 4:
Номер 1
Существует программа, работа которой описывается следующим требованием "Программа должна принимать три параметра - файл, исходный каталог и целевой каталог и копировать указанный файл из исходного каталога в целевой." Укажите, какие наборы тестовых примеров следует использовать для указания того, что требование описывает поведение программы не полностью.

Ответ:

 (1) переданные в качестве параметров файл, исходный каталог и целевой каталог существуют 

 (2) переданные в качестве параметров файл, исходный каталог и целевой каталог существуют и в целевом каталоге имеется файл с таким же именем, что и у исходного 

 (3) в программу переданы три параметра: файл, исходный каталог и целевой каталог, но доступ на запись в целевой каталог запрещен 

 (4) в программу передано меньше трех параметров 


Номер 2
Существует программа, работа которой описывается следующим требованием "Программа должна принимать два параметра - имя файла и имя пользователя, после чего создавать пустой файл, право чтения которого имеет только указанный пользователь." Укажите, какие наборы тестовых примеров следует использовать для указания того, что требование описывает поведение программы не полностью

Ответ:

 (1) имя файла и имя пользователя переданы в качестве параметров, пользователь существует в системе 

 (2) имя файла и имя пользователя переданы в качестве параметров, пользователь не существует в системе 

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

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


Номер 3
Существует программа, работа которой описывается следующим требованием "Программа должна принимать два параметра - два имени файла, после чего создавать копию первого файла с именем второго файла" Укажите, какие наборы тестовых примеров следует использовать для указания того, что требование описывает поведение программы не полностью

Ответ:

 (1) имена файлов переданы в качестве параметров, файла со вторым именем не существует 

 (2) имена файлов переданы в качестве параметров, до запуска программы уже существует файл со вторым именем 

 (3) имена файлов переданы в качестве параметров, файлы существуют, на диске отсутствует свободное место 

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


Упражнение 5:
Номер 1
Выберите верные утверждения

Ответ:

 (1) тест-планы пишутся на основе тест-требований 

 (2) тест-планы определяют последовательность действий тестировщика, необходимых для выполнения каждого тестового примера 

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

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


Номер 2
Выберите верные утверждения

Ответ:

 (1) тест-план определяет конкретный сценарий проведения тестов 

 (2) тест-требования определяют, какая функциональность системы должна быть протестирована 

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

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


Номер 3
Выберите верные утверждения

Ответ:

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

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

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

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


Упражнение 6:
Номер 1
Выберите классы эквивалентности для имени файла:

Ответ:

 (1) содержит только буквы и цифры 

 (2) содержит спец-символы 

 (3) содержит пробелы 

 (4) задано в виде полного или краткого пути 

 (5) имеет длину больше максимально возможной в операционной системе 


Номер 2
Выберите классы эквивалентности для треугольника, заданного своими сторонами:

Ответ:

 (1) треугольник с нулевой длиной сторон 

 (2) треугольник, у которого сумма двух сторон равна третьей 

 (3) треугольник, у которого сумма двух сторон больше третьей 

 (4) прямоугольный равнобедренный треугольник 


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

Ответ:

 (1) изображение нулевого размера 

 (2) изображение, размер которого равен размеру свободной памяти 

 (3) изображение, размер которого равен размеру файла подкачки 

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


Упражнение 7:
Номер 1
Укажите на проблемы, которые существуют при тестировании граничных диапазонов у чисел с плавающей запятой

Ответ:

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

 (2) слишком большие интервалы значений 

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

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


Номер 2
Укажите основные причины тестирования классов эквивалентности

Ответ:

 (1) обобщение результатов тестирования на большое число различных входных данных 

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

 (3) проведение автоматизированного полного перебора всех входных значений вместо ручного 

 (4) сохранение результатов тестирования при изменении классов эквивалентности 


Номер 3
Укажите основные критерии выбора классов эквивалентности

Ответ:

 (1) в один класс попадают все входные значения, для которых одинаково выходное значение системы 

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

 (3) всегда существует как минимум 2 класса эквивалентности 

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


Упражнение 8:
Номер 1
Укажите требования, которые невозможно протестировать при помощи тестовых примеров

Ответ:

 (1) проверить, что программа работает правильно 

 (2) проверить, что создаваемые файлы имеют нужные права доступа 

 (3) проверить, что если программа вызвана менее чем с тремя параметрами командной строки, выводится сообщение об ошибке "Недостаточно параметров" 

 (4) проверить, что если программа работает дольше 5 секунд, то на экран выводится сообщение "Подождите" 


Номер 2
Укажите требования, которые невозможно протестировать при помощи тестовых примеров

Ответ:

 (1) проверить, что программа складывает два числа в соответствии с правилами десятичной арифметики 

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

 (3) проверить, что при отсутствии файла конфигурации программа запускается с настройками по умолчанию 

 (4) проверить, что программа работает достаточно быстро 


Номер 3
Укажите требования, которые невозможно протестировать при помощи тестовых примеров

Ответ:

 (1) проверить, что в случае отсутствия прав доступа на запись к выходному файлу, программа завершает свое выполнение с кодом ошибки 12. 

 (2) проверить, что сочетания клавиш, используемые в программе, интуитивно понятны 

 (3) проверить, что сообщения об ошибках, выдаваемые программой выводятся красным цветом в диалоговом окне с заголовком "Ошибка" 

 (4) проверить, что программу невозможно завершить 




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