Перейти к основному содержимому

SQA: обеспечение качества ПО

SQA (Software Quality Assurance) — процесс для обеспечения соответствия ПО установленным стандартам и требованиям. Это система подходов, которая интегрирована в процесс разработки, чтобы гарантировать качество на всех этапах.

Почему важно SQA?

  • Обеспечение соответствия ПО требованиям и ожиданиям пользователей
  • Раннее выявление и устранение дефектов
  • Снижение затрат на исправление ошибок на поздних стадиях разработки
  • Повышение доверия и лояльности пользователей

Основные аспекты SQA

  • Планирование и анализ требований: определение требований к качеству и разработка плана его обеспечения
  • Процессы и методологии разработки: внедрение практик разработки (Agile, Scrum, DevOps)
  • Документирование и стандарты: создание и поддержка документации, стандартизация процессов и методов тестирования.
  • Тестирование ПО: проверка соответствия ПО требованиям, поиск и устранение дефектов.
  • Контроль качества (QC): мониторинг и проверка соответствия результатов требованиям и стандартам.
  • Анализ и улучшение процессов

Примеры применения

  • Внедрение методологии Agile для улучшения взаимодействия между командами разработки и тестирования
  • Создание стандартов кодирования и тестирования для поддержания качества на всех этапах разработки
  • Проведение аудитов процессов разработки и тестирования, автоматизация тестирования

Примеры атрибутов качества

Внешние

  • Удобство установки / удаления
  • Целостность (насколько хорошо система защищает от неточности)
  • Совместимость (взаимодействие и обмен данными с другими системами и компонентами)
  • Производительность
  • Надежность
  • Устойчивость
  • Безопасность
  • Удобство использования

Внутренние

  • Эффективность использования ресурсов системой
  • Возможность модификации
  • Переносимость (насколько легко заставить систему работать в другой операционной среде)
  • Возможность повторного использования
  • Масштабируемость
  • Проверяемость и тестируемость (как быстро можно протестировать систему)

Инструменты и методы

  • Для управления тестированием: Jira, TestRail
  • Для авто-тестирования: Selenium, TestComplete
  • Системы контроля версий и CI/CD: Git, Jenkins
  • Для статического анализа кода: SonarQube

Отличие от нефункциональных требований

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

Подборка материалов

  1. Что такое качество. Разбираемся в иерархии терминов «QA», «QC» и «тестирование»
  2. Обеспечение качества программного обеспечения (SQA): планирование, аудит и анализ
  3. SQA (описание, госты, программы)
  4. Качество программного обеспечения
  5. Как задавать требования к качеству ПО в цифрах?
  6. От Тестирования к Обеспечению качества
  7. Призыв писать компактное ПО, версия 2024 года (с примером кода)
  8. Кто ответит за качество?
  9. Софт становится хуже?
  10. Тестирование документации к программным продуктам
  11. Мы же всё протестировали, или откуда берутся баги на проде (часть 1)
  12. Как авиакатастрофа может улучшить разбор факапов в ИТ
  13. Как встроить качество в процессы производства ПО?
  14. QA-инженер: кто это, чем он занимается и как им стать

Видео

  1. Тестирование VS обеспечение качества | Тинькофф
  2. Основные понятия и характеристики качества ПО
  3. Обеспечение качества, лекция

Конференции

SQA Days - сайт конференции

  1. Автоматизация тестирования: доступна каждому или удел избранных?
  2. Простой QA аудит
  3. Путь к совершенству: аудит процессов качества в команде
  4. Аудит команды тестирования в сложном проекте
  5. Оптимизация процесса тестирования с использованием аналитических подходов RCA и GQM
  6. Оптимизация времени и ресурсов в тестировании с использованием QA Service
  7. Оптимизируем тест кейсы
  8. Как сократить время на регрессию и не сыпать ошибки в прод?

Книги

Разработка требований к программному обеспечению — Карл Вигерс