Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзаменационные вопросы / Ответы на вопросы _ От Ежа.doc
Скачиваний:
54
Добавлен:
01.05.2014
Размер:
172.54 Кб
Скачать

27. Тестирование программных изделий. Методы и критерии тестирования. Понятие теста. Основные принципы тестирования.

Тестирование– это контролируемое выполнение программы на конечном множестве наборов данных и анализ результатов этого выполнения с целью обнаружения ошибок (динамическоетестирование).Статическоетестирование не требует выполнения программы.

Методы тестирования –это совокупность правил, регламентирующих последовательность шагов по тестированию.

Критерии тестирования– соображения, позволяющие судить о достаточности проведенного тестирования.

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

Удачный тест, если обнаружили ошибку. Тогда тестирование – процесс деструктивный (обратный созидательному, конструктивному).

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

(возможно лишнее) Особенности тестированияПП в отличие от аппаратного тестирования: 1. Отсутствие полностью определенного единого эталона, которому должны соответствовать все результаты тестирования проверяемой программы; 2. Высокая сложность программ и принципиальная невозможность построения тестовых наборов, достаточных для исчерпывающего тестирования; 3. Наличие в программах вычислительных и логических компонент, а также компонент, характеризующихся стохастическим и динамическим поведением; 4. Относительно невысокая степень формализации критериев завершения процесса тестирования и оценки качества тестирования.

Основные принципытестирования: 1.Описание предполагаемых значений выходных данных или результатов; 2. Следует избегать тестирования программы ее автором. Авторы отлаживают; 3. Организация не должна сама тестировать разработанные ею программные продукты; 4. Необходиимо досконально изучать результаты применения каждого теста; 5. Тесты для неправильных и непредусмотренных входных данных следует разрабатывать так же тщательно, как для правильных и предусмотренных данных; 6. Необходимо проверять программу на нежелательные побочные эффекты; 7. Не следует выбрасывать тесты, даже если программа уже не нужна; 8. Нельзя планировать тестирование в предположении, что ошибки не будут обнаружены.

28. Объекты тестирования. Категории тестов, для различных объектов тестирования.

Объекты тестирования: 1. Спецификации программных модулей, групп программ и программных комплексов; 2. Программные модули (код программных модулей); 3. Группы программ, решающие законченные функциональные задачи; 4. Комплексы программ, для которых завершены все виды отладки; 5. Программные средства, подлежащие испытаниям перед сдачей в эксплуатацию; 6. Сопровождаемый программный продукт до завершения его жизненного цикла.

От 1 к 4 сложность тестирования возрастает. Трудоемкость тестирования всей совокупности программных модулей, может быть выше, чем сложность тестирования при испытаниях и сопровождении. Уровень разработки тестов зависит от объектов. Методы тестирования прогр-х модулей написанных на процедурных языках исследованы хорошо, на объектно-ориентированных плохо, а для комплексов ваще нихера нет. Чес сложней объект тем больше затрат на его тестирование. Автоматизация тестирования есть только для процедурных языков программирования.

Категории тестовдля вышеописанных объектов тестирования (На этапе тестирования): 1) • полноты и согласованности функций программных компонент; • согласованности интерфейса в спецификациях программных компонент. 2) • структуры программного модуля; • вычислений и преобразований данных программным модулем; • полноты функций, выполняемых модулем. 3) • структуры группы программ; • межмодульного интерфейса в группе программ; • выполнения ограничений по использованию памяти и длительности исполнения группы программ; • полноты решения функциональных задач группой программ. 4) • полноты решения функциональных задач комплексом программ для типовых исходных данных; • функционирования программ в критических ситуациях по условиям и логике решения задач; • корректности использования ресурсов памяти и производительности вычислительной системы; • параллельного (одновременного) исполнения различных программ; • эффективности защиты от искажения входных данных; • определения надежности комплекса программ; • оценки эффективности защиты от сбоев аппаратуры и не выявленных ошибок программ. 5) • испытаний на соответствие комплекса программ техническому заданию; • удобства эксплуатации и взаимодействия человека с комплексом программ; • удобства установки и подготовки рабочей версии; • работы комплекса программ при конфигурациях оборудования; • корректности документации; • удобства сопровождения и модификации программ. 6) практически все вышеперечисленные. Сопровождение является процессом создания программ или его отдельных компонентов (редко применяем все категории тестов).

Одним из общих принципов тестирования ПО является проведение работ по тестированию в течение всего ЖЦ.