Научная статья на тему 'Разработка системы автоматизированного создания электронной тестовой документации'

Разработка системы автоматизированного создания электронной тестовой документации Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

Тестирование является неотъемлемой частью процесса разработки программного обеспечения (ПО) в современных методологиях. В настоящей работе рассматриваются гибкие методологии разработки ПО (agile software development). Разработка по этим методологиям сводится к серии итераций, длящимся две-три недели.

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

Текст научной работы на тему «Разработка системы автоматизированного создания электронной тестовой документации»

Разработка системы автоматизированного создания электронной тестовой документации

Мартюков А. С.

Московский государственный институт электроники и математики, кафедра "Информационные технологии и автоматизированные системы" E-mail: martvukov@ itas.miem. edu.ru

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

• тестирование рутинных задач;

• тестирование элементов, к которым нет прямого доступа или он достаточно труден;

• тестирование наиболее приоритетных задач;

• тестирование элементов с большим количеством возможных входных параметров.

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

• задачи для исправления найденных дефектов;

• отчетная документация по процессу тестирования;

• новый тестовый набор регрессионного тестирования.

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

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

Для сбора этой информации можно:

• использовать встроенные инструменты логгирования средства автоматизации;

• подключить готовые сторонние средства логгирования;

• написать свой собственный логгер.

В настоящей работе предлагается создание собственного логгера, так как это позволяет получать:

• гибкий интерфейс;

• контроль поведения;

• возможность интеграции с другими системами своими силами.

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

• test Plan;

• test Design Specification;

• test Case Specification;

• test Procedure Specification;

• test Incident Report;

• test log;

• test Summary Report.

Документ с планом тестирования (Test Plan) формируется перед каждым тестированием новой версии программного обеспечения. В нем описываются масштаб, подход, методики, виды и график тестирования. Определяются элементы, которые будут тестироваться и способы оценки корректности их работы, а так же состав команды, проводящей тестирование. Этот документ полезен как тестировщикам, так и менеджерам. После плана тестирования формируется документ Test Design Specification, описывающий техники проектирования тестов и определяющий особенности и возможности тестирования элементов, конкретные критерии прохождения или провала функции при тестировании. Test Case Specification описывает уже построенные тесты: входные и выходные данные, специальные требования, а так же связи и зависимости тестов. Так как один тест может применяться в нескольких документах Test Design Specification, которые используются различными группами в течение длительного времени, должна быть предусмотрена возможность одновременного доступа к этим документам. В документе Test Procedure Specification определяются шаги, необходимые для выполнения тестового набора или действия, используемых для анализа программного обеспечения. В Test Log записывается информация о выполнении всех тестов. Более подробная информация записывается в Test Incident Report, в нем указываются события, которые происходят во время тестирования и требуют анализа в будущем. Главным документом является отчет по тестированию Test Summary Report, подводящий итог тестирования, и предоставляющий оценку на основе этих результатов. Структуру документов, кроме последних трех предлагается оставить как в стандарте IEEE 829, а документы с результатами выполнения тестов (test log и test incident report) дополнить для получения более детальной информации. Кроме данных, указанных в стандарте, в них будут записываться: снимки экрана, мониторинг системы и системных ресурсов во время появления нестандартной ситуации. При формировании отчета по тестированию учитываются следующие необходимые для него свойства:

• он должен быть ориентирован на читателей (от тестировщиков до менеджеров);

• он должен поддерживать различные форматы для интеграции;

• должна быть возможность комбинирования нескольких отчетов;

• должна существовать система фильтрации;

• должно быть централизованное хранение;

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

исследовательской работы, имеет структуру, показанную на рисунке 1.

Логгер

Сервис

База log-файлов

Файл настроек

Анализатор

• П

эомежуточный формат

Генератор документов

Рис. 1 Структура компонента документирования

В процессе автоматизированного выполнения тестов логгер записывает результаты тестирования в базу данных, после чего они передаются в сервис, являющийся генератором XML-файлов. Так же на вход подается и файл настроек. В нем передается информация о том, для каких тестовых документов нужно будет собрать информацию, и в каком формате нужно будет их создать. Генератор анализирует log файлы, выделяя необходимую информацию о тестах, после чего создает XML-файл с необходимыми данными. XML-файл позволяет хранить информацию, не привязываясь к конечным форматам создаваемых документов. После его создания возможен анализ хранимой в нем информации и перевод ее в нужный формат (например, Microsoft Word или Adobe Portable Document Format). Анализатор XML-файла разбирает подаваемый ему на вход XML-файл и передает данные описания в генератор конечных документов, который и создает все нужные документы в выбранном формате.

Для проведения последующего регрессионного тестирования формируется еще один отдельный документ, который представляет собой Test Case Specification и Test Procedure Specification. В этом документе записан новый тестовый набор, который направлен на тестирование элементов, не прошедших предыдущее тестирование и элементов, в которые могли быть занесены ошибки во время правки найденных ранее замечаний. Формирование этого набора происходит с помощью безопасного метода, основанного на анализе покрытия элементов.

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

- 215 -

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

Список литературы

1. Institute of Electrical and Electronics Engineers // 829 Standard for Software Test Documentation;

2. Лайза Криспин, Джанет Грегори // Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд.

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