Тестирование ПО (реферат)
Описание файла
PDF-файл из архива "Тестирование ПО (реферат)", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "распределённые ис и базы данных" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Научно Исследовательский ИнститутМосковский Энергетический ИнститутРефератТестирование ПОСангаджиев Юрий Олегович11.12.2011ОглавлениеВведение ...................................................................................................................................................... 2История развития тестирования программного обеспечения ................................................................ 5Классификации тестирования. ................................................................................................................... 7Черный, белый, серый ящики. ............................................................................................................... 8По объекту тестирования........................................................................................................................
9Тестирование интерфейса пользователя. ......................................................................................... 9Тестирование локализации ................................................................................................................ 9Тестирование производительности ................................................................................................... 9Нагрузочное тестирование ...............................................................................................................10Юзабилити-тестирование .................................................................................................................18По степени автоматизации. ..................................................................................................................21По степени изолированности компонентов .......................................................................................24По времени проведения тестирования ...............................................................................................27Обзор сред автоматизации тестирования.
.............................................................................................30BUGS - the Bug Genie ..............................................................................................................................33Bugzilla ....................................................................................................................................................33JIRA ..........................................................................................................................................................34Trac ..........................................................................................................................................................35HP LoadRunner, HP QuickTest Professional, HP Quality Center .............................................................36Выводы ...................................................................................................................................................38Выводы .......................................................................................................................................................39ВведениеСуществующие на сегодняшний день методы тестирования ПО непозволяют однозначно и полностью выявить все дефекты и установитькорректность функционирования анализируемой программы, поэтому всесуществующие методы тестирования действуют в рамках формальногопроцесса проверки исследуемого или разрабатываемого ПО.Такой процесс формальной проверки или верификации может доказать,что дефекты отсутствуют с точки зрения используемого метода.
(То есть нетникакой возможности точно установить или гарантировать отсутствиедефектов в программном продукте с учётом человеческого фактора,присутствующего на всех этапах жизненного цикла ПО).Существует множество подходов к решению задачи тестирования иверификации ПО, но эффективное тестирование сложных программныхпродуктов — это процесс в высшей степени творческий, не сводящийся кследованию строгим и чётким процедурам или созданию таковых.С точки зрения ISO 9126, Качество (программных средств) можноопределить как совокупную характеристику исследуемого ПО с учётомследующих составляющих:Функциональность — Набор атрибутов характеризующий,соответствие функциональных возможностей ПО набору требуемойпользователем функциональности.
Детализируется следующимиподхарактеристиками (субхарактеристиками): Пригодностью для применения Корректностью (правильностью, точностью) Способностью к взаимодействию (в частности сетевому) ЗащищенностьюНадёжность — Набор атрибутов, относящихся к способности ПОсохранять свой уровень качества функционирования в установленныхусловиях за определенный период времени. Детализируется следующимиподхарактеристиками (субхарактеристиками): Уровнем завершенности (отсутствия ошибок) Устойчивостью к дефектам Восстанавливаемостью Доступностью ГотовностьюПрактичность (применимость) — Набор атрибутов, относящихся кобъему работ, требуемых для исполнения и индивидуальной оценкитакого исполнения определенным или предполагаемым кругомпользователей.
Детализируется следующими подхарактеристиками(субхарактеристиками):Понятностью Простотой использования Изучаемостью Привлекательностью Эффективность — Набор атрибутов, относящихся к соотношениюмежду уровнем качества функционирования ПО и объемом используемыхресурсов при установленных условиях. Детализируется следующимиподхарактеристиками (субхарактеристиками): Временной эффективностью Используемостью ресурсов Сопровождаемость — Набор атрибутов, относящихся к объему работ,требуемых для проведения конкретных изменений (модификаций).Детализируется следующими подхарактеристиками(субхарактеристиками): Удобством для анализа; Изменяемостью Стабильностью Тестируемостью Мобильность — Набор атрибутов, относящихся к способности ПОбыть перенесенным из одного окружения в другое. Детализируетсяследующими подхарактеристиками (субхарактеристиками): Адаптируемостью Простотой установки (инсталляции) Сосуществованием (соответствием) ЗамещаемостьюБолее полный список атрибутов и критериев можно найти в стандарте ISO9126 Международной организации по стандартизации.
Состав и содержаниедокументации, сопутствующей процессу тестирования, определяетсястандартом IEEE 829-1998 Standard for Software Test Documentation.Для того чтобы обеспечить надлежащее качество программнымпродуктам сегодня применяются некоторые виды тестирования:1)2)3)4)5)6)7)8)Модульное тестированиеСистемное тестированиеРегрессионное тестированиеИнтеграционное тестированиеЮзабилити тестированиеАтестационное тестированиеАльфа и Бета – тестированиеЕще какое тоНо прежде чем рассмотреть классификацию тестирование обратимся кистории развития тестирования ПО.История развития тестирования программного обеспеченияПервые программные системы разрабатывались в рамках программнаучных исследований или программ для нужд министерств обороны.Тестирование таких продуктов проводилось строго формализовано с записьювсех тестовых процедур, тестовых данных, полученных результатов.Тестирование выделялось в отдельный процесс, который начинался послезавершения кодирования, но при этом, как правило, выполнялось тем жеперсоналом.В 1960-х много внимания уделялось «исчерпывающему»тестированию, которое должно проводиться с использованием всех путей вкоде или всех возможных входных данных.
Было отмечено, что в этихусловиях полное тестирование ПО невозможно, потому что, во-первых,количество возможных входных данных очень велико, во-вторых,существует множество путей, в-третьих, сложно найти проблемы вархитектуре и спецификациях. По этим причинам «исчерпывающее»тестирование было отклонено и признано теоретически невозможным.В начале 1970-х тестирование ПО обозначалось как «процесс,направленный на демонстрацию корректности продукта» или как«деятельность по подтверждению правильности работы ПО». Взарождавшейся программной инженерии верификация ПО значилась как«доказательство правильности».
Хотя концепция была теоретическиперспективной, на практике она требовала много времени и быланедостаточно всеобъемлющей. Было решено, что доказательствоправильности — неэффективный метод тестирования ПО. Однако, внекоторых случаях демонстрация правильной работы используется и в нашидни, например, приемо-сдаточные испытания.
Во второй половине 1970-хтестирование представлялось как выполнение программы с намерениемнайти ошибки, а не доказать, что она работает. Успешный тест — это тест,который обнаруживает ранее неизвестные проблемы. Данный подход прямопротивоположен предыдущему. Указанные два определения представляютсобой «парадокс тестирования», в основе которого лежат двапротивоположных утверждения: с одной стороны, тестирование позволяетубедиться, что продукт работает хорошо, а с другой — выявляет ошибки вПО, показывая, что продукт не работает.
Вторая цель тестирования являетсяболее продуктивной с точки зрения улучшения качества, так как не позволяетигнорировать недостатки ПО.В 1980-х тестирование расширилось таким понятием, какпредупреждение дефектов. Проектирование тестов — наиболее эффективныйиз известных методов предупреждения ошибок. В это же время сталивысказываться мысли, что необходима методология тестирования, вчастности, что тестирование должно включать проверки на всем протяжениицикла разработки, и это должен быть управляемый процесс.
В ходетестирования надо проверить не только собранную программу, но итребования, код, архитектуру, сами тесты. «Традиционное» тестирование,существовавшее до начала 1980-х, относилось только к скомпилированной,готовой системе (сейчас это обычно называется системное тестирование), нов дальнейшем тестировщики стали вовлекаться во все аспекты жизненногоцикла разработки.
Это позволяло раньше находить проблемы в требованиях иархитектуре и тем самым сокращать сроки и бюджет разработки. В середине1980-х появились первые инструменты для автоматизированноготестирования. Предполагалось, что компьютер сможет выполнить большетестов, чем человек, и сделает это более надежно.
Поначалу эти инструментыбыли крайне простыми и не имели возможности написания сценариев наскриптовых языках.В начале 1990-х в понятие «тестирование» стали включатьпланирование, проектирование, создание, поддержку и выполнение тестов итестовых окружений, и это означало переход от тестирования к обеспечениюкачества, охватывающего весь цикл разработки ПО. В это время начинаютпоявляться различные программные инструменты для поддержки процессатестирования: более продвинутые среды для автоматизации с возможностьюсоздания скриптов и генерации отчетов, системы управления тестами, ПОдля проведения нагрузочного тестирования.