Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на экзамен.docx
Скачиваний:
103
Добавлен:
17.11.2019
Размер:
1.58 Mб
Скачать

24 (13). Тестирование программ. Классификация видов тестирования по степени знания системы.

Ответ:

Классификация видов тестирования по степени знания системы:

  1. Тестирование чёрного ящикам – тестировщик производит тестирование, не имея информации о том, как устроена система изнутри. Идеи для тестирования идут от предполагаемого поведения пользователей.

  2. Тестирование белого ящика – противоположность методу Черного ящика. Тестирование производится на основании информации, как устроена система изнутри. Обычно производится самими программистами.

  3. Тестирование серого ящика – подход сочетает в себе как белый, так и черный ящики. Это информированное тестирование, ориентированное на пользователя.

25 (14). Тестирование программ. Классификация видов тестирования по времени проведения и признаку позитивности сценариев.

Ответ:

Классификация видов тестирования по времени проведения:

  1. Альфа-тестирование – имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки.

  2. Бета-тестирование – в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц, с тем чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.

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

  4. Аттестационное тестирование используется для того, чтобы определить, соответствует ли реализация системы стандарту, на котором основана данная реализация.

Классификация видов тестирования по признаку позитивности сценариев:

  1. Позитивное тестирование – это тестирование на данных или сценариях, которые соответствуют нормальному (штатному, ожидаемому) поведению системы.

Основная цель – проверка того, что при помощи системы можно делать то, для чего она создавалась.

  1. Негативное тестирование – это тестирование на данных или сценариях, которые соответствуют нештатному поведению тестируемой системы – различные сообщения об ошибках, исключительные ситуации, «запредельные» состояния и т.п.

Основная цель – проверка устойчивости системы к воздействиям различного рода, валидация неверного набора данных, проверка обработки исключительных ситуаций (как в реализации самих программных алгоритмов, так и в логике бизнес-правил).

  1. Дымовое тестирование – это быстрое, неглубокое тестирование, на наиболее простых или типичных сценариях, с минимумом проверок (чтобы только дыма не было). Оно может выполняться как на позитивных, так и на негативных данных.

26. Массивы, структуры, перечисления С++.

Ответ:

Массивы

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

Пример: long height[6];

Инициализация – это задание начальных значений переменной.

Пример инициализации массива:

int a[4] = {4, -6, 5, -3};

int b[]= {4, -6, 5, -3}; //компилятор автоматически определит размер

Пример определения двухмерного массива: double mas[12][10];

Cтруктуры

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

Пример объявления структуры:

struct BOOK {

char Title[80];

char Author[80];

char Publisher[80];

int Year;

};

BOOK Novel; // Объявление переменной Novel типа BOOK

Novel = {

“Paneless Programming”, // Начальное значение Title

«I.C. Fingers», // Начальное значение Author

«Gutter Press», // Начальное значение Publisher

1981 // Начальное значение Year

};

Novel. Year = 1988;

Перечисления C++

Перечисления служат для объявления символьных имен, представляющих целочисленные константы. Тип перечисления использует ключевое слово enum.

Пример: enum week {mon, tues, wed, thurs, fri, sat, sun} thisWeek1;

week thisWeek2; //Объявления переменной типа week

thisWeek1 = thurs;

Символические имена, перечисленные между фигурными скобками, называются перечислителями. Фактически каждое такое имя автоматически представляется компилятором как фиксированное целочисленное значение. Первое имя в списке – mon – получает значение 0, tues – 1 и т.д.

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

Пример: enum week {mon = 1, tues, wed, thurs, fri, sat, sun};

Теперь номера констант перечислителя будут располагаться от 1 до 7. Можно определить одно и тоже значение нескольким пере числителям.