Файл: Федеральное государственное автономное образовательное учреждение высшего образования казанский (приволжский) федеральный университет высшая школа информационных технологий и информационных систем.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 462
Скачиваний: 1
СОДЕРЖАНИЕ
Роль тестирования в процессе разработки
Фазы жизненного цикла тестирования программного обеспечения
Измерения в процессе тестирования. Польза измерений
Польза измерений при тестировании программного обеспечения
Показатели, характеризующие стоимость тестирования
Показатели, характеризующие стратегию тестирования
Метрики для этапа планирования тестирования
Метрики для показателей этапа тест-дизайна
Метрики для оценки качества тестирования
Метрики для оценки стоимости тестирования
Метрики для оценки объема тестирования
Метрики для оценки стратегии тестирования
Измерение комбинаций техник тестирования
Оценка адекватности тестовых данных
Польза и правила применения метрик в процессе тестирования
Показатели, характеризующие стратегию тестирования
Следующие показатели можно отнести к категории «Стратегия» этапа тест-дизайна.
-
Последовательность Тест-кейсов; -
Определение области для дальнейшего тестирования; -
Техники тестирования; -
Тестовые данные.
Последовательность Тест-кейсов
Поскольку Тестовые случаи разрабатываются в рамках процесса тест-дизайна, должна быть соблюдена рациональность в обосновании последовательности выполнения Тестовых случаев [22]51. Другими словами, так как не все тестовые примеры имеют одинаковое значение, они должны быть классифицированы по приоритетности.
Определение области для дальнейшего тестирования
Поскольку исчерпывающее тестирование редко возможно, в процессе проектирования тестов необходимо определить зоны повышенного риска, которые требуют более тщательного тестирования [4]52. Один из способов определения областей для дополнительного тестирования заключается в использовании мер сложности [21]. Другим вероятным способом является использование Сводных Отчетов Проверки [21], которые идентифицируют ошибки в логике, интерфейсе, определении данных и документации для идентификации модулей, требующих дополнительного тестирования.
Техники тестирования
В процессе данного исследования показателей также важно использовать данные о технике тестирования, которую нужно применять, чтобы быть более эффективными в поиске дефектов. Так как рекомендуется использовать комбинацию техник для обеспечения высокого качества программного обеспечения [11,31]53, было бы интересно понять, какие методы работают лучше, чем другие. Разработка Тестовых случаев на основе метода зависит от пригодности тестов для конкретных частей системы [7]54. Выбор техник тестирования в идеале должен помочь сузить большой набор возможных входных условий.
Тестовые данные
Некорректные или слишком простые тестовые данные повышает шансы на пропуск дефектов и уменьшение тестового покрытия [7]. Таким образом, важно определить адекватные данные для тестов, который имеет потенциал для идентификации как можно большего числа дефектов.
-
Показатели, характеризующие качество тестирования
Следующие показатели можно отнести к категории «Качество» этапа тест-дизайна.
-
Эффективность Тест-кейсов; -
Достижение поставленных целей; -
Полнота тестов.
Эффективность Тест-кейсов
Очевидно, что эффективный тест способен обнаружить большее ошибок. Тестовый случай состоит из набора условий, которые проверяют, выполнено ли требование тестируемым приложением или нет, и соответствует ли входным данным и ожидаемым результатам. Эффективность тестирования можно определить, как способность набора Тест-кейсов обнаружить неисправности приложения [23]55. Поэтому необходимо знать, насколько хорошо тест разрабатывается. Требуются метрики, которые устанавливают качество разработки тестов. Также полезно измерять количество ошибок в тестовых примерах, чтобы решить, следует ли применять данные тесты [11]. Для программного обеспечения, в котором стабильность является важным атрибутом качества, сравнение системных сбоев и зависаний на каждом выпуске может указать на эффективность стресс-тестов и определяет готовность продукта.
Достижение поставленных целей
В рамках процесса проектирования тестов, устанавливаются цели, которые должны быть выполнены. Эти цели либо предписаны стандартами компании, либо необходимы для сертификации. Процесс проектирования тестов должен достичь этих целей, чтобы удовлетворить критериям окончания тестирования.
Полнота тестов
Когда все Тест-кейсы разработаны, крайне важно проверить, что требования и код покрыты надлежащим образом, то есть как указано в критериях выхода в тест плане [21]56. Это делается для обеспечения полноты тестовых испытаний [18]57. Метрика для оценки полноты тестов полезна, чтобы определить, в какой степени Тест-кейсы покрывают требования и код. Она также помогает в оценке эффективности тестовых примеров. Классификация показателей этапа тест-дизайна проиллюстрирована на рисунке 20.
Рис. 20. - Показатели этапа тест-дизайна
- 1 ... 10 11 12 13 14 15 16 17 ... 31
Метрики для этапа планирования тестирования
Ранее были классифицированы показатели для этапа планирования тестирования по 4 категориям: прогресс, стоимость, качество, области для тестирования и ожидаемые дефекты. Пора приступить к исследованию метрик для представителей каждой из категорий.
-
Метрики для оценки прогресса тестирования
К категории «Прогресс» относятся следующие показатели:
-
приостановка тестирования; -
окончание тестирования; -
объем тестирования; -
отслеживание статуса тестирования; -
производительность тестировщиков; -
ведение документации.
-
Оценка приостановки тестирования
Показатели для приостановки тестирования определяют обстоятельства и условия, при которых тестирование должно быть временно приостановлено. Эти показатели заблаговременно устанавливают, что возникновение некоторых событий приведет к приостановке тестирования. Согласно [9]58, данные критерии используются для приостановки всей деятельности или ее части, которая связана с тест-планом.
Одним из путей для приостановки деятельности является наличие определенного количества дефектов или полной неработоспособности приложения, обнаруженной тестированием, что делает дальнейшее тестирование невозможным. В таком случае приостановка деятельности сохраняет драгоценное время, которое могло быть потрачено на тестирование, но впустую.
Часто есть зависимость между различными видами активности по тестированию. Например, если есть более приоритетная критичная задача, то остальные задачи должны быть временно приостановлены, пока задача не будет выполнена [6]59.
Есть определенные потребности в окружении, которые необходимы для тестирования, чтобы двигаться вперед. Эти потребности включают в себя [4]60:
-
аппаратные средства (платформы, принтеры, сканеры, имитаторы); -
коммуникации (шлюзы, соединения, разрешения, протоколы); -
интерфейсы (внутренний, внешний); -
документация (требования, дизайн, пользовательские операции); -
программное обеспечение (программное обеспечение для испытания, операционная система, тестовые данные, тесты); -
расходные материалы (бланки, документы); -
персонал (пользователи, разработчики, операторы, тестеры); -
услуги (место, пространство, безопасность).
Любая неполнота в указанных выше аспектах тестовой среды может приостановить тестирование приложения. Например, прогресс тестирования будет затронут, если будет недостаток в ресурсах.
Результат оценки показателя «Приостановка тестирования» приведен в таблице 3:
Таблица 1. Показатель "Приостановка тестирования"
Свойство показателя | Показатель «приостановка тестирования» |
Цель показателя | Выделить обстоятельства и условия, при которых тестирование должно быть временно приостановлено |
Польза показателя | Сохраняет драгоценное время |
Измеряет первоначальную стабильность приложения | |
Исключает дополнительные трудовые и временные затраты на тестирование в дальнейшем | |
Условия для приостановки | Незаконченные задачи |
Большое количество ошибок | |
Критичные ошибки | |
Нехватка ресурсов в тестовом окружении |
-
Оценка окончания тестирования
Секция окончания тестирования является важной частью плана тестирования, который определяет условия, при которых тестирование переходит с одного уровня на другой. Эта практика предполагает тщательное управление процессом разработки программного обеспечения [24]61. Критерии окончания устанавливаются для каждого уровня плана тестирования. Это важно, потому что если критерий окончания для тестирования интеграции не является строгим, таким образом, что тестирование системы запускается до завершения тестирования интеграции, то многие из ошибок, которые должны были быть найдены во время тестирования интеграции будут найдены в тестировании системы, где стоимость нахождения и фиксации их значительно больше [4]62. Существует необходимость установления ограничений на объем тестирования, поскольку ресурсы тестирования ограничены, бюджет и количество инженеров ограничены и сроки приближаются быстро [7]63.
Критерии выхода определяют прекращение работ по тестированию, и неоднозначная спецификация критериев выхода создает путаницу среди команды тестирования, как и когда нужно остановить деятельность. Рекомендуется, чтобы критерии выхода были сообщены команде разработки до утверждения плана испытаний. Критерии должны быть стандартизированы, насколько это возможно [7], чтобы отражать проверенные критерии в предыдущих проектах. Если есть какие-либо открытые ошибки, то менеджер по разработке программного обеспечения вместе с руководителем проекта принимает решение, следует ли исправлять недостатки или переносить их на следующий релиз или взять на себя риск и представить его клиенту. Есть некоторые метрики, которые могут помочь уточнить критерии выхода [7]: