Технология обеспечения качества Компилятора Александр Конев 4 февраля 2010
8/27/20122 Содержание Что такое качество? Качество Компилятора Инструментальная поддержка QA Легче найти ошибку, чем истину
8/27/20123 Что такое качество? В программном продукте (ПП) есть ошибка (баг), если ПП не выполняет того, что пользователю разумно от него ожидать. Надежность ПП есть вероятность его работы корректно и без отказов в течение определенного периода времени. Баги бывают разной серьезности. Требования к надежности Компилятора очень высокие.
8/27/20124 Что такое качество? Способы достижения надежности: Культура программирования и технология Язык программирования и инструментарий Качественное тестирование
8/27/20125 Что такое качество? Стоимость: Проектирование Программирование Тестирование Сопровождение Г. Майерс Надежность программного обеспечения М. «Мир» 1980
8/27/20126 Содержание Что такое качество? Качество Компилятора Инструментальная поддержка QA Легче найти ошибку, чем истину
8/27/20127 Качество Компилятора Stability – Компилятор работает корректно и без сбоев. Важнейший критерий качества. Performance – Компилятор генерирует эффективный код. Основной критерий сравнения с конкурентами. Время компиляции – для оптимизирующего компилятора вспомогательный критерий.
8/27/20128 Жизненный цикл ПП
8/27/20129 Зачем измерять качество? Качество – абстрактное понятие, но жизь заставляет иметь конкретные оценки. Не ухудшилось ли качество очередной версии Компилятора? При развитии Компилятора или исправлении бага, могут появиться новые баги. Качество следует контролировать постоянно, и поэтому должны быть критерии.
8/27/ QA mainline Quality Assurance – (Гарантия качества) Запланированный набор систематических деятельностей гарантирующий, что любые отклонения от процесса четко определены, проанализированы и направлены на его улучшение для достижения более точного соответствия с поставленными требованиями.
8/27/ beta Feature freeze Code freeze Planning Design Development Testing & Debugging Deployment Planning Design Development
8/27/ Несколько из критериев Процент прохождения тестов общий на ключевые features Регрессия в сравнении с предыдущей версией Количество дефектов Улучшение Performance
8/27/ Stability Ежедневных 6 тестовых прогонов на различных платформах Более 60 различных недельных тестовых прогонов Performance Еженедельные прогоны на 6 платформах на большом многообразии классов машин
8/27/ Содержание Что такое качество? Качество Компилятора Инструментальная поддержка QA Легче найти ошибку, чем истину
8/27/ Инструментальная поддержка QA Тестовая база NetBatch Test harness & TRAQ Bug tracking system TMT
8/27/ Тестовая База Структурированное хранилище тестов и всего необходимого для их исполнения Тесты объединены в сюиты Позволяет определить специфические условия исполнения для каждого теста или для всей сюиты
8/27/ Тестовая База Тесты на покрытие Большие приложения Regression тесты Тесты, полученные генератором тестов
8/27/ NetBatch Множество машин нескольких классов с системой распределения задач по машинам. Обеспечивает выделение машины под задачу согласно классу. Машины одного базового класса «одеты» одинаково.
8/27/ Test harness Построение Компилятора Исполнение набора тестовых сюит или отдельных тестов Распараллеливание тестового прогона на несколько машин различных конфигураций Управление множественными прогонами Запись результатов в TRAQ Генерация отчетов
8/27/ Mainline 12.0 Intel(R)64 Linux rel_el40_ntv SUMMARY Quality of test run: moderate,
8/27/ TRAQ База данных для результатов тестирования. Хранятся только падения тестов. Причина падения: номер бага в ClearQuest. Кто записал номер бага. Сообшение при падении. Результат ChangeSet анализа
8/27/ Bug Tracking System Bugzilla, Mantis, RequestTracker, ClearQuest Функции: Учет и регистрация найденных дефектов или заданий для разработки Классификация дефектов Поддержка жизненного цикла дефекта Сохранение истории коммуникации по дефектам
8/27/ ClearQuest Осмысленное краткое название Как воспроизвести Тест Платформа / environment configuration Версия продукта Краткий протокол исполнения Приоритет Виновная компонента / changeset Рекомендации по исправлению (если есть)
8/27/ ClearQuest Bug status: New Assigned Implemented Verified Closed Deferred Bug resolution: Cannot Reproduce Duplicate Not a Defect Software Change Will Not Fix
8/27/ TMT
8/27/ Гораздо легче найти ошибку, чем истину Иоганн Вольфганг Гете Для программиста найти ошибку – это счастье; но большее счастье найти ошибку у другого программиста. Андрей Петрович Ершов Вам интересно ежедневно разгадывать ребусы? Из объявления о вакансии тестировщика