- •Вопрос 1 Разрабо́тка програ́ммного обеспе́чения
- •Разделы дисциплины
- •Понятия процесса и методология разработки
- •Вопрос 2
- •Вопрос 3
- •Виды требований по уровням
- •По характеру
- •Источники требований.
- •Вопрос 4 Какие должны быть требования, их характеристика:
- •Как выявляются требования
- •Вопрос 5 Проверка требований
- •Анализ требований
- •Документирование требований
- •Изменение требований
- •Вопрос 6 Проектирование программного обеспечения
- •Инженерия программного обеспечения
- •Вопрос 7 Тестирование
- •Критерии качества программных средств.
- •Вопрос 8 Классификация тестирование по
- •Вопрос 9 Уровни тестирования по
- •Вопрос 10 Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •Вопрос 11 Качество исходного кода
- •Факторы качества
- •С точки зрения пользователя
- •Вопрос 12 Определение
- •Процессы жизненного цикла по
- •Вопрос 13 Основные процессы жизненного цикла
- •Приложения
- •Вопрос 14 Вспомогательные процессы жизненного цикла автоматизированной системы (ас)
- •Организационные процессы жизненного цикла ас.
- •Вопрос 15 Каскадная модель
- •Вопрос 16 Итеративная и инкрементальная модель – эволюционный подход
- •Вопрос 17 Спиральная модель
- •Вопрос 18 Общие требования к методологии и технологии
- •Вопрос 19
- •Вопрос 20
- •Вопрос 33 Определение
- •Основные элементы и понятия idef0
- •Построение модели
- •Вопрос 34 Предназначение idef3
- •Два типа диаграмм в idef3
- •Обозначение
- •Вопрос 35 er-диаграммы
- •Семантические модели данных
- •Основные понятия модели Entity-Relationship (Сущность-Связи)
Вопрос 7 Тестирование
Тести́рование програ́ммного обеспе́чения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО).
Существует множество подходов к решению задачи тестирования и верификации ПО, но эффективное тестирование сложных программных продуктов — это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.
С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
Критерии качества программных средств.
Надежность. Программа должна работать корректно даже при неверных данных.
Сопровождаемость. Комментирование.
Практичность. Программу должно быть выгодно использовать на практике.
Эффективность. От применения программы должен быть эффект. Она должна решать задачу быстро и правильно.
Мобильность. Программный код может быть перенесен на другую систему без значительных изменений.
Функциональность. Должна выполнять свои функции.
Более полный список атрибутов и критериев можно найти в стандарте ISO 9126 Международной организации по стандартизации. Состав и содержание документации, сопутствующей процессу тестирования, определяется стандартом IEEE 829-1998 Standard for Software Test Documentation.
Вопрос 8 Классификация тестирование по
По объекту тестирования:
Функциональное тестирование (functional testing)
Тестирование производительности (performance testing)
Нагрузочное тестирование (load testing)
Стресс-тестирование (stress testing)
Тестирование стабильности (stability / endurance / soak testing)
Юзабилити-тестирование (usability testing)
Тестирование интерфейса пользователя (UI testing)
Тестирование безопасности (security testing)
Тестирование локализации (localization testing)
Тестирование совместимости (compatibility testing)
По знанию системы:
Тестирование чёрного ящика (black box)
Тестирование белого ящика (white box)
Тестирование серого ящика (grey box)
По степени автоматизации:
Ручное тестирование (manual testing)
Автоматизированное тестирование (automated testing)
Полуавтоматизированное тестирование (semiautomated testing)
По степени изолированности компонентов:
Компонентное (модульное) тестирование (component/unit testing)
Интеграционное тестирование (integrationtesting)
Системное тестирование (system/end-to-end testing)
По времени проведения тестирования:
Альфа-тестирование (alpha testing)
Тестирование при приёмке (smoketesting)
Тестирование новой функциональности (newfeaturetesting)
Регрессионное тестирование (regression testing)
Тестирование при сдаче (acceptancetesting)
Бета-тестирование (beta testing)
По признаку позитивности сценариев:
Позитивное тестирование (positive testing)
Негативное тестирование (negative testing)
По степени подготовленности к тестированию:
Тестирование по документации (formal testing)
Тестирование ad hoc или интуитивное тестирование (ad hoc testing)