Бесплатные рефераты


В мире
Календарь новостей
« Дек.2017»
Пн.Вт.Ср.Чт.Пт.Сб.Вс.
    123
45678910
11121314151617
18192021222324
25262728293031
ВНИМАНИЕ!!!
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ!!!
Сайт поменял владельца и на нём грядут большие перемены.
Убедительная просьба не пользоваться покупкой рефератов через смс.
ДАННЫЙ СЕРВИС БОЛЬШЕ НЕ РАБОТАЕТ
Стоит вопрос об его удалении, дабы сделать рефераты бесплатными. Извините за неудобство и спасибо за понимание
Поиск реферата

Реферат, курсовая, контрольная, доклад на тему: Автоматизированное тестирование при разработке ПО

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо скачать работу.

Автоматизированное тестирование при разработке ПО

Виктор Ематин, Борис Позин

Аннотация

Статья рассматривает один из самых важных этапов при разработке сложных программных систем – этап тестирования. Современные средства разработки позволяют быстро построить "каркас" приложения, но насколько это качественно? В статье описываются основные задачи тестирования, виды тестов и критерии тестирования. Приводятся рекомендации по построению процесса тестирования.

Тестирование - один из важнейших этапов проверки качества разработанного ПО.

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

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

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

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

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

2. Неопытный заказчик всегда настроен на то, чтобы дать задание, а потом посмотреть конечный результат. Это самый верный способ получить некачественное ПО. Но низкое качество невыгодно обеим сторонам. Заказчику потому что заказанное им ПО нельзя использовать к тому моменту, когда оно уже нужно, и он теряет время и деньги, поскольку ПО должно работать на его бизнес, а оно не работает (т. е. не приносит денег), да еще и отбирает дополнительные ресурсы на доработку. Разработчику потому, что он теряет авторитет, дорабатывает ПО за свой счет (теряет деньги) и не может быстро переключиться на другого заказчика (теряет заказы). Гораздо эффективнее поэтапно осуществлять контроль над ходом отработки ПО. Именно такой подход приносит наибольший эффект и при разумной позиции заказчика будет наверняка положительно воспринят разработчиком. Для успешного проведения тестирования чрезвычайно важно тщательно спланировать эти работы. Рекомендуется использовать шаблоны документов, в том числе плана тестирования, разработанный в соответствии с требованиями международного стандарта IEEE 829-1983 Standard for Software Test Documentation.

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

3. И все же, что значит "поэтапное тестирование"? Заметим сразу, что многие заказчики не думают о том, что тестирование стоит денег и вообще затрат ресурсов и что за качество надо платить. Однако, осознав это, заказчик всегда должен понимать, за что именно он платит и как увидеть результаты.

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

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

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

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

Этапы тестирования

 Вид тестирования

 Стадия, этап

 Объект

 Критерий

 Структурное, надежности

 Разработка

 Компоненты

 Покрытие ветвлений, функции

 Сборочное

 Разработка

 Подсистемы

 Функциональность, степень проверки компонентов

 Функциональное

 Разработка

 Система в целом

 Соответствие функциональным требованиям ТЗ

 Регрессионное

 Разработка, сопровождение

 Система в целом

 Проверка качества внесения изменений

 Нагрузочное

 Разработка, сопровождение

 Система в целом

 Оценка статистических характеристик системы, соответствие ТЗ, ТТХ, подбор конфигурации оборудования

 Стрессовое

 Разработка, сопровождение

 Система в целом

 Корректность работы системы при предельных нагрузках

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо А можно заказать оригинальный реферат
Опубликовано: 20.08.10 | [ + ]   [ - ]  
Просмотров: 98
Загрузок: 0
Рекомендуем
{dnmbottom}
БАНК РЕФЕРАТОВ содержит более 70 000 рефератов, курсовых, контрольных работ, сочинений и шпаргалок.