Тестирование ПО (реферат), страница 6
Описание файла
PDF-файл из архива "Тестирование ПО (реферат)", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "распределённые ис и базы данных" в общих файлах.
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
regression testing, от лат. regressio —движение назад) — собирательное название для всех видов тестированияпрограммного обеспечения, направленных на обнаружение ошибок в ужепротестированных участках исходного кода. Такие ошибки — когда послевнесения изменений в программу перестает работать то, что должно былопродолжать работать, — называют регрессионнымиошибками (англ.
regression bugs).Регрессионное тестирование (по некоторым источникам) включает newbug-fix - проверка исправления найденного ранее дефекта, old bug-fix проверка, что исправленный ранее и верифицированный дефект невоспроизводится в системе снова, а также side-effect - проверка того, что ненарушилась работоспособность работающей ранее функциональности, еслиее код мог быть затронут при исправлении некоторых дефектов в другойфункциональности.
Обычно используемые методы регрессионноготестирования включают повторные прогоны предыдущих тестов, а такжепроверки, не попали ли регрессионные ошибки в очередную версию врезультате слияния кода.Из опыта разработки ПО известно, что повторное появление одних итех же ошибок — случай достаточно частый. Иногда это происходит из-заслабой техники управления версиями или по причине человеческой ошибкипри работе с системой управления версиями.
Но настолько же часто решениепроблемы бывает «недолго живущим»: после следующего изменения впрограмме решение перестаёт работать. И наконец, при переписываниикакой-либо части кода часто всплывают те же ошибки, что были впредыдущей реализации.Поэтому считается хорошей практикой при исправлении ошибкисоздать тест на неё и регулярно прогонять его при последующих измененияхпрограммы.
Хотя регрессионное тестирование может быть выполнено ивручную, но чаще всего это делается с помощью специализированныхпрограмм, позволяющих выполнять все регрессионные тесты автоматически.В некоторых проектах даже используются инструменты для автоматическогопрогона регрессионных тестов через заданный интервал времени. Обычноэто выполняется после каждой удачной компиляции (в небольших проектах)либо каждую ночь или каждую неделю.Регрессионное тестирование может быть использовано не только дляпроверки корректности программы, часто оно также используется дляоценки качества полученного результата. Так, при разработке компилятора,при прогоне регрессионных тестов рассматривается размер получаемогокода, скорость его выполнения и время компиляции каждого из тестовыхпримеров.Аттестационное тестирование используется для того, чтобыопределить, соответствует ли реализация системы стандарту, на которомоснована данная реализация.Чтобы облегчить эту задачу, было разработано множество тестовыхпроцедур и тестовых конфигураций — либо разработчиками стандартов,либо внешними организациями, специализирующимися на тестированиисоответствия стандартам.Такое тестирование гарантирует большее соответствие стандарту.
Хотяникакое аттестационное тестирование не способно гарантировать 100%-ноесоответствие стандарту, покрытие набора тестов может асимптотическистремиться к этой величине. Продукты, протестированные таким образом,рекламируются как прошедшие сертификацию на соответствие стандартувнешней организацией, проводящей аттестационное тестирование.Обзор сред автоматизации тестирования.Рассмотрим некоторые понятия, которые используются в современныхсредах автоматизации тестирования.Требование – это формализованное описание свойств системы.Виды требований:Бизнес-требованияФункциональные требованияНефункциональные требованияТестовые требованияТестовое требование – это формализованное описание свойствсистемы, которые необходимо протестировать.Критерии к тестовым требованиям:•••••••••Корректность;Недвусмысленность;Полнота;Непротиворечивость;Упорядоченность по важности и стабильности;Проверяемость (верифицируемость или тестопригодность);Модифицируемость;Трассируемость;Понятность.Тестовый сценарий – это последовательность ДЕЙСТВИЙ длядостижения фактического результата.Состав тестового сценария••••••НазваниеПредварительные условияНеобходимые действияОжидаемый результатПолученные результатыОтметка о прохождении• Сценарий должен быть прост и понятен всем: неопытномутестировщику, программисту, бизнес-пользователю.Тестовый набор – набор тестов, которые принадлежат к однойфункциональности.Дефект – отклонение от фактического результата от ожидаемогорезультата.Минимальные данные о дефекте:краткое описаниедатаавтор (обнаруживший дефект)ссылка на систему и ее версию (build)приоритет (Priority)серьезность проблемы (Severity)описание (предусловия, шаги для воспроизведения, ожидаемыйрезультат, действительный результат)• состояние, статус•••••••Классификация по типу:Ошибки в функциональности••••••ошибки эргономики модуля или бизнес-процессаошибки документированияошибки производительностиошибки локализацииошибки совместимостиошибки безопасностиСтепени критичности:••••Максимальная критичностьВысокая критичностьНормальная критичностьНизкая критичностьЖизненный цикл дефектов.Система трекинга багов — это инфраструктура, позволяющая:• создавать,• хранить,• просматривать и• модифицировать информациюКаждый баг, занесенный в СТБ, представляет собой виртуальную учетнуюкарточку.ОбычноРассмотрим несколько известных баг-трекинговых систем:• BUGS• Bugzilla• JIRA• Trac• Track Studio•Продукты HPBUGS - the Bug Geniewww.thebuggenie.comЭто свободная система отслеживания ошибок.
Для управленияпредоставляется веб-интерфейс. Система кроссплатформенная, написана наPHP.BUGS предоставляет базовый набор инструментов для регистрации ошибок,расстановки приоритетов, формировании задач для разработчиков.Система позволяет:• оповещать всех, кто может быть связан с ошибкой.• отслеживать ошибки в зависимости от версии и конфигурации ПО.• сохранять ошибки в единую БД, представляющую собой базу знанийоб ошибках в проекте. Далее по этой БД можно формироватьподробные отчеты.• устанавливать blocker bugs - ошибки, которые могут блокироватьвыпуск релиза.В последних версиях разработчики BUGS улучшили формат отчетов.
Чтоособенно приятно: BUGS обладает user-friendly интерфейсом. Для работы сэтой BTS вам не потребуется копаться в горах мануалов.Недостаток BUGS - отсутствие распределенной многопользовательскойработы. Невозможно работать удаленно с несколькими серверами илинесколькими БД. В силу этого можно рекомендовать, BUGS для небольшихкоманд разработчиков.Bugzillawww.bugzilla.orgBugzilla – это одна из наиболее популярных систем багтрэкинга. Bugzillaявляется свободным ПО и распространяется по Mozilla Public License.Bugzilla пользуются более 800 (!) компаний по всему миру.Система позволяет:• отслеживать ошибки и изменения кода• общаться с членами команды• размещать и описывать патчи• производить контроль качества продуктовСистема предоставляет отличную базу знаний для ошибок, по которойможно весьма легко формировать отчеты.
Bugzilla имеет стандартный вебинтерфейс.Bugzilla можно интегрировать с другими программами, для управленияпроектами:• CVS• Perforce SCM• Subversion• Tinderbox/Tinderbox2К недостаткам Bugzilla можно отнести сложность установки, зависимостьот модулей Perl, сложность администрирования и несколько неприглядныйинтерфейсJIRAwww.atlassian.com/software/jira/JIRA обладает на сегодняшний день наиболее широкойфункциональностью среди систем отслеживания ошибок. В целом JIRAповторяет архитектуру Bugzilla.Процесс баг трэкинга следующий:• Создаваясь, сообщение обязательно имеет Assignie –ответственного, адресата• Каждому Issue можно поставить приоритет важности, адресоватьна себя, добавить комментарий.• Сообщения можно установить статус IN PROGRESS – в началеработы над ним, и соответственно указав, когда работы над нимзакончены.Аккаунты пользователей управляются как администратором, так и самимпользователем.
Пользователи могут быть объединены в группы. При чём какотдельному пользователю так и группе можно запретить/разрешить одновполне конкретное действие.JIRA идеально подходит для крупных проектов, с большим штатомтестировщиков. Используя JIRA можно работать под различными ОС,создавать и вести «схемы безопасности» для каждого из проектов.Эта BTS обладает одним существенным недостатком: она платная.Tractrac.edgewall.orgTrac – это открытое ПО, являющиеся одновременно инструментом дляуправления проектом и системой отслеживания ошибок.Интерфейс Trac фактически представляет wiki. Система использует вработе SVN репозиторий, так что использовать его имеет смысл тольковместе с svn.Возможности системы:• разделение проекта на этапы (milestones)• контроль выполнения (roadmap)• все изменения по проекту заносятся на временную шкалу(timeline)• поддержка RSSОтчеты об ошибках можно заносить в тикеты.
Среди прочего Tracпозволяет: учет ошибок, замечаний, пожеланий с возможностью фильтрациии занесение соответственно в milestone, roadmap.Trac является кроссплатформенной системой. Эту систему можнорекомендовать широкому кругу разработчиков, которые хотят внедритькомплексную систему управления проектами, включающую отслеживаниеошибок.Track Studio является отечественным продуктом и разработан российскойкомпанией «ГРАН»В отличие от JIRA, оптимизированной для работы с внешними клиентами,Track Studio позволяет эффективно организовать работу внутри компании(например, обработку обращений клиентов). Track Studio позволяетэффективно управлять тысячами проектов: проекты можно организовывать виерархию, можно делать поиск проектов по параметрам, к проектам можноприкладывать файлы, для проектов можно создавать пользовательские поля(дата релиза, клиент, номер договора) и многое другое.
Одно из преимуществсостоит в том, что Track Studio хорошо поддерживает БД Oracle.В Track Studio сложно осуществлять интеграцию с другими средамиразработки. Кроме того у программы достаточно сложный интерфейс.Цены на Track Studio начинаются от $500, что является существеннымпреимуществом по сравнению с JIRA.HP LoadRunner, HP QuickTest Professional, HP QualityCenterНа рынке ПО для тестировщиков также существует и решение отHP(Компания HP совершила крупнейшую сделку по приобретению MercuryInteractive Corp., в результате которой их детище - HP Software - интегрируетвозможности Mercury в сфере управления и тестирования приложений собширным портфелем решений HP для управления ИТ).