Организация процедуры автоматизированного тестирования программных средств для управления предприятием

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 16.08.2018
Размер файла 87,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Технический университет

Московский энергетический институт

Смоленский филиал

Организация процедуры автоматизированного тестирования программных средств для управления предприятием

аспирант Кинелев В.Ю.

Аннотация

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

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

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

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

Выделим основные процессы разработки программных средств: разработка, внедрение и сопровождение программных продуктов. Эти процессы полностью покрывают жизненный цикл программных продуктов.

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

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

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

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

По оценкам специалистов, на процесс разработки приходится до 80% времени и затрат, поэтому целесообразно подробнее рассмотреть процесс разработки программного обеспечения.

Анализ литературных источников показывает, что подходам к разработке программных средств уделяется достаточно много внимания, например известны следующие концепции: экстремальное программирование, каскадный подход, унифицированный процесс разработки программного обеспечения (Rational Unified Process, или RUP) [1].

RUP является наиболее популярной, поэтому рассмотрим процесс разработки программного обеспечения на базе этой концепции (рис.1).

Рис.1. Процесс разработки программных продуктов

Суть RUP заключается в том, что разработка разбивается на несколько итераций, в каждой из которых выполняются практически все типы работ (анализ, проектирование, кодирование, тестирование) и создается реально работающая система с все более и более развитой функциональностью. RUP, в сравнении c традиционным «каскадным» подходом, позволяет значительно снизить риски и затраты на разработку программных продуктов.

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

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

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

Типовой процесс тестирования состоит из следующих этапов:

анализ требований к программному обеспечению (на этом этапе специалисты по тестированию совместно с разработчиками определяют -- какие аспекты подлежат тестированию);

планирование тестирования (в ходе планирования определяется стратегия тестирования и создается план тестирования);

разработка тестов (на этом этапе разрабатываются процедуры, сценарии и наборы данных, которые будут применяться при тестировании);

выполнение тестов (выполняются процедуры и сценарии);

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

Рис. 2. Модель процесса тестирования программного обеспечения

Наиболее трудоемкими этапами являются этапы выполнения тестов, тестирования исправленных дефектов и регрессионное тестирование [4]. Эти этапы наиболее рутинны, содержат множество повторяющихся действий, которые могут быть автоматизированы в значительной мере. Автоматизация этих этапов позволит снизить затраты и время на реализацию программных средств. По оценкам специалистов, эффект от автоматизации этих операций составляет 30-40%.

На рис. 3 представлена модель модифицированного процесса тестирования программных средств.

Рис. 3. Модифицированный процесс тестирования программного обеспечения

В модифицированной модели предлагаются следующие изменения в процессе тестирования:

1) Этап планирования тестирования включает определение областей программного обеспечения, для которых целесообразно проводить автоматическое тестирование.

2) Этап разработки тестов дополнительно включает 3 шага по подготовке автоматических тестов: конвертация данных в формат, пригодный для скриптов автоматического тестирования, реализация скриптов и проверка скриптов.

3) На этапе выполнения тестов необходимо выполнять запуск автоматических тестов.

Выделим следующие классы тестовых процедур и сценариев для которых возможно провести автоматизацию:

-- в процессе установки программного обеспечения:

1) установка с помощью программы установки, входящей в состав тестируемого программного средства;

2) выполнение первоначальной настройки программного средства;

3) проверка целостности установленного программного средства

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

-- в процессе обновления программного обеспечения

1) обновление программного обеспечения;

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

3) проверка успешности переноса пользовательских данных и настроек в обновленную версию программного средства;

4) проверка работоспособности программного средства при обновлении операционной системы и ее компонентов;

-- в процессе удаления программного обеспечения:

1) удаление с помощью программы удаления, входящей в состав тестируемого программного средства;

2) проверка сохранности пользовательских данных и настроек после удаления программного средства;

-- в процессе тестирования пользовательского интерфейса:

1) проверка работоспособности запуска и открытия отдельных модулей программного средства;

2) создание и редактирование элементов (ввод данных в поля, чтение данных из полей и проверка этих данных);

3) удаление элементов;

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

5) проверка актуализации данных пользовательского интерфейса;

-- в процессе тестирования алгоритмов:

1) чтение исходных данных;

2) ввод исходных данных;

3) выполнение процедур;

4) получение и результатов и сравнение с эталонными показателями;

-- в процессе тестирования производительности:

1) выполнение отдельных операций с замером времени;

-- тестирование устойчивости и надежности:

1) выполнение множества однотипных операций в тестируемом программном средстве;

2) повреждение отдельных компонентов программного средства или операционной системы и проверка поведения программного средства в этих условиях;

3) выполнение операций с неполными или некорректными входными данными;

4) нарушение предусмотренной последовательности проведения операций;

5) проверка повреждения пользовательских данных и настроек.

Для автоматизации указанных операций предприятие может выбрать практически любой современный язык программирования, например: C++, C#, Object Pascal, Java, Python. Выбор зависит от того, какие средства используются на данный момент и какими навыками обладает персонал предприятия. В то же время на рынке существуют решения для тестирования программного обеспечения, которое содержит уже готовые методы и функции для тестирования пользовательского интерфейса, производительности и надежности, что облегчает задачу по реализации тестовых процедур и сценариев.

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

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

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

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

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

? аренда выделенных или виртуальных серверов;

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

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

При использовании арендованных серверов предприятию требуется самостоятельно устанавливать и настраивать программное обеспечение.

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

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

Литература

1. Орлов С.А. Технологии разработки программного обеспечения. -- СПб.: Питер, 2002.

2. Вендров, А.М. Проектирование программного обеспечения экономических информационных систем. -- М.: Финансы и статистика, 2000.

3. Тамре Л. Введение в тестирование программного обеспечения. -- М: Вильямс, 2002.

4. Дастин Э., Рэшка Д., Пол Д. Автоматизированное тестирование программного обеспечения. -- М.: Лори, 2003.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [309,5 K], добавлен 16.12.2015

  • Критерии оценки эффективности и качества создания программных средств. Роль трудоемкости и длительности создания программных средств в определении эффективности их создания. Требования к качеству, суммарные затраты на разработку программного средства.

    реферат [26,7 K], добавлен 10.10.2014

  • Этапы тестирования при испытаниях надежности программных средств. Комплексирование модулей и отладка автономных групп программ в статике без взаимодействия с другими компонентами. Испытания главного конструктора. Жизненный цикл программного средства.

    презентация [339,6 K], добавлен 22.03.2014

  • Информатизация России. Рынок программных средств. Основные задачи стандартизации, сертификации и лицензирования в сфере информатизации. Совокупность инженерных методов и средств создания программного обеспечения. Жизненный цикл программного обеспечения.

    лекция [352,8 K], добавлен 09.03.2009

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Cоздание и описание логической модели автоматизированной системы обработки информации. Проектирование структуры системы в виде диаграмм UML. Анализ программных средств разработки программного обеспечения и интерфейса. Осуществление тестирования программы.

    дипломная работа [2,5 M], добавлен 25.01.2015

  • Обоснование выбора программно-технических средств. Надежность программы и состав технических средств. Разработка структурной схемы программы, алгоритмического и программного интерфейса. Технология разработки интерфейса пользователя и программных модулей.

    дипломная работа [3,2 M], добавлен 22.01.2013

  • Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.

    лекция [370,1 K], добавлен 22.03.2014

  • Нормативные и правовые акты, регламентирующие применение современных программных средств в документационном обеспечении управления в Российской Федерации. Анализ программных средств для внедрения системы электронного документооборота в ООО "СЛМ-Монтаж".

    дипломная работа [163,2 K], добавлен 10.05.2015

  • Изучение различных видов тестирования программного обеспечения. Выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тестирование методом черного ящика. Требования, предъявляемые к процессу тестирования больших систем.

    курсовая работа [3,0 M], добавлен 19.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.