- •Водопадная и эволюционная модели разработки по
- •Scrum – методология
- •Встречи:
- •3.) Выявление требований к программному обеспечению. Способы представления требований
- •4.Архитектурные стили: компонентный, многослойный, многоуровневый, клиент-сервер.
- •6. Шаблоны проектирования Адаптер, Наблюдатель. Диаграмма классов. Сценарии применения
- •7. Шаблоны проектирования Фасад, Мост. Диаграмма классов. Сценарии применения
- •8. Тестирование программного обеспечения. Метод черного и белого ящика
- •Тестирование методом черного ящика
- •Тестирование методом белого ящика
- •9. Тестирование программного обеспечения. Юнит тестирование. Заглушки. Виды заглушек
- •10. Тестирование программного обеспечения. Виды тестирования. Последовательность фаз тестирования.
- •11. Диаграмма вариантов использования
- •12. Диаграмма классов
- •13. Диаграмма деятельности
- •1 4. Диаграмма развертывания(размещения)
- •15. Диаграмма компонентов
- •16. Диаграмма dfd
10. Тестирование программного обеспечения. Виды тестирования. Последовательность фаз тестирования.
Тести́рование програ́ммного обеспе́чения — деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность в общем случае базируется на обнаружении дефектов и проблем в программных системах.
С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
Надёжность
Сопровождаемость
Практичность
Эффективность
Мобильность
Функциональность
Виды тестирования (классификация тестирования по целям):
Приемочное тестирование Проверяет поведение системы на предмет удовлетворения требований заказчика
Установочное тестирование
Альфа- и бета- тестирование
Альфа-т. – внутренне пробное использование
Бета-т. – пробное использование с применением отобранных внешних пользователей. Данный вид тестирование может быть заранее спланирован
Функциональные тесты/тесты соответствия Проверка соответствия системы предъявляемым к ней требованиям, описанным на уровне спецификации поведенческих характеристик.
Достижение и оценка надежности Случайно генерируемые сценарии тестирования могут применяться для статистической оценки надежности
Регрессионное тестирование Повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам. Если система успешно проходила тесты до внесения модификаций, она должна их проходит и после внесения таковых
Тестирование производительности /Pefomance Testing/
Нагрузочное тестирование /Stress Testing/
Восстановительные тесты /Recovery Testing/ Цель – проверка возможностей рестарта системы в случае непредусмотренной катастрофы (disaster), влияющей на функционирование операционной среды, в которой выполняется система.
Тестирование удобства и простоты использование /Usability Testing/ Цель – проверить, насколько легко конечный пользователь системы может ее освоить, включая не только функциональную составляющую – саму систему, но и ее документацию; насколько эффективно пользователь может выполнять задачи, автоматизация которых осуществляется с использованием данной системы; наконец, насколько хорошо система застрахована (с точки зрения потенциальных сбоев) от ошибок пользователя.
Последовательность фаз тестирования:
Юнит-тестирование процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.
Интеграционное тестирование одна из фаз тестирования программного обеспечения, при которой отдельные программные модули объединяются и тестируются в группе. Обычно интеграционное тестирование проводится после модульного тестирования и предшествует системному тестированию.
сверху-вниз
снизу-вверх
большой взрыв
Системное тестирование Может состоять из
функциональное тестирование;
тестирование производительности;
нагрузочное или стрессовое тестирование;
тестирование конфигурации;
тестирование безопасности;
тестирование надежности и восстановления после сбоев;
тестирование удобства использования.
Включает:
Альфа- Бета- испытания (для массовых продуктов)
ИЛИ
Приемочное тестирование /Acceptance testing/ (для конкретных заказчиков) Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:
определения удовлетворяет ли система приемочным критериям;
вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет.
Различные методологии предлагают планы и наборы приемочных испытаний
Пример: RUP Product Acceptance Plan
Приемочное тестирование выполняется на основании набора типичных тестовых случаев и сценариев, разработанных на основании требований к данному приложению.