Методические указания по выполнению практических работ по мдк


Практическая работа № 2.7. Интеграционное тестирование



Pdf көрінісі
бет9/26
Дата12.10.2022
өлшемі2,59 Mb.
#152842
түріМетодические указания
1   ...   5   6   7   8   9   10   11   12   ...   26
Байланысты:
тестилеу лек русс

Практическая работа № 2.7. Интеграционное тестирование 
Цель работы: Овладение навыками интеграционного тестирования. 
Общие сведения 
Интеграционное тестирование называют еще тестированием архитектуры системы. С 
одной стороны, это название обусловлено тем, что интеграционные тесты включают в себя 
проверки всех возможных видов взаимодействий между программными модулями и 
элементами, которые определяются в архитектуре системы – таким образом, интеграционные 
тесты проверяют полноту взаимодействий в тестируемой реализации системы. С другой 
стороны, результаты выполнения интеграционных тестов - один из основных источников 
информации для процесса улучшения и уточнения архитектуры системы, межмодульных и 
межкомпонентных интерфейсов. Т.е., с этой точки зрения, интеграционные тесты проверяют 
корректность взаимодействия компонент системы. В результате проведения интеграционного 
тестирования и устранения всех выявленных дефектов получается согласованная и целостная 
архитектура программной системы, т.е. можно считать, что интеграционное тестирование - 
это тестирование архитектуры и низкоуровневых функциональных требований. 
Интеграционное тестирование, как правило, представляет собой итеративный процесс, при 
котором проверяется совокупность модулей, возрастающая от итерации к итерации. В 
интеграционном тестирование выделяют три методы выполнения: восходящее тестирование; 
монолитное тестирование; нисходящее тестирование. 
Задание: Согласно варианту провести один из методов интеграционного тестирования. 
Практическая работа № 2.8. Разработка алгоритма поставленной задачи и 
реализация его средствами автоматизированного проектирования 
Практическая работа № 2.9. Разработка алгоритма поставленной задачи и 
реализация его средствами автоматизированного проектирования 
Цель работы: разработка алгоритма для создания программного продукта и анализ 
предметной области 
Анализ поставленной задачи 


19 
Необходимо написать программу, которая будет выполнять действия на матрицами: 
умножения, сложения, вычитания, транспонирования. Программа должна решать введенные 
вручную матрицу в форму. Для удобства пользователя программа должна иметь интуитивно 
понятный интерфейс. 
Выбор методов и разработка основных алгоритмов решения 
В программе используется следующий алгоритм работы: в программе есть формы, в 
которые вводятся элементы матриц, элементы переводятся из String типа в Integer. Затем 
нужно нажать кнопку соответствующего действия. Выполняется алгоритм решения матриц и 
результат выводится в элемент DataGridView. 
Для построения блок-схем использовалась программа Microsoft Office Visio 2013. С её 
помощью можно составлять различные диаграммы и схемы, в том числе, блок-схемы. 
Разработка кода программного продукта на основе готовой спецификации на уровне 
модуля 
Калькулятор матриц реализован на языке программирования C# в среде 
программирования Microsoft Visual Studio Ultimate 2013. Выбор языка C# обусловлен тем, что 
он современный и популярный объектно-ориентированный язык программирования, а среда 
Microsoft Visual Studio Ultimate 2013 является мощным средством, позволяющим быстро 
создать программу, обладающую графическим оконным интерфейсом. 
На форме располагается 3 элемента DataGridView, в них будут размещаться матрицы. 
Так же 4 Button для выполнения действий над матрицами. 
Использование инструментальных средств на этапе отладки программного модуля 
При отладке программного продукта необходимо воспользоваться командой меню 
Отладка. В меню отладка существуют ряд команд, назначение которых представлено ниже. 
Окна – открывает в интегрированной среде окно Точки останова, которое дает доступ ко 
всем точкам останова данного решения. Показывает в интегрированной среде окно Вывод. 
Окно Вывод – это бегущий журнал множества сообщений, выдаваемых 
интегрированной средой, компилятором и отладчиком. Поэтому эта информация относится не 
только к сеансу отладки, а также открывает в интегрированной среде окно Интерпретация, 
которое позволяет выполнять команды: 

начать отладку – запускает приложение в режиме отладки; 

присоединиться к процессу – позволяет прикрепить отладчик к выполняющемуся 
процессу (исполняемому файлу). например, если запущено приложение без 
отладки, то можете потом прикрепиться к этому выполняющемуся процессу и 
начать отладку; 

исключения – открывает диалоговое окно Исключения, которое позволяет выбрать 
способ останова отладчика для каждого исключительного состояния; 

шаг с заходом – запускает приложение в режиме отладки. для большинства 
проектов выбор команды шаг с заходом означает вызов отладчика на первой 
выполняемой строке приложения. таким образом, можно войти в приложение с 
первой строки; 

шаг с обходом – когда вы не находитесь в сеансе отладки, то команда шаг с обходом 
просто запускает приложение точно так же, как это сделала бы кнопка run; 

точка останова – включает или выключает точку останова на текущей (активной) 
строке кода текстового редактора. эта опция неактивна, если в интегрированной 
среде нет активного кодового окна; 

создавать точку останова – активирует диалоговое окно создавать точку останова 
позволяющее указать имя функции, для которой необходимо создать точку 
останова; 

удалить все точки останова – удаляет все точки останова из текущего решения; 

очистить все подсказки по данным – деактивирует (без удаления) все точки 
останова текущего решения; 

параметры и настройки – Прерывать выполнение, когда исключения пересекают 
границу домена приложения или границу между управляемым и машинным кодом. 


20 
Проведение тестирования программного модуля по определенному сценарию 
Оценочное тестирование, которое также называют «тестированием системы в целом» 
целью которого является тестирование программы на соответствие основным требованиям. 
Эта стадия тестирования особенно важна для программных продуктов. Включает следующие 
виды: 

тестирование удобства использования – последовательная проверка соответствия 
программного продукта и документации на него основным положениям 
технического задания; 

тестирование на предельных объемах – проверка работоспособности программы на 
максимально больших объемах данных, например, объемах текстов, таблиц, 
большом количестве файлов и т.п.; 

тестирование на предельных нагрузках – проверка выполнения программы на 
возможность обработки большого объема данных, поступивших в течение 
короткого времени; 

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

тестирование защиты – проверка защиты, например, от несанкционированного 
доступа к информации; 

тестирование производительности – определение пропускной способности при 
заданной конфигурации и нагрузке; 

тестирование требований к памяти – определение реальных потребностей в 
оперативной и внешней памяти; 

тестирование 
конфигурации 
оборудования – проверка 
работоспособности 
программного обеспечения на разном оборудовании; 

тестирование совместимости – проверка преемственности версий: в тех случаях, 
если очередная версия системы меняет форматы данных, она должна 
предусматривать специальные конвекторы, обеспечивающие возможность работы с 
файлами, созданными предыдущей версией системы; 

тестирование удобства установки – проверка удобства установки; 

тестирование надежности – проверка надежности с использованием математических 
моделей; 

тестирование восстановления – проверка восстановления программного 
обеспечения, например, системы, включающей базу данных, после сбоев 
оборудования и программы; 

тестирование удобства обслуживания – проверка средств обслуживания, 
включенных в программное обеспечение; 

тестирование документации – тщательная проверка документации, например, если 
документация содержит примеры, то их все необходимо попробовать; 

тестирование процедуры – проверка ручных процессов, предполагаемых в системе. 
Естественно, целью всех этих проверок является поиск несоответствий техническому 
заданию. Считают, что только после выполнения всех видов тестирования программный 
продукт может быть представлен пользователю или к реализации. Однако на практике обычно 
выполняют не все виды оценочного тестирования, так как это очень дорого и трудоемко. Как 
правило, для каждого типа программного обеспечения выполняют те виды тестирования, 
которые являются для него наиболее важными. Так базы данных обязательно тестируют на 
предельных объемах, а системы реального времени – на предельных нагрузках. 
Оформление документации на программное средство 
Созданный программный продукт предназначен для выполнения арифметических 
действий над матрицами. 
Чтобы запустить программу нужно запустить приложение. 


21 
Для того чтобы создать матрицы, необходимо ввести размерности матрицы и нажать 
кнопки «Построить». Затем ввести данные в матрицу и выбрать желаемое действие. 
Программа имеет удобный интерфейс и предоставляет возможность с легкостью решать 
матрицы произвольных размерностей. 
Моделирование бизнес- процессов предметной области 
Основные элементы и понятия IDEF0. Графический язык IDEF0 удивительно прост и 
гармоничен. В основе методологии лежат четыре основных понятия: 
Первым из них является понятие функционального блока (Activity Box). 
Функциональный блок графически изображается в виде прямоугольника и олицетворяет 
собой некоторую конкретную функцию в рамках рассматриваемой системы. По требованиям 
стандарта название каждого функционального блока должно быть сформулировано в 
глагольном наклонении (например, “производить услуги”, а не “производство услуг”). 
Каждая из четырех сторон функционального блока имеет своё определенное значение 
(роль), при этом: 

Верхняя сторона имеет значение "Управление" (Control); 

Левая сторона имеет значение "Вход" (Input); 

Правая сторона имеет значение "Выход" (Output); 

Нижняя сторона имеет значение "Механизм" (Mechanism). 
Каждый функциональный блок в рамках единой рассматриваемой системы должен 
иметь свой уникальный идентификационный номер. 
Вторым элементом методологии IDEF0 является понятие интерфейсной дуги (Arrow). 
Также интерфейсные дуги часто называют потоками или стрелками. Интерфейсная дуга 
отображает элемент системы, который обрабатывается функциональным блоком или 
оказывает иное влияние на функцию, отображенную данным функциональным блоком. 
Графическим отображением интерфейсной дуги является однонаправленная стрелка. 
Каждая интерфейсная дуга должна иметь свое уникальное наименование (Arrow Label). По 
требованию стандарта, наименование должно быть оборотом существительного. 
С помощью интерфейсных дуг отображают различные объекты, в той или иной степени 
определяющие процессы, происходящие в системе. Такими объектами могут быть элементы 
реального мира (детали, вагоны, сотрудники и т.д.) или потоки данных и информации 
(документы, данные, инструкции и т.д.). 
В зависимости от того, к какой из сторон подходит данная интерфейсная дуга, она носит 
название “входящей”, “исходящей” или “управляющей”. Кроме того, “источником” (началом) 
и “приемником” (концом) каждой функциональной дуги могут быть только функциональные 
блоки, при этом “источником” может быть 
только выходная сторона блока, а “приемником” любая из трех оставшихся. 
Необходимо отметить, что любой функциональный блок по требованиям стандарта 
должен иметь по крайней мере одну управляющую интерфейсную дугу и одну исходящую. 
Это и понятно – каждый процесс должен происходить по каким-то правилам (отображаемым 
управляющей дугой) и должен выдавать некоторый результат (выходящая дуга), иначе его 
рассмотрение не имеет никакого смысла. 
При построении IDEF0 – диаграмм важно правильно отделять входящие интерфейсные 
дуги от управляющих, что часто бывает непросто.
В реальном процессе рабочему, производящему обработку, выдают заготовку и 
технологические указания по обработке (или правила техники безопасности при работе со 
станком). Ошибочно может показаться, что и заготовка и документ с технологическими 
указаниями являются входящими объектами, однако это не так. На самом деле в этом процессе 
заготовка обрабатывается по правилам отраженным в технологических указаниях, которые 
должны соответственно изображаться управляющей интерфейсной дугой. 
Например, в случае рассмотрения предприятий и организаций существуют пять 
основных видов объектов: материальные потоки (детали, товары, сырье и т.д.), финансовые 
потоки (наличные и безналичные, инвестиции и т.д.), потоки документов (коммерческие, 
финансовые и организационные документы), потоки информации (информация, данные о 


22 
намерениях, устные распоряжения и т.д.) и ресурсы (сотрудники, станки, машины и т.д.). При 
этом в различных случаях входящими и исходящими интерфейсными дугами могут 
отображаться все виды объектов, управляющими только относящиеся к потокам документов 
и информации, а дугами-механизмами только ресурсы. 
Обязательное наличие управляющих интерфейсных дуг является одним из главных 
отличий стандарта IDEF0 от других методологий классов DFD (Data Flow Diagram) и WFD 
(Work Flow Diagram). 
Третьим основным понятием стандарта IDEF0 является декомпозиция (Decomposition). 
Принцип декомпозиции применяется при разбиении сложного процесса на составляющие его 
функции. 
Декомпозиция позволяет постепенно и структурированно представлять модель системы 
в виде иерархической структуры отдельных диаграмм, что делает ее менее перегруженной и 
легко усваиваемой. 
Модель IDEF0 всегда начинается с представления системы как единого целого – одного 
функционального блока с интерфейсными дугами, простирающимися за пределы 
рассматриваемой области. Такая диаграмма с одним функциональным блоком называется 
контекстной диаграммой, и обозначается идентификатором “А-0”. 
В пояснительном тексте к контекстной диаграмме должна быть указана цель (Purpose) 
построения диаграммы в виде краткого описания и зафиксирована точка зрения (Viewpoint). 
Определение и формализация цели разработки IDEF0 – модели является крайне важным 
моментом. Фактически цель определяет соответствующие области в исследуемой системе, на 
которых необходимо фокусироваться в первую очередь. Например, если мы моделируем 
деятельность предприятия с целью построения в дальнейшем на базе этой модели 
информационной системы, то эта модель будет существенно отличаться от той, которую бы 
мы разрабатывали для того же самого предприятия, но уже с целью оптимизации 
логистических цепочек. 
Точка зрения определяет основное направление развития модели и уровень необходимой 
детализации. Четкое фиксирование точки зрения позволяет разгрузить модель, отказавшись 
от детализации и исследования отдельных элементов, не являющихся необходимыми, исходя 
из выбранной точки зрения на систему. Например, функциональные модели одного и того же 
предприятия с точек зрения главного технолога и финансового директора будут существенно 
различаться по направленности их детализации. Это связано с тем, что в конечном итоге, 
финансового директора не интересуют аспекты обработки сырья на производственных 
станках, а главному технологу ни к чему прорисованные схемы финансовых потоков. 
Правильный выбор точки зрения существенно сокращает временные затраты на построение 
конечной модели. 
В процессе декомпозиции, функциональный блок, который в контекстной диаграмме 
отображает систему как единое целое, подвергается детализации на другой диаграмме. 
Получившаяся диаграмма второго уровня содержит функциональные блоки, 
отображающие главные подфункции функционального блока контекстной диаграммы и 
называется дочерней (Child diagram) по отношению к нему (каждый из функциональных 
блоков, принадлежащих дочерней диаграмме соответственно называется дочерним блоком – 
Child Box). В свою очередь, функциональный блок - предок называется родительским блоком 
по отношению к дочерней диаграмме (Parent Box), а диаграмма, к которой он принадлежит – 
родительской диаграммой (Parent Diagram). Каждая из подфункций дочерней диаграммы 
может быть далее детализирована путем аналогичной декомпозиции соответствующего ей 
функционального блока. Важно отметить, что в каждом случае декомпозиции 
функционального блока все интерфейсные дуги, входящие в данный блок, или исходящие из 
него фиксируются на дочерней диаграмме. Этим достигается структурная целостность IDEF0 
– модели. Наглядно принцип декомпозиции представлен на рисунке 2.4. Следует обратить 
внимание на взаимосвязь нумерации функциональных блоков и диаграмм - каждый блок 
имеет свой уникальный порядковый номер на диаграмме (цифра в правом нижнем углу 
прямоугольника), а обозначение под правым углом указывает на номер дочерней для этого 


23 
блока диаграммы. Отсутствие этого обозначения говорит о том, что декомпозиции для 
данного блока не существует. 
Часто бывают случаи, когда отдельные интерфейсные дуги не имеет смысла продолжать 
рассматривать в дочерних диаграммах ниже какого-то определенного уровня в иерархии, или 
наоборот - отдельные дуги не имеют практического смысла выше какого-то уровня. 
Например, интерфейсную дугу, изображающую "деталь" на входе в функциональный блок 
"Обработать на токарном станке", не имеет смысла отражать на диаграммах более высоких 
уровней – это будет только перегружать диаграммы и делать их сложными для восприятия. С 
другой стороны, случается необходимость избавиться от отдельных "концептуальных" 
интерфейсных дуг и не детализировать их глубже некоторого уровня. Для решения подобных 
задач в стандарте IDEF0 предусмотрено понятие туннелирования. Обозначение "туннеля" 
(Arrow Tunnel) в виде двух круглых скобок вокруг начала интерфейсной дуги обозначает, что 
эта дуга не была 
унаследована от функционального родительского блока и появилась (из “туннеля”) 
только на этой диаграмме. В свою очередь, такое же обозначение вокруг конца (стрелки) 
интерфейсной дуги в непосредственной близи от блока – приёмника означает тот факт, что в 
дочерней по отношению к этому блоку диаграмме эта дуга отображаться и рассматриваться 
не будет. Чаще всего бывает, что отдельные объекты и соответствующие им интерфейсные 
дуги не рассматриваются на некоторых промежуточных уровнях иерархии – в таком случае, 
они сначала “погружаются в туннель”, а затем, при необходимости “возвращаются из 
туннеля”. 
Последним из понятий IDEF0 является глоссарий (Glossary). Для каждого из элементов 
IDEF0: диаграмм, функциональных блоков, интерфейсных дуг существующий стандарт 
подразумевает создание и поддержание набора соответствующих определений, ключевых 
слов, повествовательных изложений и т.д., которые характеризуют объект, отображенный 
данным элементом. Этот набор называется глоссарием и является описанием сущности 
данного элемента. Например, для управляющей интерфейсной дуги “распоряжение об оплате” 
глоссарий может содержать перечень полей соответствующего дуге документа, необходимый 
набор виз и т.д. Глоссарий гармонично дополняет наглядный графический язык, снабжая 
диаграммы необходимой дополнительной информацией. 
Принципы ограничения сложности IDEF0-диаграмм . Обычно IDEF0-модели несут в 
себе сложную и концентрированную информацию, и для того, чтобы ограничить их 
перегруженность и сделать удобочитаемыми, в соответствующем стандарте приняты 
соответствующие ограничения сложности: 

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

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


24 
Рисунок 13 
Разумеется, строго следовать этим ограничениям вовсе необязательно, однако, как 
показывает опыт, они являются весьма практичными в реальной работе. 
Порядок выполнения практической работы 
Для заданного преподавателем описания конкретного бизнес- процесса создать 
контекстную диаграмму А-0. Выделить основные его функции и создать диаграмму А0. 
Разбить каждую функцию на подфункции и диаграммы нижних уровней. 
Спроектируйте логическую модель БД (прямое моделирование) в соответствии с Вашим 
вариантом. Задайте атрибуты для каждой определенной сущности. Введите связи между 
сущностями. Присвойте связям уникальные имена. 
Контрольные вопросы 
1.
Каковы стадии жизненного цикла информационных систем, их основное содержание? 
2.
Как представляется функциональная модель деятельности в методологии IDEF0? 
3.
Каковы основные объекты диаграмм функциональной модели по методологии IDEF0? 
4.
Что обозначают работы в диаграммах функциональной модели, как они отображаются 
по методологии IDEF0? 
5.
Для чего предназначены стрелки в диаграммах функциональной модели, каковы их 
типы и виды? 
6.
Для чего предназначен словарь стрелок? 
7.
Каковы типы связей работ по методологии IDEF0? 


25 
8.
Что такое туннелирование стрелок, для чего оно нужно, каковы виды 
туннелирования? 


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   26




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет