- •Алгоритм линейного поиска в одномерном массиве. Зависимость затрат на линейный поиск в среднем и в худшем случае от числа элементов массива. Улучшение линейного поиска: поиск с барьером.
- •Алгоритм двоичного поиска в одномерном отсортированном массиве. Зависимость затрат на двоичный поиск в среднем и в худшем случае от числа элементов массива.
- •3. Последовательная и связанная память. Представление линейных списков в последовательной и связанной памяти. Достоинства и недостатки того и другого представления.
- •Стеки и очереди в непрерывной памяти
- •Представление стека в связаннной памяти
- •Представление очереди в непрерывной памяти
- •Представление очереди в связаннной памяти
- •5. Понятие обхода дерева. Виды обходов двоичного дерева. Определение структуры двоичного дерева по двум заданным обходам. Рекурсивные алгоритмы обходов двоичных деревьев.
- •Примеры обходов должны различаться в ответах разных студентов
- •7. Деревья поиска. Алгоритм исключения узла из дерева поиска.
- •8 Понятие программного обеспечения, тенденции развития программного обеспечения.
- •It-услуги
- •9.1 Функциональная и объектно-ориентированные стратегии разработки по
- •Функционально-ориентированная стратегия разработки по (фос)
- •Объектно-ориентированная стратегия разработки по (оос)
- •10 - Основные принципы ооп
- •11.1 - Принципы отладки программных систем.
- •12.1 - Обобщенные и элементарные критерии качества программного обеспечения.
- •12.2 - Обобщенные и элементарные критерии качества программного обеспечения.
- •13.1- Организация коллективов программистов и разработчиков
- •13.2- Организация коллективов программистов и разработчиков
- •14. Тестирование программного обеспечения. Автономное и комплексное тестирование см. Также распечатку гэ_г_тестирование, структуру ответа - лучше по ней
- •14.2 - Тестирование программного обеспечения. Автономное и комплексное тестирование
- •Автономное и комплексное тестирование
- •14.3 - Тестирование программного обеспечения. Автономное и комплексное тестирование алгоритм тестирования подпрограммы / метода (модулей)
- •15.1 - Понятие класса и объекта. Конструкторы и деструкторы.
- •15.2 - Понятие класса и объекта. Конструкторы и деструкторы.
- •16 - Статические и виртуальные методы
14.2 - Тестирование программного обеспечения. Автономное и комплексное тестирование
ЛУЧШЕ ВЗЯТЬ ИЗ РАСПЕЧАТКИ ГЭ_Г_ТЕСТИРОВАНИЕ – ТАМ ОТФОРМАТИРОВАНО
Рекомендации:
Если в спецификации явно указано, что какая-то переменная лежит в каком-то диапазоне, то сразу можно определить 2 КЭ. Пример: 0< X<100. КЭ: 0< X<100; X<=0 и X>100
Если известно, что входная переменная принимает набор дискретных значений, то 1 КЭ будет содержать эти значения, а 2й – все остальные. (N = 1-25; N = 0,26 - ..)
Если в спецификации сказано, что какой-то параметр должен принимать ограниченное кол-во значение (например, символьная строка должна начинаться с букв). КЭ должны строиться на этой основе.
КЭ строятся в виде комбинации этих условий
Выделяют правильные и неправильные КЭ [Объединяет набор данных, с которыми программа работать не будет, или должно выдастся диагностическое сообщение]
Метод граничных условий
Предусматривает формирование тестовых наборов на границе КЭ или близко к этим границам и, во вторых на границах областей результатов.
ЛУЧШЕ ВЗЯТЬ ИЗ РАСПЕЧАТКИ ГЭ_Г_ТЕСТИРОВАНИЕ – ТАМ ОТФОРМАТИРОВАНО
Пример1 0<x<100; ТН: X = 0; 0.01; 100; 0.999
Пример2 N = 1..25; ТН X = 1, 0, 25, 26
Рассчитывается вероятность чего-либо. Надо подобрать ТН так чтобы P = 0 / P=1
Разрабатываем поисковую систему.
Нужно ввести последовательно 100 результатов. Подбираем ТН так чтобы было 0/1/100/101 документ(ов)
Основное кол-во ошибок – на границах области
Метод ГУ надо использовать для тестирования.
Автономное и комплексное тестирование
АВТОНОМНОЕ ТЕСТИРОВАНИЕ
Тестирование только одной подпрограммы (модуля, метода) без вовлечения в процесс остальных компонентов системы. Осуществляется разработчиком подпрограммы.
Для АТ используют специальные средства.
Вызывающая подпрограмма (имитирует вызов и набор входных данных).
Заглушки для подпрограмм, которые метод вызывает.
КОМПЛЕКСНОЕ ТЕСТИРОВАНИЕ
Разрешается вовлекать уже созданные к данному моменту компоненты системы (осуществляется руководителем проекта)
-

Включение и тестирование работающего модуля (метода) в составе работающего прототипа.
Вызывающая программа уже существует, необходимы только заглушки.
Чаще использует методы черного ящика
СРАВНЕНИЕ
|
Автономное |
Комплексное |
|
Большие затрат труда, но меньше времени на само тестирование |
Быстрее обнаруживаются ошибки во взаимодействии между компонентами и в интерфейсе ПС (межмодульное, межпрограммное взаимодействие). |
|
Позволяет распараллелить работу над модулями. |
Охватывается большее количество вариантов |
|
Без автономного тестирования комплексное займет много времени. |
Без комплексного тестирования нельзя быть уверенным в работоспособности системы. |
Основное тестирование – КТ, которое начинается после создания 1-го прототипа программы.
14.3 - Тестирование программного обеспечения. Автономное и комплексное тестирование алгоритм тестирования подпрограммы / метода (модулей)
1 шаг - МЭР: тестовые наборы (классы эквивалентности), провести тестирование (выбирая по 1 тестовому набору), исправить ошибки
2 шаг - МГУ: тестовые наборы для входных данных и для результата, провести тестирование, исправить ошибки
3 шаг. Анализировать, покрыты ли все линии передачи управления в результате шш.1-2. Если нет, то составить покрывающий их тестовый(ые) набор(ы).
4 шаг. Используя знания составить дополнительные тестовые наборы (опираясь на интуицию).
Комплексное тестирование (используем стратегию черного ящика)
Т-е на предельных объемах – проверка работоспособности системы, когда объем входных данных является наиболее полным. Требует применение доп. средств.
Т на предельных нагрузках – актуально для системы работающей в реальном времени
Т средств обеспечения безопасности и защиты (от несанкционированного доступа) – ключи, коды, шифры
Тестирование производительности, Время отклика системы – показатель производительности. Кол-во обрабатываемых запросов в ед. времени. Компилятор – Кол-во строк в ед. времени.
Т требований к памяти. Сколько места занимает система в оперативной памяти.
T Интерфейса. Доп требования – дружественность, удобство, лаконичность, соответствие предметной области
T совместимости. Совместимость с предыдущими версиями. То есть программа, написанная на старой версии должна работать и на новой версии “снизу-вверх’. Иначе будет потеряна преемственность – новой разработкой будет пользоваться только новички
T надежности. Долгосрочность – “время наработки на отказ”. Кол-во ошибок обнаруженное в течение какого-либо времени эксплуатации.
Т восстановления. Специальные программные средства для восстановления после ошибок/сбоя. Такие ср-ва тоже должны тестироваться. Транзакция – набор/последовательность действий, которые либо все выполняются до конца, либо не одна из них не выполняется. Если в процессе выполнения транзакции произошел сбой, то надо восстановить всё.
Т инсталляции. Тестируется программа инсталляции. Такое тестирование проводиться только для крупных программных проектов.
Не ко всем типам ПС применимы все типы тестирования.
