Спец часть (часть 3) (3 поток) (2015) (by Кибитова) (1161603), страница 34
Текст из файла (страница 34)
подтверждение того, чтоон действительноудовлетворяетпотребностяможиданиям впользователей,заказчиковВерификацияобозначаетпроверкутого,Верификацияобозначаетпроверкутого,чточтоПОПОиразработаноразработановсоответствиисоответствиисосои других заинтересованныхсторон.всемитребованиямикнему,иличторезультатыочередногоэтапаразработкивсемитребованиями к нему, или что результаты очередного этапа разработкисоответствуютсоответствуют ограничениям,ограничениям,сформулированнымсформулированнымнанапредшествующихпредшествующихэтапах.этапах.Тестирование — это проверка соответствия ПО требованиям, осуществляемая с помощьюнаблюдения—заэтоегопроверкаработой того,в специальных,искусственнопостроенныхситуациях.того,ТакогоВалидациячто сам продуктправилен,т.е.
подтверждениечтоВалидация — это проверка того, что сам продукт правилен, т.е. подтверждение того, чтородаситуацииназываюттестовымиилипростотестами.он действительно удовлетворяет потребностям и ожиданиям пользователей, заказчиковон действительно удовлетворяет потребностям и ожиданиям пользователей, заказчикови других заинтересованных сторон.и других заинтересованных сторон.Тестирование — конечная процедура. Набор ситуаций, в которых будет проверятьсявалидацияподтверждает,что«выПОсоздалиправильныйпродукт»,атестируемое ПО,всегдаконечен.Этоозначает,чтопри тестированиивсегдапроверяетсяТестирование— этопроверкасоответствиятребованиям,осуществляемаяс помощьюТестирование—этопроверкасоответствияПОтребованиям,осуществляемаяспомощьюверификацияподтверждает,что«высоздалипродукттаким,какимочень небольшаядолявсех ввозможныхситуаций.Темне менее,тестированиеможетнаблюденияза егоработойспециальных,искусственнопостроенныхситуациях.Такогонаблюдения за его работой в специальных, искусственно построенных ситуациях.
ТакогоиспользоватьсядлядостаточноуверенноговынесенияоценококачествеПО.Дляэтогоиродаситуациинамеревалисьего тестовымисделать».называютили просто тестами.родаситуацииназываюттестовымиилипростотестами.необходимо иметь критерии полноты тестирования, описывающие важностьразличных ситуацийдля оценкикачества,а такжеэквивалентностии зависимостимеждуТестирование— конечнаяпроцедура.Наборситуаций,в которых будетпроверятьсяТестирование—конечнаяпроцедура.Наборситуаций,вкоторыхбудетпроверятьсяними.тестируемоеПО, всегда конечен.Это означает, что при тестировании всегда проверяетсятестируемое ПО, всегда конечен.Это означает, что при тестировании всегда проверяетсяочень небольшая доля всех возможных ситуаций.Тем не менее, тестирование можеточеньнебольшаядоля всехвозможныхситуаций.Темне менее,тестирование можетЧасто критерийполнотытестированиязадаетсяпри помощиопределенияиспользоватьсядлядостаточноуверенноговынесенияоценоко качестве ПО.
Для этогоиспользоватьсядлядостаточноуверенноговынесенияоценоко качествеПО. случаеДля этогоэквивалентностиситуаций,дающейконечныйнабор классовситуаций.Вважностьтакомнеобходимоиметькритерииполнотытестирования,описывающиенеобходимоиметькритерииполнотытестирования,описывающиеважностьсчитают, чтовсе равнокакуюиз ситуацийв качестветеста.Такойразличныхситуацийдляоценкикачества, классаа такжеиспользоватьэквивалентностии зависимостимеждуразличныхситуацийдляоценкикачества,атакжеэквивалентностиизависимостимеждукритерийназываюткритериемтестовогопокрытия,апроцентклассовними.ними.Часто критерий полноты тестирования задается при помощи определенияЧасто критерий полноты тестирования задается при помощи определенияэквивалентности ситуаций, дающей конечный набор классов ситуаций. В таком случаеэквивалентности ситуаций, дающей конечный набор классов ситуаций.
В таком случаесчитают, что все равно какую из ситуаций класса использовать в качестве теста.Такойсчитают, что все равно какую из ситуаций класса использовать в качестве теста.Такойкритерий называют критерием тестового покрытия, а процент классовкритерий называют критерием тестового покрытия, а процент классовэквивалентности ситуаций, случившихся во время тестирования, — достигнутымэквивалентности ситуаций, случившихся во время тестирования, — достигнутымтестовымпокрытием.тестовым покрытием.Таим образом, основные задачи тестирования: построить такой набор ситуаций, которыйТаим образом, основные задачи тестирования: построить такой набор ситуаций, которыйдостаточно представителен и позволял бы завершить тестирование с достаточнойдостаточно представителен и позволял бы завершить тестирование с достаточнойстепенью уверенности в правильности ПО вообще, и убедиться, что в конкретнойстепенью уверенности в правильности ПО вообще, и убедиться, что в конкретнойситуации ПО работает правильно, в соответствии с требованиями.ситуации ПО работает правильно, в соответствии с требованиями.Кроме того, особо выделяют нагрузочное ил стрессовое тестирование, проверяющееКроме того, особо выделяют нагрузочное ил стрессовое тестирование, проверяющееработоспособность ПО и показатели его производительности в условиях повышенныхработоспособность ПО и показатели его производительности в условиях повышенныхнагрузок.нагрузок.Наоснове исходных данных, используемых для построения тестов, тестирование делят наНаоснове исходных данных, используемых для построения тестов, тестирование делят наследующиеследующиевиды:виды:1)1) Тестированиеоснове требованийтребований ииТестированиеметодомметодомчерногочерногоящика.ящика.
(Тесты(Тесты строятсястроятся нана основеограничений,ограничений,прописанныхпрописанныхввнормативныхнормативных актах)актах)2)2) Тестированиеметодомбелогоящика.(Тестыоснове знанийзнаний ооТестирование методом белого ящика. (Тесты создаютсясоздаются нана основеструктуресамойсистемыиотом,каконаработает)структуре самой системы и о том, как она работает)3)3) Тестирование,строятся так,так, чтобычтобыТестирование,нацеленноенацеленноенанаопределенныеопределенные ошибки.ошибки. (Тесты(Тесты строятсягарантированновыявитьопределенныеошибки)гарантированно выявить определенные ошибки)Ещеоднана которыйкоторый онооноЕще однаклассификацияклассификациявидоввидовтестированиятестирования основанаоснована нана томтом уровне,уровне, нанацелено.нацелено.1)1) Модульноемодуля вневнеМодульноетестированиетестирование(Тестирование(Тестирование корректностикорректности отдельногоотдельного модулязависимостиеслимодуль получаетполучает наназависимостиототегоегоокружения.Приокружения.При этомэтом проверяется,проверяется, чточто еслимодульвходто иивходданные,данные,удовлетворяющиеудовлетворяющиеопределеннымопределенным критериямкорректности,критериямкорректности, торезультатыегокорректны.)результаты его корректны.)2)2) ИнтеграционноеправильностиИнтеграционноетестирование.тестирование.((ПредназначеноПредназначено длядля проверкипроверки правильностивзаимодействиямодулейнекоторогонаборадругсдругом.Приэтом проверяется,проверяется,чточтовзаимодействия модулей некоторого набора другв входеограничений нана этоэтоходесовместнойсовместнойработеработемодулимодуливзаимодействуют,взаимодействуют, не нарушая ограниченийвзаимодействие.)взаимодействие.)3)3) СистемноеработыСистемноетестирование.(Предназначенотестирование.(Предназначено длядля проверки правильностиправильности работысистемыпользователемсистемыввцелом,целом,ееееспособностиспособностиправильноправильно решатьрешать поставленные пользователем1) Тестирование методом черного ящика.
(Тесты строятся на основе требований и2) Тестирование методом белого ящика. (Тесты создаются на основе знаний оограничений, прописанных в нормативных актах)структуре самой системы и о том, как она работает)2) Тестирование методом белого ящика. (Тесты создаются на основе знаний о3) Тестирование, нацеленное на определенные ошибки. (Тесты строятся так, чтобыструктуре самой системы и о том, как она работает)гарантированновыявить определенныеошибки)3) Тестирование, нацеленноена определенныеошибки. (Тесты строятся так, чтобыЕще однаклассификациявидовопределенныетестирования основанагарантированновыявитьошибки) на том уровне, на который ононацелено.Еще одна классификация видов тестирования основана на том уровне, на который оно1) Модульное тестирование (Тестирование корректности отдельного модуля вненацелено.от его окружения.Приэтомкорректностипроверяется,отдельногочто еслимодульполучаетна1) зависимостиМодульное тестирование(Тестированиемодулявневходданные,удовлетворяющиеопределеннымкритериямкорректности,тоизависимости от его окружения.При этом проверяется, что еслимодуль получает нарезультатыегокорректны.)вход данные,удовлетворяющиеопределенным критериямкорректности, то и2) Интеграционноетестирование.(Предназначено для проверки правильностирезультаты его корректны.)некоторогонабора другэтом проверяется, что2) взаимодействияИнтеграционноемодулейтестирование.(Предназначенодляс другом.проверкиПриправильностиввзаимодействияходе совместнойработенекоторогомодули взаимодействуют,не нарушаяограниченийначтоэтомодулейнабора друг с другом.При этомпроверяется,в ходе совместной) работе модули взаимодействуют, не нарушая ограничений на этовзаимодействие.взаимодействие.)3) Системноетестирование.(Предназначенодля проверки правильности работы3) системыСистемноетестирование.(Предназначенодля проверкиправильностипользователемработыв целом,ее способности правильнорешать поставленныесистемывцелом,ееспособностиправильнорешатьпоставленныепользователемзадачи в разных ситуациях.)задачи в разных ситуациях.)Проверка на моделяхПроверка на моделяхПроверка свойств на моделях - проверка соответствия ПО требованиям при помощиПроверка свойствна моделях свойств,- проверкасоответствияПО требованиямприпроверяемогопомощиформализациипроверяемыхпостроенияформальныхмоделейПОформализации проверяемых свойств, построения формальных моделей проверяемого ПО(чаще всего в виде автоматов различных видов) и автоматической проверки выполнения(чаще всего в виде автоматов различных видов) и автоматической проверки выполненияэтих свойств на построенных моделях.(Например, отсутствие взаимных блокировок)этих свойств на построенных моделях.(Например, отсутствие взаимных блокировок)Свойства безопасности (safetyproperties) утверждают, что нечто нежелательное никогдаСвойства безопасности (safetyproperties) утверждают, что нечто нежелательное никогдане случится в ходе работы ПО.
Свойства живучести, наоборот, утверждают, что нечтоне случится в ходе работы ПО. Свойства живучести, наоборот, утверждают, что нечтожелательноелюбом развитииразвитиисобытийсобытийпроизойдетпроизойдетв ходев ходеегоработы.(Например,желательное припри любомегоработы.(Например,гарантированнаядоставкасообщения)сообщения)гарантированная доставкаВВклассическомподходекпроверкенамоделяхмоделяхпроверяемыепроверяемыесвойстваформализуютсяклассическом подходе к проверке насвойстваформализуютсяв ввидевременнЫхлогик.логик.ОператорыОператоры«всегда«всегдав будущеми «когда-товиде тактак называемыхназываемых временнЫхв будущем» и»«когда-тов вбудущем».будущем».Программа,правило,моделируетсямоделируетсяс спомощьюпомощьюконечногоконечногоавтомата.Проверка,Программа, как правило,автомата.Проверка,выполняемаяавтоматически,состоитвтом,чтодлявсехдостижимыхприработесистемывыполняемая автоматически, состоит в том, что для всех достижимых при работесистемысостояний этого автомата проверяется нужное свойство.