- •1 Вопрос
- •2 Вопрос
- •3 Вопрос
- •Виды требований по уровням
- •Виды требований по характеру
- •5 Вопрос Проверка требований
- •Анализ требований
- •Документирование требований
- •Изменение требований
- •6 Вопрос
- •Вопрос 7
- •Тестирование программ
- •Вопрос 9 Уровни тестирования
- •Вопрос 10 Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •Вопрос 11
- •Качество исходного кода
- •Факторы качества
- •20 Вопрос
- •Использование
- •21 Вопрос Диаграммы вариантов использования
- •30 Вопрос Диаграммы состояний
- •31 Вопрос Диаграммы компонентов
- •32 Вопрос Диаграммы размещения
- •33 Вопрос
- •34 Вопрос
- •35 Вопрос
Вопрос 7
Тести́рование програ́ммного обеспе́чения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
С точки зрения ISO 9126, качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
• Надёжность
• Сопровождаемость
• Практичность
• Эффективность
• Мобильность
• Функциональность
Тестирование программ
Компания производит тестирование всех своих разработанных программных продуктов, получая на выходе полноценный отлаженный программный продукт. Основные составляющие при тестировании программ: функцинальность, надежность, эффективность, практичность.
Вопрос 9 Уровни тестирования
Модульное тестирование (юнит-тестирование) — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками ПО.
Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.
Системное тестирование — тестируется интегрированная система на её соответствие требованиям.
Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО.
Бета-тестирование — в некоторых случаях выполняется распространение версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц, с тем чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.
Часто для свободного/открытого ПО стадия альфа-тестирования характеризует функциональное наполнение кода, а бета-тестирования — стадию исправления ошибок. При этом как правило на каждом этапе разработки промежуточные результаты работы доступны конечным пользователям.
Вопрос 10 Статическое и динамическое тестирование
Описанные выше техники — тестирование белого ящика и тестирование чёрного ящика — предполагают, что код исполняется, и разница состоит лишь в той информации, которой владеет тестировщик. В обоих случаях это динамическое тестирование.
При статическом тестировании программный код не выполняется — анализ программы происходит на основе исходного кода, который вычитывается вручную, либо анализируется специальными инструментами. В некоторых случаях, анализируется не исходный, а промежуточный код (такой как байт-кодили код на MSIL).
Также к статическому тестированию относят тестирование требований, спецификаций, документации.