воскресенье, 10 февраля 2013 г.

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

<описание реакции программы>.Тест-требования, написанные в рамках функционального подхода, обычно разделяют на следующие группы:функции контроля входных данных;функции обработки ошибок (ввода, вычислений);функции получения основного результата;функции обработки особых ситуаций;функции оформления и вывода результатов.Конкретизация программной реализации может потребовать уточнений или расширений реакций на различные ситуации, возникающие при решении задачи. В этом случае рекомендуется оформить дополнительные тест-требования низкого уровня для структурной проверки системы.Совокупность тест-требований должна обладать некоторыми важными свойствами: полнота, верифицируемость и непротиворечивость.Как правило, одному системному или функциональному требованию соответствует минимум одно тест-требование. Если совокупность проверок, задаваемых тест-требованиями, покрывает всю функциональность системы, определенную в системных требованиях и требованиях к программному обеспечению, то говорят о полноте тест-требований. При изменениях требований к системе для поддержания полноты должны меняться и те

Место тест-требований среди проектной документацииТест-требования, написанные в рамках структурного подхода, пишутся на основании описания архитектуры системы и принимают в расчет строение исходных текстов системы. Из-за такого различия функциональный и структурный подходы часто называют подходами черного и белого ящиков. Структурные тест-требования важны в том случае, когда к надежности системы предъявляются повышенные требования, т.е. когда важно проверить не только, насколько корректно система в целом отрабатывает сценарии своей работы (корректные и некорректные с точки зрения пользователя), но и как в различных нестандартных ситуациях будут вести себя отдельные ее компоненты.На практике почти всегда применяются оба подхода к разработке тест-требований. В результате в состав документации проекта включаются тест-требования верхнего уровня и тест-требования нижнего уровня, по которым составляются тест-планы ( ). 10.3.2. Свойства тест-требованийКак уже говорилось выше, тест-требования содержат описание требованиий по проверке всех основных функций системы. Тест-требования должны быть достаточными для построения тест-плана проверки реализации задачи без знакомства с ее программными текстами, т.е. тест-требования должны обладать свойством изоляции от внутренней структуры системы.Как правило, структура тест-требований следует структуре раздела функциональных требований на систему. Задача каждого требования - определение того, что надо проверить. Техника исполнения каждой такой проверки - задача тест-плана. Обычный формат описания отдельного требования следующий:Проверить, что при <описание внешнего воздействия> [происходит]

Документация, сопровождающая процесс верификацииНа основании тест-требований разработчиками тестов (test developers) создаются тест-планы - документы, которые содержат подробное пошаговое описание того, как должны быть протестированы тест-требования.На основании тест-требований и проектной документации разработчиков также создается тестовое окружение, необходимое для корректного выполнения тестов на тестовых стендах - драйверы, заглушки, настроечные файлы и т.п.По результатам выполнения тестов тестировщиками (testers) создаются отчеты о выполнении тестирования (они могут создаваться либо автоматически, либо вручную), которые содержат информацию о том, какие несоответствия требованиям были выявлены в результате тестирования, а также отчеты о покрытии, содержащие информацию о том, какая доля программного кода системы была задействована в результате выполнения тестирования.По несоответствиям создаются отчеты о проблемах - документы, которые направляются на анализ в группу разработчиков с целью определения причины возникновения несоответствия.Изменения в систему вносятся только после всестороннего изучения этих отчетов и локализации проблем, вызвавших несоответствие требованиям. Для того, чтобы процесс изменений не вышел из под контроля и любое изменение протоколировалось (и связывалось с тестами, обнаружившими проблему), создается запрос на изменение системы. После завершения всех работ по запросу на изменение процесс тестирования повторяется до тех пор, пока не будет достигнут приемлемый уровень качества программной системы.Форматы различных тестовых документов описаны в стандартах IEEE 1012 [ ] и IEEE 829 [ ], при дальнейшем изложении мы будем придерживаться духа этих стандартов.Следует особо отметить, что все документы должны иметь уникальные идентификаторы и храниться в единой базе документов проекта. Это позволит сохранить управляемость процессом тестирования и поддерживать необходимое качество разрабатываемой системы. Нет ничего хуже ситуации, когда найденная проблема не была исправлена из-за того, что отчет о ней был утерян и не попал к разработчику. 10.2. Стратегия и планы верификацииПервый документ, входящий в состав технологической документации процесса верификации - стратегия тестирования. Стратегия верификации определяет общие подходы и методики верификации, необходимые уровни верификации проектной документации и программного кода, технологии и инструментальные средства.Другой, не менее важный документ, создаваемый перед началом процесса верификации - план верификации. Этот план содержит последовательное описание всех этапов верификации, процедур на каждом этапе и связей с этапами разработки.Для каждого этапа определяется:типы входных и выходных документов;общая процедура верификации;роли и ответственности;форматы и соглашения по идентификации выходных документов;критерии оценки результативности этапа.Иногда план верификации разделяется на отдельные документы, описывающие более подробно каждый из этапов, например:план верификации системных требований;план верификации архитектуры;план тестирования программного кода;план тестирования модулей и их интеграции;план системного тестирования;план нагрузочного тестирования;план полунатурных испытаний;план приемо-сдаточных испытаний.Согласно разделу 4 стандарта IEEE 829 [ ] основная задача плана тестирования как документа - определение границ тестирования, подхода к тестированию, требуемых для тестирования ресурсов, плана-графика тестирования. План тестирования определяет тестируемые элементы и функции системы, задачи, решаемые в ходе тестирования, сотрудников, ответственных за тестирование, и риски, связанные с этим планом. Такая форма плана тестирования является достаточно полной и включает в себя не только технические аспекты, связанные собственно с описанием тестовых примеров, но и организационные, связанные с общим управлением процессом тестирования. На практике объемы технических и организационных разделов планов тестирования могут достаточно сильно варьироваться. Однако, минимально необходимые элементы, которые рекомендуется включать в каждый план тестирования - это:идентификатор плана тестирования и номер его версии, который позволяет однозначно находить нужный план тестирования и его последнюю актуальную версию в базе данных проекта;общее описание тест-плана ;трассировка на другие документы - стандарты, планы тестирования, тест-требования, результаты выполнения тестов;определение тестируемых областей системы - указание частей проектной документации, исходных текстов, исполняемого кода, подвергаемых верификации с указанием типа верификации (автоматизированные тесты, формальные инспекции, тестирование на моделях, полунатурные испытания и т.п.);определение подходов к тестированию - определение общих методик, которых следует придерживаться при тестировании системы. Несмотря на то, что большинство тестов могут довольно сильно различаться, общие методы и подходы к их построению могут быть едиными;критерий успешности/неуспешности прохождения тестов (pass/fail criteria) - в данном разделе описывается то, каким образом определяется успешность прохождения тестов для различных частей системы;тестовые документы - как правило, план тестирования содержит в качестве приложений все тестовые документы более низких уровней - тест-требования, тест-планы, результаты выполнения тестов, данные о сборе покрытия. В случае, если включать эти документы в состав плана тестирования представляется нецелесообразным (например, в случае их значительного объема), рекомендуется помещать ссылки на эти документы;требования к среде тестирования - данный раздел описывает требования к аппаратным и программным средствам, необходимым для проведения тестирования. В случае встроенного программного обеспечения программная система обычно работает на специальном аппаратном обеспечении, а инструментальные средства для тестирования - на обычных PC общего назначения. Для выполнения тестирования в таких условиях требуется либо использование эмуляторов, либо программно-аппаратный комплекс для сопряжения специального аппаратного обеспечения с PC. Кроме того, как правило, в состав программных средств тестирования входят кросс-средства разработки. В случае, если тестируется система общего назначения, в данном разделе просто перечисляются требования к оборудованию, необходимому для тестирования, которые, как правило, несколько выше, чем требования к оборудованию, достаточному для работы системы;людские ресурсы и уровень их подготовки - в данном разделе приводится состав группы тестирования, необходимый для успешного завершения тестирования в поставленные сроки, а также приводится необходимые знания для различных ролей в группе;план-график тестирования - содержит сроки всех фаз тестирования;риски - содержит список рисков, которые могут помешать завершить тестирование в срок или с необходимым уровнем качества. Как правило, для каждого риска оценивается вероятность его возникновения, а также приводятся общие пути, при помощи которых можно избежать возникновения риска или ликвидировать его последствияСтратегия и планы тестирования несколько отличаются от другой документации, относящейся к процессу тестирования: в этих документах достаточно много внимания уделяется тому, как должен быть организован процесс тестирования, а не тому, как тестировать саму систему. 10.3. Тест-требования 10.3.1. Технологические цепочки и роли участников проекта, использующих тест-требования. Связь тест-требований с другими типами проектной документации.Тест-требования - основной документ для тестировщика, который определяет функциональность системы с точки зрения того, что должно быть проверено, чтобы удостовериться в ее корректном функционировании, а также - на основании какого внешнего эффекта можно убедиться, что проверяемая функция реализована правильно.Существует два подхода к написанию тест-требований - функциональный и структурный. Тест-требования, написанные в рамках функционального подхода, основываются на системных требованиях и требованиях к программному обеспечению системы. Рис. 10.2.P

10.1. Технологические процессы верификации и роли в проекте, документация, создаваемая в ходе жизненного цикла проекта, ее назначениеВ ходе работы над проектом по созданию любой сложной программной системы создается большое количество проектной документации. Основное ее назначение: координация совместных действий большого количества разработчиков в течение более или менее длительных промежутков времени - в процессе первоначальной разработки системы, в процессе выполнения работ по ее модификации, в процессе сопровождения. Структурный состав проектной документации в большинстве проектов практически одинаков - это требования к системе различного уровня (системные, функциональные и структурные), описание ее архитектуры, программный код, тесты и документы, сопровождающие процесс внедрения (руководства по установке, настройке, пользовательские руководства).Поскольку верификация программной системы (в оптимальном случае) выполняется в течение всего жизненного цикла разработки достаточно большим коллективом разработчиков, при тестировании создается тестовая документация. Основное ее назначение, помимо синхронизации действий тестировщиков различных уровней, - обеспечение гарантий того, что тестирование выполняется в соответствии с выбранными критериями оценки качества, а также того, что все аспекты поведения системы протестированы. Также тестовая документация используется при внесении изменений в систему для проверки того, что как старая, так и новая функциональность работает корректно ( ).Перед началом верификации менеджером тестирования (test manager) создается документ, называемый планом верификации (или планом тестирования, но это не то же самое, что тест-план). План тестирования - организационный документ, содержащий требования к тому, как должно выполняться тестирование в данном конкретном проекте. В нем определяются общие подходы к согласованию процессов разработки и верификации, определяются методики проведения верификации, состав тестовой документации и ее взаимосвязь с документацией разработчиков, сроки различных этапов верификации, различные роли и квалификация тестировщиков, необходимые для выполнения всех работ по тестированию, требования к инструментам тестирования и тестовым стендам, а также оцениваются риски и приводятся пути для их преодоления.В данном документе также определяются требования собственно к тестовой документации - тест-требованиям, тест-планам, отчетам о выполнении тестирования.Согласно этим требованиям по системным и функциональным требованиям разработчиками тестов (test procedure developers) создаются тест-требования - документы, в которых подробно описано то, какие аспекты поведения системы должны быть протестированы. На основании описания архитектуры создаются низкоуровневые тест-требования, где описываются аспекты поведения конкретной программной реализации системы, которые необходимо протестировать. Рис. 10.1.P

Лекция посвящена документации, создаваемой в процессе тестирования. Рассмотрены технологические процессы, сопряженные с созданием или использованием тестовой документации. Рассмотрены следующие типы документов: стратегия и планы верификации, тест-требования. Цель данной лекции: определить основные технологические цепочки, в которых создается и используется тестовая документация, дать представление о роли стратегии верификации и планов верификации, определить подходы к разработке и анализу тест-требований

Документация, сопровождающая процесс верификации и тестирования (тест-требования): версия для печати и PDA

Верификация программного обеспечения

Интернет-Университет Информационных Технологий

INTUIT.ru::Интернет-Университет Информационных Технологий

Комментариев нет:

Отправить комментарий