Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекции. Тестирование ПО (all in one)

Лекции. Тестирование ПО (all in one) (Лекции), страница 5

PDF-файл Лекции. Тестирование ПО (all in one) (Лекции), страница 5 Тестирование ПО (63819): Лекции - 11 семестр (3 семестр магистратуры)Лекции. Тестирование ПО (all in one) (Лекции) - PDF, страница 5 (63819) - СтудИзба2020-08-25СтудИзба

Описание файла

Файл "Лекции. Тестирование ПО (all in one)" внутри архива находится в папке "Лекции (2015)". PDF-файл из архива "Лекции", который расположен в категории "". Всё это находится в предмете "тестирование по" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

1.Стандарты,нормы, правилаНужды ипотребностипользователейТребованияПроектныерешенияПроцессыразработкиИсходный кодРаботающее ПОВерификацияВалидацияРисунок 2. Соотношение верификации и валидации.Методы верификации существенно строже, они чаще могут быть формализованы иавтоматизированы. Скорее по историческим, чем по содержательным причинам, методыверификации делятся на следующие группы [1].• Методы экспертизы (review, inspection). При экспертизе верификацию проводитчеловек, обладающий значительным опытом проведения такого рода проверок (частотакже в экспертизу включаются неопытные сотрудники с целью их обучения).Экспертиза бывает общей, нацеленной на выявление любых дефектов и ошибок, илиспециализированной, направленной на оценку отдельных характеристик качества(например, гибкости архитектуры, удобства использования или защищенности ПО).Обычно в качестве видов экспертиз выделяют организационные экспертизы(management review), технические экспертизы (technical review), сквозной контроль(walkthrough), инспекции (inspection) и аудиты (audit).Экспертиза применима к любым свойствам ПО и любым артефактам жизненногоцикла и на любом этапе проекта, хотя для разных целей могут использоваться разныеее виды.

Она позволяет выявлять практически любые виды ошибок, причем делатьэто на этапе подготовки соответствующего артефакта, тем самым минимизируя времясуществования дефекта и его последствия для качества итогового продукта. В то жевремя экспертиза весьма трудоемка, требует активного участия опытных людей и неможет быть автоматизирована. Эффективность экспертизы существенно зависит отопыта и мотивации ее участников, организации процесса, а также от обеспечениякорректного взаимодействия между различными участниками. Это накладываетдополнительные ограничения на распределение ресурсов в проекте и можетприводить к конфликтам между разработчиками, если руководство проекта обращаетмало внимания на коммуникативные аспекты проведения экспертиз• Методы статического анализа (static analysis). Такие методы используютавтоматический анализ кода, моделей или других документов разработки с цельюпроверки выполнения формализованных правил их оформления (синтаксическойкорректности) и поиска часто встречающихся ошибок по определенным шаблонам(разыменования нулевых указателей, обращения к неинициализированным данным,деления на 0, взаимной блокировки параллельных процессов и пр.).Статический анализ выполняется с помощью специализированных инструментов,техники статического анализа кода, которые достигли достаточной зрелости иподдерживаются эффективными алгоритмами, чаще всего включаются в составкомпиляторов.

Однако, статический анализ обычно способен выявлять лишьограниченный набор видов ошибок.Основной проблемой многих техник статического анализа является следующаядилемма: либо используются строгие методы анализа, не допускающие пропускаошибок (тех типов, что ищутся), но приводящие к большому количеству сообщений овозможных ошибках, которые таковыми не являются (ложные сообщения обошибках), либо набор сообщений об ошибках является точным, но возникаетвозможность пропустить ошибку. Обычно используются компромиссные решения,позволяющие обнаруживатькак можно больше ошибок, но допускающие не слишкомвысокий процент ложных сообщений.

Для выявления ложных сообщений об ошибкахпривлекаются достаточно опытные разработчики, поэтому высокий процет такихсообщений означает большие трудозатраты на анализ результатов работыинструментов. В тех случаях, когда определенная техника статического анализавключается в компилятор, часто прибегают к объявлению всех обнаруженных с еепомощью проблем ошибками (даже если при их наличии программу можноскомпилировать в работоспособный код).• Методы динамического анализа (dynamic analysis). Эти методы выполняютверификацию реальной работы ПО или работы его кода или исполнимой модели (изкоторой код получают автоматизированной трансляцией) в специализированномокружении (например, при отсутствии нужного оборудования или внешних системпроизводится их эмуляция). При этом собирается информация о результатах работы вразличных ситуациях, и эта информация далее подвергается анализу на предметсоответсвия требованиям или проектным решениям.

Обычно к таким методам относяттестирование, при котором работа ПО проверяется на заранее выбранном набореситуаций; мониторинг, в рамках которого работа ПО протоколируется и оцениваетсяпри его обычной или пробной эксплуатации; а также профилирование, специфическийвид мониторинга временных характеристики работы ПО и использования имотдельных ресурсов. К динамическим методам анализа относят также иимитационное тестирование и имитационный мониторинг, при которых ПОвыполняется в рамках какого-то модельного окружения, построенного сиспользованием симуляторов и эмуляторов.Для применения динамических методов необходимо иметь работающую систему илихотя бы некоторые ее компоненты, или же их прототипы, поэтому нельзяиспользовать их на первых стадиях разработки. Зато с их помощью можноконтролировать характеристики работы системы в ее реальном окружении, которыечасто невозможно аккуратно проанализировать с помощью других подходов.Динамически методы позволяют обнаруживать в ПО только ошибки, проявляющиесяпри его работе, а, скажем, дефекты удобства сопровождения найти не помогут,однако, обнаруживаемые ими ошибки обычно считаются более серьезными.

Еще однапроблема динамических методов — получаемые с их помощью результаты сильнозасисят от полноты и разнообразия возникающих в ходе выполнения проверяемойсистемы ситуаций. Если набор исследованных ситуаций недостаточно широк, выводыо качестве системы, сделанные только на основе их выполнения, будут необоснованы.Методы статического анализа этим недостатком не обладают — они позволяютисследовать даже самые запутанные ситуации, которые крайне нелегко воспроизвестипри работе проверяемой системы.• Формальные методы верификации (formal verification) используют формальныематематические модели проверяемого артефакта и того, на соответствие которомупроводится проверка.

Чаще всего это модели, соответственно, кода или проектныхрешений и требований. К формальным методам относятся дедуктивный анализ ипроверка моделей. В рамках дедуктивного анализа свойства кода или проектныхрешений, а также требования формализуются в виде наборов логических утверждений(могущих включать элементы логики высших порядков и различных алгебраическихструктур), и из первого набора I (решения) пытаются формально вывести второй S(требования), т.е., пытаются строго доказать выводимость I ⊢ S. Проверка моделейоснована на представлении проверяемых решений в виде автоматных моделей M, атребований к ним — в виде наборов логических утверждений S (обычно с элементамивременной или модальной логики).

Далее выполняется автоматическая проверкавыполнения M ⊨ S этих утверждений на полученных моделях с помощьюспециализированных инструментов. При этом обнаруживаемые ошибки могут бытьсразу же оформлены как контрпримеры, конкретные сценарии работы проверяемоймодели, при которых сформулированные требования нарушаются.Формальные методы применимы только к тем свойствам, которые выражены в рамкахнекоторой математической модели, а также к тем артефактам, для которых можнопостроить адекватную формальную модель.

Для использования таких методовнеобходимо затратить значительные усилия на построение формальных моделей. Ктому же, построить такие модели и провести их анализ могут только специалисты поформальным методам, которых не так много, и чьи услуги стоят достаточно дорого.Построение формальных моделей нельзя автоматизировать, для этого всегданеобходим человек. Анализ их свойств в значительной мере может бытьавтоматизирован, и сейчас уже есть инструменты, способные анализироватьформальные модели промышленного уровня сложности, однако чтобы эффективнопользоваться ими часто тоже требуется очень специфический набор навыков и знаний(в специфических разделах математической логики и алгебры).Тем не менее, в ряде областей, где последствия ошибки в системе могут оказатьсячрезвычайно дорогими, формальные методы верификации активно используются.Они способны обнаруживать сложные ошибки, практически не выявляемые спомощью экспертиз или тестирования.

Кроме того, формализация требований ипроектных решений возможна только при их глубоком понимании, и поэтомувынуждает провести тщательнейший их анализ, для чего часто необходимасовместная работа специалистов по формальным методам и экспертов в предметнойобласти.В последние 15-20 лет появились основанные на формальных методах инструменты,решающие ряд задач верификации функциональных требований, но зато способныеэффективно работать в промышленных проектах.Гораздо чаще, чем к программам, формальные методы верификации на практикеприменяются к аппаратному обеспечению. Их использование в этой области имеетболее долгую историю, что привело к созданию более зрелых методик иинструментов. Это обусловлено более высокой стоимостью ошибок для аппаратногообеспечения, более однородной его структурой и более простыми базовымиэлементами моделей аппаратного обеспечения, более широким многократнымиспользованием проектной информации.Приведенная классификация методов верификации не является полностью строгой.

Запоследнее десятилетие активно развиваются инструменты верификации ПО, использующиетехники, относящиеся одновременно к нескольким из перечисленных пунктов. В качествепримеров таких методов можно привести следующие: расширенный статический анализ,построение полных тестов на основе формальных моделей, синтетическое структурноетестирование.Тестирование на основе формальных моделей [2,3] использует для построения тестовформальные модели требований к ПО и принятых проектных решений.

В рамках тестовпроверяются ограничения, описанные в моделях, а критерий полноты, на базе которогостроится набор тестов, обычно использует структуру модели и имеет формальноеобоснование, позволяющее утверждать, что при соблюдении определенных гипотез (обычнокасающихся представимости реального поведения в выбранном формализме,ограниченности реализации, т.е., отсутсвия в ней неограниченно сильно отличающихся отмодели элементов поведения, и ее однородности, т.е., отсутсвия в ней большого количестванезатрагиваемых моделью деталей) такой набор тестов действительно способен выявить всеошибки (все отклонения в поведении тестируемой реализации от модели).Расширенный статический анализ [4] (extended static checking) использует формальныеспецификации поведения отдельных функций и операций и дедуктивный анализ дляпроверки выполнения этих спецификаций кодом.Синтетическое структурное тестирование [5-8] использует элементы формальныхспецификаций и статического анализа для генерации тестов, на основе результатов работыкоторых, опять же, может быть проведен более глубокий статический анализ.

Наиболеешироко известным представителем этой группы техник является метод DART (DirectedAutomated Random Testing) [7,8].Определение тестированияДля тестирования в литературе можно найти много определений, выделяющих несколькоразличающиеся понятия, например, следующие.• Процесс выполнения программы с намерением найти ошибки (Glenford J. Myers [9]).• Любая деятельность, направленная на оценку некоторых характеристик программногообеспечения и проверку того, что они соответствуют требуемым результатам (WilliamC.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5221
Авторов
на СтудИзбе
429
Средний доход
с одного платного файла
Обучение Подробнее