К дипломному проекту icon

К дипломному проекту


Загрузка...
страницы:   1   2   3   4   5   6   7   8   9   ...   13
скачать


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)


Кафедра «Информационно-коммуникационные технологии»


ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к дипломному проекту


На тему «Средства автоматизированного тестирования как контроль качества программного продукта»


Дипломник Алексашенков Даниил Владиславович

/

Руководитель проекта Акатов Максим Сергеевич


Допущен к защите_________________2010 г.


КОНСУЛЬТАНТЫ ПРОЕКТА:


Специальная часть ______________________ М. С. Акатов


Охрана труда ______________________ А. Ф. Завальнюк


Заведующий кафедрой ______________________ В. Н. Азаров


МОСКВА 2010 г.



Введение 4

Глава 1. Обзор существующих средств автоматизации тестирования 8

1.1 Тестирование на уровне кода 8

1.2 Тестирование приложений через графический интерфейс 12

^ Глава 2. Организация тестирования программного продукта 17

Глава 3. Жизненный цикл программного продукта 23

Глава 4. Качество и надежность программного продукта 35

4.1 Показатели качества ПО в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126 35

4.2 Модели и метрики оценки качества ПО 44

4.3 Метрики качества тестирования 50

^ Глава 5. Виды тестирования программного продукта 52

5.1 Функциональные виды тестирования 52

5.2 Нефункциональные виды тестирования 54

5.3 Связанные с изменениями виды тестирования 57

^ Глава 6. Оценка эффективности автоматизации тестирования 60

Глава 7. Оценка полноты тестирования 65

7.1 Структурные критерии 66

7.2 Критерии полноты на основе структуры входных данных 72

7.3 Критерии полноты на основе требований 74

7.4 Критерии полноты на основе предположений об ошибках 76

Заключение 78

Приложение 1. Охрана труда 80

Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей 81

Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов. 84

Используемая литература 93


Введение


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

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

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

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

При автоматизированном тестировании для выполнения тестов и проверки результатов используются программные средства. При использовании методологии гибкого программирования TDD (Test Driven Development, Разработка через тестирование) тесты пишутся до написания кода программы, и программа считается законченной, когда проходит все тесты. В этом подходе автоматизация тестирования заложена в самой методологии. Автоматизация тестирования при правильном применении позволяет значительно снизить время, необходимое на тестирование. Оно не может полностью заменить ручное тестирование, но зато высоко эффективно при модульном, регрессионном, нагрузочном, инсталляционном и некоторых других видах тестирования.

Самая первая "автоматизация" появилась в эпоху операционных систем DOS и CP/M. Тогда она заключалась в отдаче приложению команд через командную строку и анализе результатов. Чуть позже добавились удаленные вызовы через API для работы по сети. Впервые об автоматизированном тестировании упоминается в книге Фредерика Брукса "Мифический человеко-месяц", где говорится о перспективах использования модульного тестирования. Но по-настоящему автоматизация тестирования стала развиваться только в 80-х годах.

Существует два основных подхода к автоматизации тестирования: тестирование на уровне кода и GUI-тестирование. К первому типу относится, в частности, модульное тестирование. Ко второму - имитация действий пользователя с помощью специальных тестовых фреймворков.

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

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

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

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






оставить комментарий
страница1/13
Дата22.09.2011
Размер0,87 Mb.
ТипДиплом, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3   4   5   6   7   8   9   ...   13
Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх