2. Качество ПО
Качество программного
обеспечения - это совокупность
характеристик ПО, относящихся к
его способности удовлетворять
установленные и предполагаемые
потребности.
[ISO 8402:1994 Quality
management and quality assurance]
Качество программного
обеспечения - это степень, в
которой ПО обладает требуемой
комбинацией свойств .
[1061-1998 IEEE Standard for
Software Quality Metrics
Methodology]
3. Обеспечение качества
Обеспечение качества (Quality Assurance - QA) - это совокупность
мероприятий, охватывающих все технологические этапы разработки, выпуска
и эксплуатации программного обеспечения (ПО), предпринимаемых на разных
стадиях жизненного цикла ПО, для обеспечения качества выпускаемого
продукта.
Контроль качества (Quality Control - QC) - это совокупность действий
проводимых над объектом тестирования в процессе разработки для
получения информации об актуальном состоянии объекта тестирования в
разрезах: "готовность Продукта к выпуску", "Соответствие зафиксированным
требованиям", "Соответствие заявленному уровню качества продукта".
Тестирование программного обеспечения - это одна из техник контроля
качества, включающая в себя активности по планированию работ,
проектированию тестов , выполнению тестирования и анализу полученных
результатов.
9. Место QA в разработке ПО
Задача Анализ Требования
Нет
Согласование
Да
Эксплуатация Разработка
Выпуск Тестирование
Нет
Ошибки
Да
10. Тестирование в SCRUM
Демонстрация
Ретроспектива
Планирование
следующего
спринта
неделя 1 неделя 2 неделя 3
11. Процесс разработки
Разработка
Разработка
Требований
Требований Регрессионное
Регрессионное
Задача в в Jira
Задача Jira
Авто
Авто Ручное
Ручное
Разработка ПО
Разработка ПО Разработка Тестов
Разработка Тестов
Ошибки
Ошибки
Версия ПО 11
Версия ПО
Тест-кейсы
Тест-кейсы
Отчёт в в Jira
Отчёт Jira
Дымное
Дымное Тестирование
Тестирование
задачи по плану
задачи по плану
Данные
Данные
Ошибки
Ошибки
Авто
Авто Ручное
Ручное Нагрузочное
Нагрузочное
Скрипты
Скрипты
Отчёт в в Jira
Отчёт Jira
Ошибки
Ошибки Ошибки
Ошибки
Версия ПО 22
Версия ПО Тест-план
Тест-план
Отчёт в в Jira
Отчёт Jira Отчёт в в Jira
Отчёт Jira
Принятие решения оо
Принятие решения Отчёт оо тестировании
Отчёт тестировании
выпуске
выпуске
13. Производители средств
• Quality Center • QAComplete • ClearQuest
• Quick Test Pro • TestComplete • Requirements
Composer
• Load Runner • LoadComplete
• Functional Tester
• Performance
Tester
14. Выбор решений
HP SmartBear IBM
Цена Высокая Низкая Высокая
Масштабируемость
Отлично Отлично Отлично
(по нагрузке)
Масштабируемость
Отлично Отлично Хорошо
(по модифицируемости)
Качество техподдержки Удовлетворительно Отлично Хорошо
Юзабилити
Средние Низкие Высокие
(Требования к обучению)
Рыночная доля 55% 5% 20%
Интегрируемость с другими
Низкая Низкая Низкая
продуктами
Встраиваемость в процесс CI
(сборки, юнит тестирования,
Удовлетворительно Отлично Удовлетворительно
автоматического
тестирования)
Экспертная оценка Никотех Хорошо Отлично Удовлетворительно
Добрый день, коллеги! В рамках этой презентации мы хотим продемонстрировать методику и результаты внедрения процесса обеспечения качества в вашей компании.
Два определения качества ( ISO и IEEE ). Диаграмма качества в различных разрезах.
Эволюция тестирования ПО. От простого к сложному Верификация – Тестирование – Контроль качества – Обеспечение качества.
Верхний уровень иерархии видов тестирования. Разделение на виды в зависимости от преследуемой цели.
Функциональные тесты базируются на функциях и особенностях, а также взаимодействии с другими системами, и могут быть представлены на всех уровнях тестирования: компонентном или модульном ( Component / Unit testing ), интеграционном ( Integration testing ), системном ( System testing ) и приемочном ( Acceptance testing ). Функциональные виды тестирования рассматривают внешнее поведение системы. Далее перечислены одни из самых распространенных видов функциональных тестов: Функциональное тестирование рассматривает заранее указанное поведение и основывается на анализе спецификаций функциональности компонента или системы в целом. Тестирование безопасности: - Конфиденциальность - Целостность - Доступность Тестирование взаимодействия - это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами и включающее в себя тестирование совместимости (compatibility testing) и интеграционное тестирование ( i ntegration testing) .
Нефункциональное тестирование описывает тесты, необходимые для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. В целом, это тестирование того, "Как" система работает.
После проведения необходимых изменений, таких как исправление бага/дефекта, программное обеспечение должно быть пере тестировано для подтверждения того факта, что проблема была действительно решена. Ниже перечислены виды тестирования, которые необходимо проводить после установки программного обеспечения, для подтверждения работоспособности приложения или правильности осуществленного исправления дефекта.
Тестирование на разных уровнях производится на протяжении всего жизненного цикла разработки и сопровождения программного обеспечения. Уровень тестирования определяет то, над чем производятся тесты: над отдельным модулем, группой модулей или системой, в целом. Проведение тестирования на всех уровнях системы - это залог успешной реализации и сдачи проекта.
Диаграмма типичного процесса разработки. На достаточно высоком уровне абстракции. QA здесь участвует в анализе, приёмке требований, разработке методик тестирования, а также тестовых данных, и непосредственно в тестировании.
Внедрение методики SCRUM в процесс разработки. На диаграмме представлен план трёхнедельного спринта. Основная идея в максимальной декомпозиции задач. К концу первой недели есть задачи для тестирования и тестовые данные по ним. Третья неделя – завершение разработки и отладка багов. Конец спринта – ретроспектива, демо и планирование.
Диаграмма процесса в XXX , полученная на основе объединения двух предыдущих (встраивание SCRUM в процесс разработки). Голубой внешний контур – рамки спринта. Зелёный внутренний контур – рамки задачи. Разработка задачи и тестовых объектов происходит одновременно. В конце спринта производится регресс и опционально – нагрузочное тестирование. По всем багам – отчёты и доработка (жирная линия). По окончании – финальный репорт и принятие решения о выпуске.
Обзор групп средств автоматизации процесса тестирования.
Обзор пакетов автоматизации главных игроков рынка QA.
Сравнительная таблица и обоснование выбора.
Средства, внедрённые в XXX. Далее обзор артефактов тестирования.