- •Сосновский Ю.В.
- •Технологические основы языков программирования высокого уровня
- •СЛОЖНОСТЬ ЗАДАЧ
- •КАК БОРОТЬСЯ СО
- •ТЕХНОЛОГИИ
- •ОПРЕДЕЛЕНИЯ
- •Модель жизненного цикла ПП – описание набора фаз (этапов, стадий) проекта по созданию
- •Отладка (Debugging) – деятельность, направленная на установление точной природы известной ошибки, а затем
- •ПРОЦЕСС РАЗРАБОТКИ ПО
- •ЖИЗНЕННЫЙ ЦИКЛ ПО
- •ЖИЗНЕННЫЙ ЦИКЛ ПРОЕКТА
- •УРОВНИ ЖИЗНЕННОГО ЦИКЛА
- •PDCA-ЦИКЛ
- •КАСКАДНАЯ МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА ПО
- •КАСКАДНАЯ МОДЕЛЬ
- •МАКЕТИРОВАНИЕ (ПРОТОТИПИРОВАНИЕ)
- •ИНКРЕМЕНТНАЯ МОДЕЛЬ ЖЦ РАЗРАБОТКИ ПО
- •Требования и планирование
- •1-й инкремент
- •снижается риск неудачи и изменения требований
- •ИТЕРАЦИОННАЯ МОДЕЛЬ
- •СПИРАЛЬНАЯ МОДЕЛЬ
- •СПИРАЛЬНАЯ (ЭВОЛЮЦИОННАЯ) МОДЕЛЬ РАЗРАБОТКИ П
- •ОСОБЕННОСТИ СПИРАЛЬНОЙ МОДЕЛИ
- •V-МОДЕЛЬ ЖИЗНЕННОГО
- •Планирование
- •ПРЕИМУЩЕСТВА V-МОДЕЛИ
- •AGILE МЕТОДОЛОГИИ
- •АКТУАЛЬНЫЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПО
- •ГИБКАЯ РАЗРАБОТКА (AGILE)
- •AGILE MANIFESTO
- •AGILE MANIFESTO
- •ТЕХНОЛОГИЯ RAD
- •ЭТАПЫ RAD
- •ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ
- •ОСНОВНЫЕ ПРИНЦИПЫ ХР
- •Extreme programming explained
- •РЕФАКТОРИНГ
- •НЕОБХОДИМОСТЬ РЕФАКТОРИНГА
- •SCRUM
- •С ЧЕГО ВСЕ НАЧИНАЛОСЬ
- •РОЛИ
- •Product Backlog — приоритезированный список
- •ПЛАНИРОВАНИЕ СПРИНТА
- •ПРОЦЕСС. ВСТРЕЧИ
- •SCRUM
- •СООТНОШЕНИЕ SCRUM VS RUP
- •ОБЩЕЕ СООТНОШЕНИЕ
- •ОСНОВНЫЕ КРИТЕРИИ КАЧЕСТВА ПО
- •ПРЕДСТАВЛЕНИЕ КАЧЕСТВА В СТАНДАРТЕ ISO 9126
- •КРИТЕРИИ КАЧЕСТВА ПО
- •ISO 9004:2000 Quality management systems — Guidelines for performance improvements
- •ХАРАКТЕРИСТИКИ И АТРИБУТЫ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПО ISO 9126
- •СТОИМОСТЬ КАЧЕСТВА
- •СТОИМОСТЬ КАЧЕСТВА
- •УПРАВЛЕНИЕ ТРЕБОВАНИЯМИ
- •ТРЕБОВАНИЯ К ПО
- •ТЕСТИРОВАНИЕ ПО
- •СТАНДАРТЫ ТЕСТИРОВАНИЯ
- •ОРГАНИЗАЦИОННЫЕ ПРИНЦИПЫ УПРАВЛЕНИЯ ТЕСТИРОВАНИЕМ
- •ТЕСТОВЫЕ МЕТРИКИ
- •ТЕСТИРОВАНИЕ ПО
- •УРОВНИ ТЕСТИРОВАНИЯ
- •ТЕСТИРОВАНИЕ
- •ВИДЫ ТЕСТИРОВАНИЯ
- •ТИПЫ ДЕФЕКТОВ И СТАТИЧЕСКИЕ МЕТОДЫ ТЕСТИРОВАНИЯ (Майерс)
- •ВЫЯВЛЕНИЕ
- •ИЗВЕСТНЫЕ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
- •Технологические основы языков программирования высокого уровня
- •ОБЪЕКТНЫЙ ПОДХОД...
- •ОБЪЕКТНЫЙ ПОДХОД
- •ПРИНЦИПЫ ОБЪЕКТНОГО
- •ТЕНДЕНЦИЯ ПОСЛЕДНЕГО ДЕСЯТИЛЕТИЯ
- •ИСТОРИЯ ПОДХОДОВ В ПРОГРАММИРОВАНИИ
- •СТРУКТУРА СТАНДАРТА UML
- •ЛЕГЕНДА О ВАВИЛОНСКОЙ
- •МОДЕЛИ UML
- •ДИАГРАММЫ UML
- •ПОНЯТИЯ UML
- •АКТЕРЫ И
- •СВЯЗЬ АКТЕРОВ И ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
- •ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
- •http://staruml.sourceforge.net/en/
СТОИМОСТЬ КАЧЕСТВА
Preventive costs (стоимость предотвращения низкого качества продукта\сервиса):
Планирование качества
Разработка/оценка процессов
Планирование улучшения качества
Обучение
Стоимость всех активностей для предотвращения ошибок (QA)
Appraisal costs (стоимость оценки):
Стоимость тестирования Стоимость выполнения ревью Стоимость выполнения инспекций
Все затраты на выявление дефектов (QC)
Failure cost (цена «неудач»/ошибок, обнаруженных до и после поставки продукта\предоставления сервиза заказчику, internal failure cost and external failure cost):
Стоимость идентификации, анализа, исправления ошибок и проверки исправления ошибок
Повторное тестирование
Стоимость переработок, работ по обработке жалоб заказчика
СТОИМОСТЬ КАЧЕСТВА
B. Boehm and V. Basili «Software Defect Reduction Top 10 List» (IEEE Computer, IEEE Computer Society, Vol. 34, No.1, January 2001, pp. 135-137.): стоимость исправления дефекта после ввода системы в эксплуатацию вдвое превышает аналогичную стоимость на стадии тестирования продукта и более чем в тысячу раз — в период
УПРАВЛЕНИЕ ТРЕБОВАНИЯМИ
ГОСТ Р и ISO/IEC 12207
V&V
Спецификация — (Specification) набор требований и параметров, которым удовлетворяет некоторая сущность.
Согласно определению, приведенному в Единой системе конструкторской документации (ЕСКД) спецификация — документ, определяющий состав сборочной единицы, комплекса, комплекта. В спецификации содержится подробное перечисление узлов и деталей какого-либо изделия, конструкции, установки, и т. п., входящих в состав сборочного или монтажного чертежа.
Также под спецификацией часто подразумевается документ с перечислением условий, которым должен удовлетворять производственный заказ (требования клиента к производителю).
Техническое задание
ТРЕБОВАНИЯ К ПО
Требования к ПО — совокупность утверждений относительно свойств программной системы, подлежащая реализации при создании программного обеспечения. Создаются в процессе анализа требований к программному обеспечению
Виды требований по уровням:
Бизнес-требования — определяют назначение программного обеспечения
Бизнес-правила — определяют ограничения, проистекающие из предметной области и свойств автоматизируемого объекта (предприятия)
Пользовательские требования — определяют набор пользовательских задач, которые должна решать программа, а также способы (сценарии) их решения в системе (use case)
Системные требования и ограничения — определения элементарных операций, которые должна иметь система, а также различных условий, которым она может удовлетворять
диаграммы: ER (IDEF1FX), IDEF0, IDEF3, DFD, UML, OCL, SysML, ARIS (eEPC, VAD)
ТЕСТИРОВАНИЕ ПО
Тестирование – проверка соответствия ПО требованиям, осуществляемая с помощью
СТАНДАРТЫ ТЕСТИРОВАНИЯ
IEEE 829-1998 Standard for Software Test Documentation - описывает виды документов, служащих для подготовки тестов
IEEE 1008-1987 (R1993, R2002) Standard for Software Unit Testing - описывает организацию модульного тестирования
ISO/IEC 12119:1994 (ГОСТ Р-2000, IEEE 1465-1998) Information Technology. Software packages — Quality requirements and testing - описывает
требования к процедурам тестирования
ОРГАНИЗАЦИОННЫЕ ПРИНЦИПЫ УПРАВЛЕНИЯ ТЕСТИРОВАНИЕМ
Программирующая организация не должна сама тестировать разработанные ею программы
Необходимо досконально изучать результаты применения каждого теста
Тесты для неправильных и непредусмотренных входных данных следует разрабатывать так же тщательно, как для правильных и предусмотренных
Необходимо проверять не только, делает ли программа то, для чего она предназначена, но и не делает ли она то, что не должна делать
Не следует выбрасывать тесты, даже если программа уже не нужна
Нельзя планировать тестирование в предположении, что ошибки не будут обнаружены
Вероятность наличия необнаруженных ошибок в части программы пропорциональна числу ошибок, уже обнаруженных в этой части
Тестирование — процесс творческий
ТЕСТОВЫЕ МЕТРИКИ
Покрытие функциональных требований
Покрытие кода продукта. Наиболее применимо для модульного уровня тестирования
Покрытие множества сценариев
Количество или плотность найденных дефектов
Соотношение количества найденных дефектов с количеством тестов на данную функцию продукта
Количество найденных дефектов, соотнесенное по времени, или скорость поиска дефектов. Если производная такой функции близка к нулю, то продукт обладает качеством, достаточным для окончания тестирования и поставки заказчику
ТЕСТИРОВАНИЕ ПО
метод белого ящика (white-box testing, прозрачного ящика,
структурное тестирование) – разработчик теста имеет доступ к исходному коду и может тесты, связанные с библиотеками тестируемого ПО
метод чёрного ящика – доступ к ПО через стандартные интерфейсы. Нацелено на проверку требований (тесты на основе требований и ограничений из спецификаций, стандартов, внутренних нормативных документов)
Тестирование на соответствие (conformance testing)
УРОВНИ ТЕСТИРОВАНИЯ
Модульное тестирование (Unit-testing) – тестируется
минимально возможный для компонент (отдельный класс
или функция)
Интеграционное тестирование (Integration testing) –
отдельные программные модули объединяются и тестируются в группе
Системное тестирование (System testing) – тестирование
на полной, интегрированной системе для проверки
соответствия системы исходным требованиям (метод
«черного ящика»)
Приемочное тестирование (Acceptance testing) –
