ГОСТ Р 56920-2024
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Системная и программная инженерия
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Общие положения
System and software engineering. Software testing. General provisions
ОКС 35.080
Дата введения 2024-09-30
Предисловие
1 РАЗРАБОТАН Обществом с ограниченной ответственностью "Информационно-аналитический вычислительный центр" (ООО ИАВЦ)
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационные технологии"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 10 июня 2024 г. № 752-ст
4 Настоящий стандарт разработан с учетом основных нормативных положений международного документа ISO/IEC/IEEE 29119-1:2022* "Системная и программная инженерия. Тестирование программного обеспечения. Часть 1. Общие понятия" (ISO/IEC/IEEE 29119-1:2022 "Software and system engineering - Software testing - Part 1: General concepts", NEQ)
5 ВЗАМЕН ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
Введение
Целью настоящего стандарта является определение общих положений по тестированию программного обеспечения (ПО) в жизненном цикле таких систем, как автоматизированные системы, информационно-вычислительные системы, устройства и системы искусственного интеллекта, включая киберфизические системы.
В настоящем стандарте представлена роль тестирования ПО в управлении качеством, сформулированы цели и принципы тестирования, рассмотрен жизненный цикл тестирования, определены основные положения по анализу требований и стратегии тестирования, формированию планов и среды тестирования, рассмотрены процессы и методы тестирования, изложены общие положения по проведению тестирования, документированию, управлению инцидентами и использованию тестирования при верификации и валидации систем.
В приложении А кратко описаны примеры учета особенностей при тестировании ПО.
В приложении Б представлены основные участники тестирования ПО.
1 Область применения
Настоящий стандарт определяет общие положения по тестированию программного обеспечения (ПО) для различных автоматизированных систем (АС), информационно-вычислительных систем (ИВС), устройств и систем искусственного интеллекта (СИИ), включая киберфизические системы (далее по тексту - систем).
Настоящий стандарт предназначен для использования организациями, участвующими в создании (модернизации, развитии), эксплуатации систем и их ПО, а также при выведении их из эксплуатации.
Примечание - Настоящий стандарт не содержит деталей оценки, способов демонстрации и всестороннего анализа различных свойств качества и безопасности систем и их ПО. Эти вопросы являются предметом более специализированных стандартов, часть из которых отражена в разделе 2.
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты:
ГОСТ 34.201 Информационные технологии. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем
ГОСТ 34.602 Информационные технологии. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы
ГОСТ 28806 Качество программных средств. Термины и определения
ГОСТ IEC 61508-3 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 3. Требования к программному обеспечению
ГОСТ Р 2.601 Единая система конструкторской документации. Эксплуатационные документы
ГОСТ Р 22.10.01 Безопасность в чрезвычайных ситуациях. Оценка ущерба. Термины и определения
ГОСТ Р 27.101 Надежность в технике. Надежность выполнения задания и управление непрерывностью деятельности. Термины и определения
ГОСТ Р 27.102 Надежность в технике. Надежность объекта. Термины и определения
ГОСТ Р 51583 Защита информации. Порядок создания автоматизированных систем в защищенном исполнении. Общие положения
ГОСТ Р 51897/Руководство ИСО 73:2009 Менеджмент риска. Термины и определения
ГОСТ Р 51901.1 Менеджмент риска. Анализ риска технологических систем
ГОСТ Р 51901.5 (МЭК 60300-3-1:2003) Менеджмент риска. Руководство по применению методов анализа надежности
ГОСТ Р 51901.7/ISO/TR 31004:2013 Менеджмент риска. Руководство по внедрению ИСО 31000
ГОСТ Р 51901.16 (МЭК 61164:2004) Менеджмент риска. Повышение надежности. Статистические критерии и методы оценки
ГОСТ Р 51904 Программное обеспечение встроенных систем. Общие требования к разработке и документированию
ГОСТ Р 53622 Информационные технологии. Информационно-вычислительные системы. Стадии и этапы жизненного цикла, виды и комплектность документов
ГОСТ Р 53647.1 Менеджмент непрерывности бизнеса. Часть 1. Практическое руководство
ГОСТ Р 54124 Безопасность машин и оборудования. Оценка риска
ГОСТ Р 54145 Менеджмент рисков. Руководство по применению организационных мер безопасности и оценки рисков. Общая методология
ГОСТ Р 56921 Системная и программная инженерия. Тестирование программного обеспечения. Часть 2. Процессы тестирования
ГОСТ Р 56922 Системная и программная инженерия. Тестирование программного обеспечения. Часть 3. Документация тестирования
ГОСТ Р 56939 Защита информации. Разработка безопасного программного обеспечения. Общие требования
ГОСТ Р 57102/ISO/IEC TR 24748-2:2011 Информационные технологии. Системная и программная инженерия. Управление жизненным циклом. Часть 2. Руководство по применению ИСО/МЭК 15288
ГОСТ Р 57193 Системная и программная инженерия. Процессы жизненного цикла систем
ГОСТ Р 57272.1 Менеджмент риска применения новых технологий. Часть 1. Общие требования
ГОСТ Р 57839 Производственные услуги. Системы безопасности технические. Задание на проектирование. Общие требования
ГОСТ Р 58412 Защита информации. Разработка безопасного программного обеспечения. Угрозы безопасности информации при разработке программного обеспечения
ГОСТ Р 58494 Оборудование горно-шахтное. Многофункциональные системы безопасности угольных шахт. Система дистанционного контроля опасных производственных объектов
ГОСТ Р 58771 Менеджмент риска. Технологии оценки риска
ГОСТ Р 59276 Системы искусственного интеллекта. Способы обеспечения доверия. Общие положения
ГОСТ Р 59277 Системы искусственного интеллекта. Классификация систем искусственного интеллекта
ГОСТ Р 59330 Системная инженерия. Защита информации в процессе управления моделью жизненного цикла системы
ГОСТ Р 59334 Системная инженерия. Защита информации в процессе управления качеством системы
ГОСТ Р 59335 Системная инженерия. Защита информации в процессе управления знаниями о системе
ГОСТ Р 59336 Системная инженерия. Защита информации в процессе планирования проекта
ГОСТ Р 59341 Системная инженерия. Защита информации в процессе управления информацией системы
ГОСТ Р 59342 Системная инженерия. Защита информации в процессе измерений системы
ГОСТ Р 59352 Системная инженерия. Защита информации в процессе верификации системы
ГОСТ Р 59354 Системная инженерия. Защита информации в процессе аттестации системы
ГОСТ Р 59356 Системная инженерия. Защита информации в процессе сопровождения системы
ГОСТ Р 59709 Защита информации. Управление компьютерными инцидентами. Термины и определения
ГОСТ Р 59710 Защита информации. Управление компьютерными инцидентами. Общие положения
ГОСТ Р 59711 Защита информации. Управление компьютерными инцидентами. Организация деятельности по управлению компьютерными инцидентами
ГОСТ Р 59712 Защита информации. Управление компьютерными инцидентами. Руководство по реагированию на компьютерные инциденты
ГОСТ Р 59793 Информационные технологии. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания
ГОСТ Р 59795 Информационные технологии. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов
ГОСТ Р 59853 Информационные технологии. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения
ГОСТ Р 59898 Оценка качества систем искусственного интеллекта. Общие положения
ГОСТ Р 59989 Системная инженерия. Системный анализ процесса управления качеством системы
ГОСТ Р 59990 Системная инженерия. Системный анализ процесса оценки и контроля проекта
ГОСТ Р 59991 Системная инженерия. Системный анализ процесса управления рисками для системы
ГОСТ Р 59992 Системная инженерия. Системный анализ процесса управления моделью жизненного цикла системы
ГОСТ Р 59994 Системная инженерия. Системный анализ процесса гарантии качества для системы
ГОСТ Р 70250 Системы искусственного интеллекта на автомобильном транспорте. Варианты использования и состав функциональных подсистем искусственного интеллекта
ГОСТ Р 70462.1 Информационные технологии. Искусственный интеллект. Оценка робастности нейронных сетей. Часть 1. Обзор
ГОСТ Р 70921 Системная и программная инженерия. Требования и оценка качества систем и программной продукции (SQuaRE). Концепция требований к качеству
ГОСТ Р 71199 Системы киберфизические. Умный дом. Термины и определения
ГОСТ Р ИСО 9000 Системы менеджмента качества. Основные положения и словарь
ГОСТ Р ИСО 9001 Системы менеджмента качества. Требования
ГОСТ Р ИСО 14258 Промышленные автоматизированные системы. Концепции и правила для моделей предприятия
ГОСТ Р ИСО 15704 Моделирование и архитектура предприятия. Требования к стандартным архитектурам и методологиям предприятия
ГОСТ Р ИСО 17359 Контроль состояния и диагностика машин. Общее руководство
ГОСТ Р ИСО 31000 Менеджмент риска. Принципы и руководство
ГОСТ Р ИСО/МЭК 12207 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств
ГОСТ Р ИСО/МЭК 15026 Информационная технология. Уровни целостности систем и программных средств
_______________
ГОСТ Р ИСО/МЭК 15026-4 Системная и программная инженерия. Гарантирование систем и программного обеспечения. Часть 4. Гарантии жизненного цикла
ГОСТ Р ИСО/МЭК 16085 Менеджмент риска. Применение в процессах жизненного цикла систем и программного обеспечения
ГОСТ Р ИСО/МЭК 25000 Системная и программная инженерия. Требования и оценка качества систем и программных средств (SQuaRE). Руководство
ГОСТ Р ИСО/МЭК 25010 Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов
ГОСТ Р ИСО/МЭК 25020 Системная и программная инженерия. Требования и оценка качества систем и программной продукции (SQuaRE). Основные принципы измерения качества
ГОСТ Р ИСО/МЭК 25023 Системная и программная инженерия. Требования и оценка качества систем и программной продукции (SQuaRE). Измерения качества системы и программной продукции
ГОСТ Р ИСО/МЭК 25040 Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Процесс оценки
ГОСТ Р ИСО/МЭК 27001 Информационная технология. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Требования
ГОСТ Р ИСО/МЭК 27002 Информационные технологии. Методы и средства обеспечения безопасности. Свод норм и правил применения мер обеспечения информационной безопасности
ГОСТ Р ИСО/МЭК 27005 Информационная технология. Методы и средства обеспечения безопасности. Менеджмент риска информационной безопасности
ГОСТ Р ИСО/МЭК 27036-4 Информационные технологии. Методы и средства обеспечения безопасности. Информационная безопасность во взаимоотношениях с поставщиками. Часть 4. Рекомендации по обеспечению безопасности облачных услуг
ГОСТ Р МЭК 61069-1 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 1. Терминология и общие концепции
ГОСТ Р МЭК 61069-2 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 2. Методология оценки
ГОСТ Р МЭК 61069-3 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 3. Оценка функциональности системы
ГОСТ Р МЭК 61069-4 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 4. Оценка производительности системы
ГОСТ Р МЭК 61069-5 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 5. Оценка надежности системы
ГОСТ Р МЭК 61069-6 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 6. Оценка эксплуатабельности системы
ГОСТ Р МЭК 61069-7 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 7. Оценка безопасности системы
ГОСТ Р МЭК 61069-8 Измерение, управление и автоматизация промышленного процесса. Определение свойств системы с целью ее оценки. Часть 8. Оценка других свойств системы
ГОСТ Р МЭК 61508-1 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 1. Общие требования
ГОСТ Р МЭК 61508-2 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 2. Требования к системам
ГОСТ Р МЭК 61508-4 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 4. Термины и определения
ГОСТ Р МЭК 61508-6 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 6. Руководство по применению ГОСТ Р МЭК 61508-2 и ГОСТ Р МЭК 61508-3
ГОСТ Р МЭК 61508-7 Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью. Часть 7. Методы и средства
ГОСТ Р МЭК 62264-1 Интеграция систем управления предприятием. Часть 1. Модели и терминология
ГОСТ Р МЭК 62508 Менеджмент риска. Анализ влияния на надежность человеческого фактора
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины и определения
В настоящем стандарте применены термины по ГОСТ 28806, ГОСТ Р 27.101, ГОСТ Р 27.102, ГОСТ 34.201, ГОСТ Р 22.10.01, ГОСТ Р ИСО 9000, ГОСТ Р ИСО/МЭК 15026, ГОСТ Р ИСО/МЭК 15026-1, ГОСТ Р ИСО/МЭК 27001, ГОСТ Р 51897, ГОСТ Р 59709, ГОСТ Р 59989, ГОСТ Р 59991, ГОСТ Р 59994, ГОСТ Р МЭК 61069-1, ГОСТ Р МЭК 61508-4, ГОСТ Р МЭК 62264-1, ГОСТ Р 71199, а также следующие термины с соответствующими определениями:
3.1
автоматизированная система; АС: Система, состоящая из комплекса средств автоматизации, реализующего информационную технологию выполнения установленных функций, и персонала, обеспечивающего его функционирование.
Примечания
В зависимости от вида деятельности выделяют, например, следующие виды АС: автоматизированные системы управления (АСУ), системы автоматизированного проектирования (САПР), автоматизированные системы научных исследований (АСНИ) и др.
В зависимости от вида управляемого объекта (процесса) АСУ подразделяют, например на АСУ технологическими процессами (АСУТП), АСУ предприятиями (АСУП) и т.д.
[ГОСТ Р 59853-2021, статья 3.2] |
3.2
дефект: Каждое отдельное несоответствие продукции установленным требованиям.
[ГОСТ 15467-1979, пункт 3.8] |
3.3
информационно-вычислительная система (программно-технический комплекс): Совокупность данных (баз данных) и программ, функционирующих на вычислительных средствах как единое целое для решения определенных задач.
[ГОСТ Р 53622-2009, статья 3.5] |
3.4
искусственный интеллект; ИИ: Способность технической системы имитировать когнитивные функции человека (включая самообучение и поиск решений без заранее заданного алгоритма) и получать при выполнении конкретных практически значимых задач обработки данных результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека.
[ГОСТ Р 59276-2020, статья 3.6] |
3.5
киберфизическая система: Информационно-технологическая концепция, подразумевающая интеграцию вычислительных ресурсов в физические процессы. В такой системе датчики, оборудование и информационные системы соединены на протяжении всей цепочки в логику управления для создания стоимости, выходящей за рамки одного предприятия или бизнеса. Эти системы взаимодействуют друг с другом с помощью стандартных интернет-протоколов для прогнозирования, самонастройки и адаптации к изменениям.
[ГОСТ Р 59277-2020, статья 3.29] |
3.6 метаморфическая связь: Описание влияния изменений во входных данных для тестового примера на ожидаемые выходные результаты на основе требуемого поведения объекта тестирования.
3.7
ошибка: Недопустимое состояние, которое испытывает система.
Примечание - Примером такой ошибки является попытка деления на ноль.
[ГОСТ 37707-2016, пункт 4.871] |
3.8
программное обеспечение автоматизированной системы; программное обеспечение АС: Совокупность программ и программных документов, предназначенная для отладки, функционирования и проверки работоспособности АС.
[ГОСТ Р 59853-2021, статья 62] |
3.9
программное средство в автоматизированной системе; программное средство в АС: Объект, состоящий из программ, процедур, правил, относящихся к функционированию автоматизированной системы, а также сопутствующих им документации и, если предусмотрено, данных.
[ГОСТ Р 59853-2021, статья 63] |
3.10
программное обеспечение ИВС (программа, программное средство): Упорядоченная последовательность инструкций (кодов) для вычислительного средства, находящаяся в памяти этого средства и представляющая собой описание алгоритма управления вычислительными средствами и действий с данными.
[ГОСТ Р 53622-2009, статья 3.8] |
3.11
программное обеспечение СИИ (программа, программное средство): Упорядоченная последовательность инструкций (кодов) для вычислительного сродства, находящаяся в памяти этого средства и представляющая собой описание алгоритма управления вычислительными средствами и действий с данными.
[Адаптировано из ГОСТ Р 59276-2020, статья 3.38] |
3.12 программное обеспечение системы; программное обеспечение АС, ИВС, ПТК, устройства, СИИ: Совокупность программ и программных документов, предназначенная для отладки, функционирования и проверки работоспособности АС, ИВС, ПТК, устройства, СИИ.
3.13 повторное тестирование: Подтверждающее тестирование, проводимое для проверки успешности устранения дефекта или ошибки внесенными изменениями.
3.14 регрессионное тестирование: Тестирование, проводимое после внесения изменений в объект тестирования или в его операционную среду, с целью выявления дефектов в немодифицированных частях объекта тестирования.
Примечание - Регрессионное тестирование отличается от повторного тестирования тем, что проверяется не то, что модификация работает правильно, а то, что другие части системы не были случайно затронуты изменением.
3.15 ручное тестирование: Проведение тестов людьми путем ввода информации в объект тестирования и проверки результатов.
Примечание - Автоматизированное тестирование подразумевает использование инструментариев, роботов и других подсистем выполнения тестов. При ручном тестировании эти элементы не используются.
3.16
система искусственного интеллекта; СИИ: Техническая система, в которой используются технологии искусственного интеллекта, и обладающая искусственным интеллектом.
[ГОСТ Р 59276-2020, статья 3.16] |
3.17
технические средства ИВС: Аппаратные и программные средства, используемые для сбора, обработки, хранения, манипуляции и выдачи данных.
[ГОСТ Р 53622-2009, статья 3.12] |
3.18
технологии искусственного интеллекта: Комплекс технологических решений, направленных на создание систем искусственного интеллекта.
[ГОСТ Р 59277-2020, статья 3.44] |
3.19 тестирование: Комплекс мероприятий, проводимых для упрощения выявления и оценки свойств объекта тестирования.
Примечание - Деятельность по тестированию включает в себя планирование, подготовку, выполнение, отчетность и управление в той мере, в какой они связаны с тестированием.
3.20 тестовый пример: Набор предварительных условий, входных данных и ожидаемых результатов, разработанный для наблюдения за поведением объекта тестирования для достижения целей тестирования.
4 Сокращения
АС - автоматизированные системы;
ИВС - информационно-вычислительные системы;
ПО - программное обеспечение;
ПТК - программно-технические комплексы;
СИИ - системы искусственного интеллекта.
5 Общие положения
5.1 Роль тестирования программного обеспечения
Программное обеспечение является одним из видов обеспечения различных автоматизированных систем наряду с математическим, информационным, лингвистическим, техническим, метрологическим, организационным, методическим и другими видами обеспечения (по ГОСТ 34.602, ГОСТ Р 59853) информационно-вычислительных систем, устройств и систем искусственного интеллекта, включая ки-берфизические системы (по ГОСТ Р 53622, ГОСТ Р 59276, ГОСТ Р 59277).
Примечания
1 Для ИВС, ПТК, устройства и СИИ под ПО и программными средствами понимают также упорядоченную последовательность инструкций (кодов) для вычислительного средства, находящуюся в памяти этого средства и представляющую собой описание алгоритма управления вычислительными средствами, устройства и действий с данными (по ГОСТ Р 53622, ГОСТ Р 59277).
2 В отличие от ПО, напрямую относящемуся к АС согласно своему назначению, некоторые программные средства могут не иметь статуса ПО. Например, программные средства обучения или рекламы могут не входить в состав ПО как вида обеспечения АС, если они не предназначены для отладки, функционирования или проверки работоспособности АС.
В общем случае проведение тестирования ПО должно быть направлено на проверку реализации возможностей ПО на уровне типовых и/или специфических показателей качества ПО, используемого по назначению в конкретных системах - см. подробнее 4.4. На семантическом уровне тестирование ПО должно быть напрямую связано с результативным решением задач создания, эффективного функционирования и развития систем, включая решение глобальных задач обеспечения национальной безопасности Российской Федерации [1]-[11]:
- реализации государственной стратегии в экономике;
- эффективного функционирования, обеспечения безопасности и развития сложных народнохозяйственных, инженерно-технических, транспортных систем, систем связи и коммуникаций, электроэнергетики, топливно-энергетического комплекса, нефтяной, газовой и нефтехимической промышленности, трубопроводного транспорта, строительного комплекса;
- защиты населения и территорий от чрезвычайных ситуаций природного и техногенного характера;
- технической диагностики, управления ресурсом эксплуатации, снижения экономических, экологических и социальных ущербов от природных и природно-техногенных катастроф и нарушений качества, безопасности и эффективности критически и стратегически важных систем.
Примечание - Примером ПО, подлежащего всестороннему тестированию, может служить ПО Координационного центра Правительства Российской Федерации, в интересах которого предусмотрено создание, функционирование и развитие информационной системы управления инцидентами, аналитической информационной системы и иных информационных систем для обеспечения оперативных и согласованных действий федеральных органов исполнительной власти, органов исполнительной власти субъектов Российской Федерации и организаций при разрешении инцидентов (штатных и нештатных ситуаций) и реализации приоритетных задач Правительства Российской Федерации [12].
Результаты тестирования ПО используются для оценки, контроля и обеспечения качества, безопасности и эффективности АС, ИВС, ПТК, устройств или СИИ, в состав которых это ПО входит, а также для управления рисками в их жизненном цикле (см. ГОСТ Р 27.102, ГОСТ Р 57193, ГОСТ Р 59989, ГОСТ Р 59990, ГОСТ Р 59991, ГОСТ Р 59992, ГОСТ Р 59994).
5.2 Цели тестирования
Главной целью тестирования ПО является выявления дефектов и ошибок в ПО для повышения его качества и эффективного использования по назначению в конкретной системе, например: в АС, ИВС, ПТК, устройстве и/или СИИ.
Основными ожидаемыми результатами тестирования ПО являются:
- обнаружение явных и скрытых дефектов и ошибок в элементах тестирования до их передачи на следующий этап жизненного цикла вплоть до передачи в эксплуатацию в системе;
- получение информации о качестве элементов тестирования и остаточных рисках в жизненном цикле ПО для принятия решений о возможности использования ПО согласно своему назначению в конкретной системе;
- определение и выработка мер смягчения рисков, связанных с невыявленными дефектами и ошибками по результатам тестирования ПО.
Примечание - Необходимо осознавать, что результаты тестирования ПО показывают наличие выявленных дефектов и ошибок в ПО, а не их отсутствие, поскольку в общем случае не существует физической возможности проверить ПО за ограниченное время во всех возможных условиях его эксплуатации. Самое качественное тестирование ПО не может стопроцентно гарантировать, что в условиях неопределенностей в той или иной ситуации при реализации тех или иных информационных, природных, техногенных и/или социально-экономических угроз не проявятся недопустимые состояния или недопустимые отклонения в функционировании конкретной системы.
Тестирование обычно преследует не одну цель. Типичными целями, среди прочего, могут быть:
- сбор информации об элементе тестирования, что может быть использовано, например, программистами для обучения созданию улучшенного кода в будущем, тестировщиками для создания более качественных тестовых примеров, руководителями проектов для принятия решения о прекращении тестирования, пользователями для более высокой уверенности в качестве используемого ПО;
- обеспечение обоснованности при принятии решений. Предоставляемые доказательства того, что элемент тестирования работает правильно при определенных обстоятельствах, служат аргументами для заинтересованных сторон в том, что элемент ПО, прошедший тестирование, отвечает предъявляемым требованиям по качеству.
Для тестирования ПО могут применяться любые законные подходы, которые обеспечивают приемлемое выявление дефектов и ошибок в ПО для повышения его качества и эффективного использования по назначению в конкретной системе. Некоторые доступные подходы изложены в 5.5.2.
5.3 Принципы тестирования
При тестировании ПО руководствуются следующими основными принципами:
- системности, предполагающим наличие целеполагания и связанности действий в тестировании для приемлемых условий создания (модернизации, развития) конкретной системы;
- целенаправленности при выборе и применении методов и инструментариев тестирования, предполагающим использование доступных методов и инструментариев для выявления дефектов и ошибок в проверяемых элементах ПО, начиная с самых ранних этапов создания ПО за счет проверки наиболее вероятных и востребованных ситуаций и условий функционирования системы, для которой это ПО предназначено.
Примечание - Выявление дефектов и ошибок и их устранение повысит качество ПО, но по-прежнему не гарантирует их отсутствия для не проверенных, но возможных ситуаций и условий;
- сбалансированности эффектов от тестирования различных элементов ПО в условиях контекста тестирования, неопределенностей, возможных угроз и объективных ограничений, свойственных для условий эксплуатации конкретной системы;
- независимости тестировщиков от разработчиков (независимость тестирования считается высокой, если тест разрабатывает один человек, а проводит другой, например, потому что независимый тестировщик с меньшей вероятностью сделает те же ошибочные предположения, что и разработчик, и поэтому с большей вероятностью выявит допущенные ошибки разработчика);
- систематизации выявленных дефектов и ошибок для определения причин их возникновения (например, ошибки при выборе ненадежных составных компонентов, недостаточный охват тестового покрытия, низкая квалификация программистов или тестировщиков на предыдущих этапах тестирования) и их устранения;
- регулярного критичного пересмотра и обновления тестовых сценариев и примеров для обеспечения разнообразия подходов к тестированию, совершенствованию и развитию тестировщиков;
- ориентации на управление рисками при разработке стратегии тестирования ПО, системном анализе результатов тестирования и оценке влияния остаточных рисков на качество, безопасность и эффективность конкретной системы, для которой предназначено ПО.
Применение всех принципов включает в себя использование системного анализа требований, предметной области, контекста и рисков, расстановку приоритетов, моделирование вероятных сценариев для применения ПО, работу с конечными пользователями, применение специальных показателей, методов и инструментариев тестирования с учетом специфики конкретных систем (см. ГОСТ Р ИСО 31000, ГОСТ Р 51901.1, ГОСТ Р 51901.5, ГОСТ Р 51901.7, ГОСТ Р 51904, ГОСТ Р 54124, ГОСТ Р 54145, ГОСТ Р 58771, ГОСТ Р МЭК 62508).
5.4 Жизненный цикл тестирования
Жизненный цикл тестирования ПО характеризуется последовательностью действий по анализу требований и определению стратегии тестирования ПО для системы, разработке или уточнению критериев качества ПО, разработке планов тестирования на детальном уровне, разработке тестовых данных, выполнению тестирования с использованием тестовых данных и фиксации выявленных при этом дефектов и ошибок, системнному анализу результатов тестирования и составления отчетности.
Жизненный цикл тестирования ПО имеет свое место в жизненном цикле самого ПО и в жизненном цикле конкретной системы, для которой это ПО предназначено. Формально самотестирование ПО может рассматриваться как проект, а процесс тестирования может включать в себя процессы технического управления по ГОСТ Р 57193 (процессы планирования, оценки и контроля проекта, управления решениями, рисками, конфигурацией, информацией, процессы измерений и гарантий качества) применительно к жизненному циклу системы (см. ГОСТ Р 59793, ГОСТ 34.602, ГОСТ IEC 61508-3, ГОСТ Р ИСО 14258, ГОСТ Р ИСО/МЭК 15026, ГОСТ Р 53647.1, ГОСТ Р 57102, ГОСТ Р 59330, ГОСТ Р 59992).
Примечание - Длительность жизненного цикла тестирования ПО может варьироваться от единиц часов до многих месяцев. При этом в начале больше времени уходит на планирование, в конце - на отчетность.
В жизненном цикле тестирования ПО следует учитывать возможные возникающие риски с учетом угроз и специфики конкретной системы. Во время сопровождения ПО в рисках дополнительно должны учитываться внесенные изменения и ожидаемое влияние этих изменений на функционирование конкретной системы (см. ГОСТ Р 56921, ГОСТ Р 56922, ГОСТ Р 59356, ГОСТ Р 59990, ГОСТ Р 59994).
Для получения доступа к полной версии без ограничений вы можете выбрать подходящий тариф или активировать демо-доступ.