Научная статья на тему 'НЕКОТОРЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ ВРЕМЕНИ ТЕСТИРОВАНИЯ КРУПНЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ ПО КРИТЕРИЮ НАДЕЖНОСТИ'

НЕКОТОРЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ ВРЕМЕНИ ТЕСТИРОВАНИЯ КРУПНЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ ПО КРИТЕРИЮ НАДЕЖНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
7
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ КОМПЛЕКС / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / НАДЕЖНОСТЬ / ТЕСТИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Веденеев Г.С., Федосеев Д.А.

Статья посвящена рассмотрению показателя надежности программного обеспечения. Описывается процесс и специфика тестирования программного обеспечения. Приводится подход к определению времени тестирования крупных программных комплексов.The article is devoted to consideration of index of software reliability. The process and the specifics of software testing are described. The approach to determining the time of testing of large software systems is given.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Веденеев Г.С., Федосеев Д.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «НЕКОТОРЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ ВРЕМЕНИ ТЕСТИРОВАНИЯ КРУПНЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ ПО КРИТЕРИЮ НАДЕЖНОСТИ»

На вкладке заявок, как ясно из названия, просто отображаются различные заявки на кредиты, депозиты, переводы и прочие услуги. На вкладке "предложения" расположены различные специальные нестандартные предложения от банка, вроде вклада с выплатой процентов по нему в начале срока.

Подытоживая, можно сказать, что "Русский стандарт" довольно функциональный интернет банк с удобным интерфейсом и широким набором различных функций и предложений.

Использованные источники:

1.Курзаева Л.В. Введение в теорию систем и системный анализ: учеб. пособие/Л.В. Курзаева. - Магнитогорск: МаГУ, 2015. -211 с.

2.Гаврилова И.В., Новикова Т.Б., Петеляк В.Е., Назарова О.Б., Агдавлетова А.М. Совершенствование методов построения причинно-следственных диаграмм для решения задач управления в организационных системах / И.В. Гаврилова, Т.Б. Новикова, В.Е. Петеляк, О.Б. Назарова, А.М. Агдавлетова. -Фундаментальные исследования. 2015. № 8-2. С. 247-251.

3.Попова И.В. Разработка приложений: учебное пособие / И.В. Попова -Магнитогорск, 2005. - 184 с.

УДК 004.052

Веденеев Г. С. студент магистратуры, 2 курс факультет «Информатика и системы управления»

МГТУ им. Н.Э. Баумана Россия, г. Москва Федосеев Д.А. студент бакалавриата, 3 курс факультет «Информатика и системы управления»

МГТУ им. Н.Э. Баумана Россия, г. Москва Научный руководитель: Кузовлев В.И., кандидат технических наук доцент

МГТУ им. Н.Э. Баумана Россия, г. Москва НЕКОТОРЫЙ ПОДХОД К ОПРЕДЕЛЕНИЮ ВРЕМЕНИ ТЕСТИРОВАНИЯ КРУПНЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ ПО КРИТЕРИЮ НАДЕЖНОСТИ Статья посвящена рассмотрению показателя надежности программного обеспечения. Описывается процесс и специфика тестирования программного обеспечения. Приводится подход к определению времени тестирования крупных программных комплексов.

Ключевые слова: программное обеспечение, программный комплекс, надежность, тестирование.

SOME APPROACH TO DETERMINING THE TIME OF TESTING OF LARGE SOFTWARE SYSTEMS BY CRITERION OF RELIABILITY

The article is devoted to consideration of index of software reliability. The process and the specifics of software testing are described. The approach to determining the time of testing of large software systems is given.

Keywords: software, software systems, reliability, testing.

Введение

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

Надежность ПО

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

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

этапы жизненного цикла Рис 1. Частота ошибок с течением времени для ТО и ПО.

Однако если в техническом оборудовании достичь необходимого уровня надежности можно благодаря способам повышения надежности, таким как резервное копирование элементов, то в отношении ПО такой подход неприменим. В программах сбои и отказы происходят из-за ошибок в программном обеспечении. При разработке ПО возможно возникновение ошибок, которые не всегда удается обнаружить и ликвидировать в процессе отладки. С точки зрения ПО понятие «ошибка» можно определить, как:

- работа программы, не соответствующая документации;

- работа программы, не соответствующая требованиям заказчика;

- работа программы, не соответствующая ожиданиям пользователя.

Часто встречается, особенно при разработке сложного и большого по

объему ПО, что не точно составлена документация или техническое задание проекта. В этих случаях программа реализована правильно, в соответствии с документацией, однако сама документация была либо не полной, либо некорректной. В результате итоговое ПО не обладает всем необходимым требованиям.

Основными причинами, вызывающими нарушения нормального функционирования программного обеспечения, являются:

• ошибки, скрытые в самой программе;

• искажение входной информации;

• неверные действия пользователя;

• неисправность аппаратных средств ИС, на которой

реализуется вычислительный процесс.

Для борьбы с имеющимися ошибками в готовом ПО существует несколько мер:

1) Предупреждение ошибок

Принципы и методы, цель которых не допустить появление ошибок в готовой программе. Большинство методов концентрируется на отельных процессах перевода и направлено на предупреждение ошибок в этих процессах.

2) Обнаружение ошибок

Методы, включающие средства обнаружения ошибок в самом ПО. Большинство методов направлено по возможности на незамедлительное обнаружение сбоев.

3) Исправление ошибок

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

4) Устойчивость к ошибкам

Методы этой группы ставят своей целью обеспечить функционирование программной системы при наличии в ней ошибок. Разбиваются на 3 подгруппы: динамическая избыточность, методы отступления и изоляции ошибок.

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

В общем, факторы, оказывающие влияние, делятся на:

• архитектурные решения;

• опыт сотрудников;

• масштаб работ;

• организация разработки.

Необходимая длительность тестирования

Основным мероприятием по обнаружению и дальнейшему исправлению ошибок в ПО является тестирование.

Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий две различные цели:

• продемонстрировать разработчикам и заказчикам, что программа соответствует требованиям;

• выявить ситуации, в которых поведение программы является неправильным, нежелательным или не соответствующим спецификации.

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

Однако остается открытым вопрос как долго тестировать программное обеспечение. Как понять, когда в программе не осталось или осталось некритичное количество ошибок.

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

Модель Нельсона была разработана с учетом основных свойств программ и может использоваться для расчета надежности программного обеспечения на всех этапах его жизненного цикла. В данной модели предполагается, что область, которой могут принадлежать входные данные программы разделена на k непересекающихся областей , i [1,к]. Пусть р;-вероятность того, что для очередного выполнения программы будет выбран набор данных из области (значения р; определяются по статистике входных данных в реальных условиях работы программного обеспечения). Положим, что к моменту оценки надежности было выполнено N1 прогонов программы на наборах данных из области и из этих прогонов закончились отказом, тогда надежность программного обеспечения оценивается по формуле:

Однако современные программные комплексы редко состоят из одного целого компонента. Как правило, программы и приложения состоят из нескольких модулей. Разработку над этими модулями могут вести разные люди или группы людей. Поэтому ошибка в одном модуле может переходить в другие связанные модули, плюс может, как следствие, вызывать новые ошибки в остальных модулях. Поэтому было бы полезно видеть картину надежности каждого модуля в отдельности. Может

сложиться так, что все модули нашей программы отвечают требованию надежности, кроме одного. И в одном модуле содержится 90% всех ошибок программы. В таком случае было бы целесообразно тестировать только этот модуль, исправлять в нем ошибки и повышать надежность. Такой способ позволил бы сократить время тестирования, а также упростить процесс, поскольку можно было бы локализовать проблему в рамках одного или нескольких отдельно взятых модулей. Для этой цели можно адаптировать модель Нельсона. В рамках испытания мы тестируем и измеряем надежность каждого модуля программы в отдельности. В результате полученных результатов принимаем решение, стоит ли дорабатывать данный модуль или проводить дальнейшее тестирование с другими модулями.

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

Рис 2. Алгоритм процесса тестирования с использованием адаптированной модели Нельсона

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

зависимости от величины которого процедура либо повторяется, либо тестирование прекращается.

Модель Нельсона позволяет оценить надежность ПО на основе наборов входных данных. Соответственно, чем тщательнее и подробнее составлять наборы входных данных, чем больше возможных вариантов учесть, тем точнее получится результат тестирования. Поэтому необходим некий критерий, который поможет тестировщику ответить на вопрос, достаточно ли комбинаций входных данных он учел. Для этого можно воспользоваться приемом внесения искусственных ошибок. Группа разработчиков умышленно вносит в программу некоторое число M ошибок. Таким образом, тестирование продолжается до тех пор, пока не будут найдены все искусственно внесенные ошибки. В таком случае, можно считать, что учтено достаточное число входных наборов данных и оценка надежности системы правдива. Если в рамках тестирования были найдены не все искусственно внесенные ошибки, значит, были учтены не все необходимые входные данные. Тогда тестирование продолжается на расширенном и дополненном наборе входных данных. Однако возможен случай, когда и на расширенном наборе данных не удастся найти все искусственно внесенные ошибки. Тогда мы можем сделать вывод о точности полученного показателя надежности ПО на текущем наборе данных. Допустим из числа М искусственно внесенных ошибок, обнаружили число m ошибок. Исходя из этого вероятность точности полученного показателя надежности будет равна Р = ~ •

Заключение

В данной работе в качестве инструмента для определения необходимого времени тестирования с учетом заданного уровня надежности была использована адаптированная модель Нельсона. Эта модель позволяет оценить надежность программного обеспечения в зависимости от наборов входных данных. Также был предложен способ адаптировать модель Нельсона для модульного программирования, а именно для ПО, состоящего из отдельных модулей. Решение о продолжительности времени тестирования принимается на основании заданного требования к величине показателя надежности программного продукта. Последовательные итерации тестирования и исправления найденных ошибок продолжаются до тех пор, пока в результате очередного тестирования не будет получен необходимый показатель надежности ПО. Кроме того, в данной работе был предложен метод по оценке полноты наборов входных данных с помощью внесения искусственных ошибок.

Использованные источники:

1.Игнатьев М.Б., Фильчаков В.В., Осовецкий Л.Г. «Активные методы обеспечения надежности алгоритмов и программ», 1992

2.Майерс Г., Баджетт Т., Сандлер К. «Искусство тестирования программ», 3 -е издание, 2012

3.Шишмарев В.Ю., «Надежность технических систем», 2010

4.Типикин Н.Г., Острейковский В.А., Крылов Е.В., «Техника разработки программ. Книга 2. Технология, надежность и качество программного обеспечения», 2008

УДК 303.523

Ведерникова М.А. студент 4 курса, кафедра «маркетинга»

Патракова Д. И. студент 4 курса, кафедра «маркетинга» ФГАОУВО «УрФУ им. Б. Н. Ельцина» Научный руководитель: Яценко О. Ю., к.пед.н.

доцент кафедры «маркетинга» ФГАОУ ВО «УрФУ им. Б. Н. Ельцина» Россия, г. Екатеринбург ОПРЕДЕЛЕНИЕ ТИПА И ОБЪЕМА ВЫБОРКИ С ЦЕЛЬЮ ВЫЯВЛЕНИЯ ТИПА ПОТРЕБНОСТЕЙ, ОБУСЛАВЛИВАЮЩИХ УДОВЛЕТВОРЕННОСТЬ ПОСЕТИТЕЛЕЙ РЕСТОРАН-БАР T.G.I

FRIDAYS В Г. ЕКАТЕРИНБУРГ

Аннотация. В статье рассматривается процесс определения типа и объема выборочной совокупности по этапам проектирования выборки Г. Черчилля в рамках маркетингового исследования на тему: «выявление типа потребностей, обуславливающих удовлетворенность посетителей ресторан-бар T.G.I Fridays в г. Екатеринбург».

Ключевые слова: маркетинговое исследование; выборочная совокупность; ценз; объем выборки; тип выборки; элементы выборки; основа выборки; процедура отбора выборки.

DETERMINE THE TYPE AND SIZE OF THE SAMPLE IN ORDER TO IDENTIFY TYPES OF NEEDS THAT LEAD TO SATISFYING ITS GUESTS RESTAURANT-BAR T.G.I FRIDAYS IN YEKATERINBURG

SITY

Annotation. The article deals with the process of determining the type and amount of sample on the sample design stage, Churchill as part of market research on the topic: "identify the type of needs that lead to the satisfaction of visitors restaurant-bar T.G.I Fridays in Ekaterinburg."

Keywords: marketing research; sample frame; qualifications; the sample size; sampling type; sample items; basis of a sample; sample selection procedure.

И. К. Беляевский определяет понятие выборки как статистический метод, основанный на научных принципах отбора и позволяющий судить обо всей совокупности по некоторому числу отобранных из нее единиц37.

37 Беляевский И.К. маркетинговое исследование: Учебное пособие, руководство по изучению дисциплины, практикум по курсу, учебная программа / Московский государственный университет экономики, статистики и информатики. — М. 2004, — 414 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.