Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture11.doc
Скачиваний:
17
Добавлен:
27.11.2019
Размер:
86.02 Кб
Скачать

Лекция № 11

Служба обеспечения качества – Quality Assurance (qa)

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

Отслеживание ошибок заключается в контроле процесса их исправления и сборе статистики о нем. В частности, составляются еженедельные отчеты для руководства:

  • Сводные отчеты за неделю об ошибках: выявленных (новых), исправленных, задержанных и т.д., отсортированных по приоритетам, по функциональным областям и пр.

  • Еженедельные отчеты о состоянии проекта, напр., в следующей форме:

Состояние проекта

Программа Сalcdog Выпуск 2.10

Отчет сгенерирован 08.03.01. Предыдущий отчет датирован 01.03.01.

На дату предыдущего

К-во неисправленных ошибок Сейчас отчета

Фатальных 113 100

Серьезных 265 220

Незначительных 333 300

Всего 711 620

С момента составления предыдущего отчета:

выявлено ошибок 182

исправлено ошибок 85

отложено исправление ошибок 7

Всего отложено исправление ошибок 118

Подобные сводные отчеты генерируются после каждого цикла тестирования и выпуска очередной версии. Они содержат информацию о динамике процесса разработки и качестве работы команды. В принципе, возможен сбор подобной статистики поименно по исполнителям для оценки уровня качества работы персонала, но это опасно с психологической точки зрения.

Cредства автоматизации тестирования

А. Автоматизация прогона тестов - актуально для регрессионного тестирования -

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

Это сравнительно просто делается для неинтерактивной программы, считывающей все входные данные из файла: пишется командный файл или скрипт. Существует стандарт IEEE скриптового языка для описания тестовых наборов. Для интерактивной программы приходится перенаправлять клавиатурный ввод и экранный вывод на файловые. Здесь две проблемы: невозможность задания временных параметров ввода и трудность формального определения ошибок видимых на экране. Первая проблема решаются специальными средствами перехвата и запоминания ввода с клавиатуры и мыши; процесс такой записи на порядок более трудоемкий, чем ручной ввод, поэтому затраты на нее окупаются только после десятого прогона тестового набора.

В целом разумно автоматизировать прогон только ограниченного набора тестов – «приемочного», в который включают наиболее важные тесты.

B. Средства автоматизации анализа результатов тестов:

  1. Отладчики стандартных систем программирования - помогают локализовать ошибку. Вопрос 1.

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

Профайлеры входят в состав стандартных отладчиков; существуют также специальные инструменты производства компании Rational:

Rational Pure Coverage - выявляет участки кода, пропущенные при тестировании: инструмент подсвечивает их красным цветом. То есть, он помогает убедиться, выполнен ли критерий С1.

Rational Quantify - генерирует в табличной форме список всех вызываемых в процессе работы приложения функций, указывая временные характеристики каждой из них. Это делается путем вставки счетчиков машинных циклов в код для каждого функциональ-ного блока тестируемой программы, включая все используемые ею компоненты (DLL, системные вызовы).

Rational Purify – собирает статистику об использовании памяти приложением, написанном на VC++, и позволяет локализовать ошибки: утечки памяти, потерянные блоки, фиктивные ссылки.

С. Средства автоматизации подготовки тестов

  • Генераторы случайных тестов в заданных классах входных данных.

  • Средства автоматической генерации структурных тестов, например, по методу "символического выполнения" Кинга.

Соседние файлы в предмете Информатика