Файл: Отладка и тестирование программ: основные подходы и ограничения.pdf
Добавлен: 28.03.2023
Просмотров: 151
Скачиваний: 2
– система «AS Система Опроса Абонентов v4» является дальнейшим развитием программной системы «Система опроса абонентов» которая активно используется с начала 2003 года, данная система построена на новейших технологиях, включает в себе все самые актуальные алгоритмы, которые были разработаны на практике по запросам и в тесном сотрудничестве с специалистами в различных областях деятельности и непосредственно с пользователями системы;
– система «AS Система Опроса Абонентов v4» имеет модульную архитектуру, которая состоит из: ядра опросов, специальных интерфейсов, представляющих собой источники данных и специальных интерфейсов, предназначенных для взаимодействия с клиентами компании, - такая архитектура предоставляет возможности быстро добавлять необходимые интерфейсы и различные источники данных, интерфейсы для взаимодействия с клиентами компании, быстро наращивать свой функционал, добавляя новые модули и ничего не меняя в самой системе, а также существует множество возможности по оптимизации трафика данных по сети, размещая различные модули наиболее оптимальным образом для компании и пользователя;
– система «AS Система Опроса Абонентов v4» поддерживает кластеризацию/масштабирование, GEO-резервирование.
3. Оценка качества программных средств
Категория инструментов, предназначенная для организации тестирования программных средств позволяет выполнить расчет различных метрик реализуемого проекта. Прежде всего, данные программные средства на базе использования исходного кода и специальных UML-диаграмм (в первую очередь на основании прецедентов и реализуемых классов), хотя в базовом случае может быть использовано практически все, что относится к активному проекту и поддающееся измерению (требования к программной системе, спецификации на программную систему, документация на программную систему, активность работы с программной системой контроля версий, прохождение различных тестов и пр.).
Основное место среди программных средств тестирования занимают специализированные средства обеспечения подсчета числа строк программного кода.
3.1. Вычисление метрики SLOC
Программная система Locmetrics является достаточно простым бесплатным продуктом с минималистским пользовательским интерфейсом. К числу поддерживаемых языков программирования относятся – C/C++, C#, Java, php, python, SQL. При помощи данной программной системы становится возможным вычисление не только метрик SLOC и ее возможных разновидностей, но и цикломатической сложности исследуемой прикладной программной системы [7].
Пользовательский интерфейс программной системы Locmetrics представлен на рис. 7.
Отсутствие специальной обеспечивающей документации не является сильным препятствием для практического использования программной системы, поскольку разобраться в пользовательском интерфейсе из нескольких кнопок и нескольких полей используемых для организации ввода является совсем несложным действием. Намного хуже тот факт, что на данную систему даже небольших описаний методик расчета метрик. К недостаткам данной системы можно отнести отсутствие даже элементарных средств построения отчетов или выполнения экспорта данных в популярные форматы данных [8].
Рисунок 7 – Пользовательский интерфейс программной системы Locmetrics
Следующая система USC Codecount является бесплатным программным продуктом с открытым исходным кодом на языке ANSI C, который был разработан Университетом Южной Калифорнии. Программная система USC Codecount является официальным инструментом для выполнения операций подсчета метрик SLOC при использовании различных моделей. В число поддерживаемых программной системой USC Codecount языков программирования входят C/C++, C#, Java, JavaScript, SQL, Perl, XML, в документации указывается, что методика, на которой выполняются расчеты соответствует принятой SEI для специализированных моделей CMM/CMMI. Интерфейс системы USC Codecount представлен на рис. 8.
Рисунок 8 – Пользовательский интерфейс системы USC Codecount
По своей сути, программная система USC Codecount представляет собой набор специальных инструментальных средств, которые были разработаны с учетом единых принципов – для каждого языка программирования может быть создан проект, и компиляция программы будет выполнена только для него. Несмотря на видимые неудобства данной программы, эту особенность необходимо считать как раз определенным преимуществом, в связи с тем, что таким образом может быть учтены все свойства конкретного языка программирования, рис. 9.
Рисунок 9 – Работа с программной системой USC Codecount
Программная система USC Codecount предоставляет возможности по вычислению количества логических и физических SLOC, наличия пустых строк, наличия комментариев, используемых директив компилятора, наличие описаний используемых данных, наличие исполняемых инструкций по файлам реализуемого проекта по отдельности и в целом. Также, программная система USC Codecount предоставляет возможности по анализу статистики по числу вхождений ключевых слов категорий и соотношений между используемыми значениями внутри программы.
Таким образом, использование специализированного прикладного программного обеспечения для вычисления метрики SLOC позволяет повысить оценку качества программных систем. Выбор той или иной программной системы для вычисления метрики SLOC зависит от сложности и масштаба разрабатываемого программного проекта.
3.2. Вычисление метрик сложности
Программная система Verisoft Complexity Measures Tool является коммерческим продуктом с достаточно большой ценой в 1250 евро. Программная система Verisoft Complexity Measures Tool поддерживает только языки C/C++ и Java.
При помощи Verisoft Complexity Measures Tool могут быть выполнены расчеты следующих метрик:
– SLOC (это метрика программного обеспечения, используемая для измерения его объёма с помощью подсчёта количества строк в тексте исходного кода. Как правило, этот показатель используется для прогноза трудозатрат на разработку конкретной программы на конкретном языке программирования, либо для оценки производительности труда уже после того, как программа написана);
– цикломатическую сложность программного проекта;
– метрики Холстеда;
– индекс оперативной сопровождаемости программной системы (вычисляется на базе предыдущих значений реализуемого проекта) [14].
Программная система Verisoft Complexity Measures Tool содержит удобный пользовательский графический интерфейс (с возможностями работы в режиме командной строки), позволяет сформировать необходимые отчеты в текстовой форме или в форматеHTML.
Программная система Borland Together является коммерческим инструментом, используемый для непосредственного UML-моделирования, который был дополнен специализированными возможностями вычисления метрик программного кода анализируемой программной системы, рис. 10.
Рисунок 10 – Пользовательский интерфейс системы Borland Together
Программная система Borland Together поддерживает множество популярных метрик, большая часть которых являются объектно-ориентированными: SLOC; количественные метрики классов (представляет собой число используемых атрибутов, имеющихся классов, наличия специальных конструкторов, выполняемых операций программной системой); цикломатическая сложность исследуемой программной системы; метрики сложности классов; метрики связности программной системы; метрики Холстеда; метрики наследования; метрики полиморфизма; процентные соотношения (которые позволяют проанализировать долю комментариев, частных, общих и защищенных членов реализуемых классов); максимальные значения (анализ уровня вложенности, числа используемых параметров и выполняемых операций в рамках реализации определенного программного средства).
Программная система Eclipse Metrics Plugin представляет собой специальный подключаемый модуль для IDE Eclipse, который был разработан в рамках открытого проекта, рис. 11.
Рисунок 11 – Пользовательский интерфейс системы Eclipse Metrics Plugin
Программная система Eclipse Metrics Plugin позволяет выполнить вычисления SLOC, выполнить количественные метрики реализуемых классов, выполнить анализ цикломатической сложности реализуемого проекта, выполнить анализ метрик сложности классов (анализ индекса специализации), выполнить анализ метрик связности, определить уровень абстракции и некоторые другие.
Программная система Eclipse Metrics Plugin является достаточно функциональным продуктом, который имеет большую функциональность на фоне других программных систем данного класса.
Таким образом, описанные программные продукты предоставляют массу возможностей оценки качества программных систем, среди которых можно выделить: SLOC; индекс оперативной сопровождаемости; цикломатическую сложность. В тоже время, данные системы сложны в практическом использовании и требуется высокая подготовленность пользователя.
3.3. Оценка экономических параметров
В программной системе Duvessa Estimate Easy UC реализовано множество инструментов для выполнения оценки большого количества экономических параметров определенного проекта составляют основную часть класса Software Estimation, которые используются для выполнения оценки по трудоемкости выполняемых работ, сроков по реализации и стоимости будущей программной системы и часто являются максимально сложными, чем средства по расчету метрик проекта.
Программная система Duvessa Estimate Easy UC является довольно простым коммерческим продуктом с низкой ценой. Программная система Duvessa Estimate Easy UC предназначена для выполнения непосредственной оценки общей трудоемкости реализации определенного прикладного программного проекта на базе использования прецедентов.
Работа с системой Duvessa Estimate Easy UC заключается в регистрации составляющией UML-модели: возможных прецедентов и акторов (участников информационного процесса), для которых необходимо указать специальные параметры сложности и число необходимых форм и отчетов (для прецедентов) [17].
Программная система Duvessa Estimate Easy UC поддерживает возможности импорта необходимой информации из следующих форматов Rational Rose, Rational XDE, Visio и XML.
Rational Rose - популярное средство визуального моделирования объектно-ориентированных информационных систем. Благодаря уникальному языку моделирования Rational Rose способен решать практически любые задачи в проектировании информационных систем: от анализа бизнес процессов до кодогенерации на определенном языке программирования.
Rational XDE позволяют создавать информационные системы на платформе .NET и Java-приложения (в том числе на базе различных технологий J2EE). XDE устанавливается либо в виде отдельного приложения (тогда дополнительно нужно установить Eclipse IDE), либо интегрируется в установленный заранее IBM WSAD или Microsoft Visual Studio .NET.
Помимо выполнения специальных вычислений объема определенного проекта в скорректированных точках прецедентов (согласно нотации UCP) и трудоемкости работ в человеко-часах, программная система Duvessa Estimate Easy UC выполняет автоматическое преобразование количества UCP в число объектных точек (OP) и затем выполняет еще дополнительную оценку трудоемкости работ, необходимых для конечной реализации определенного проекта в соответствии с методикой COCOMO II. Интерфейс системы представлен на рис. 12.
Рисунок 12 – Пользовательский интерфейс Duvessa Estimate Easy UC
Таким образом, оценка экономических параметров напрямую влияет на понимание качества конечной программной системы. Оценка экономических параметров, с одной стороны необходима для управления проектом, и с другой стороны необходима для получения конечного продукта в срок и бюджет.
ЗАКЛЮЧЕНИЕ
В процессе выполнения данной работы были получены следующие результаты. C постоянным ростом важности информации для жизни общества возрастает цена ошибок в разрабатываемых программных системах. В таких условиях на первый план выходят технологии и методы тестирования систем, позволяющие выявить и исправить ошибки.
Были описаны следующие виды тестирования программных систем, к которым относятся:
– функциональное тестирование - представляет собой определенную проверку соответствия определенной программной системы некоторым требованиям, которые были заявлены в ее спецификации;
– системное тестирование - представляет собой высокоуровневую проверку функционала всей программно системы или некоторой системы в целом;
– тестирование производительности - предполагает тестирование, которое проводится для определения, насколько быстро будет работать программная система и др.