Разделы портала

Онлайн-тренинги

.
Оценка сэкономленных человеко-часов или Возврат вложений
11.09.2008 04:00

Таблица, на примере которой показано, как можно оценить сэкономленные человеко-часы.

Оценка сэкономленных человеко-часов или Возврат вложений Усовершенствования процесса
Применение инструмента управления требованиями позволило организовать одновременный доступ тестировщиков, получивших возможность создавать тестовые процедуры в своей рабочей области При таком доступе упростилось управление ходом создания тестовых процедур Разработка тестовых процедур заняла два месяца, при этом были задействованы 8 тестировщиков Не было необходимости в объединении документации тестовых процедур, что потребовалось бы в случае использования группой тестирования программных средств обработки текстов. Приблизительно 8 часов (время сэкономлено за счет того, что не потребовалось объединять документацию).
Инструмент автоматизированного тестирования на протяжении длительного времени автоматически вычислял процент выполнения работ по тестированию и предоставлял отчеты. Приблизительно 10 часов (это время, которое было бы затрачено на вычисление процентов вручную).
Инструмент управления требованиями позволил осуществить автоматическое отслеживание с помощью простого скрипта в инструментарии, содержащем 5000 тестовых процедур и 3000 требований к тестам. Приблизительно 80 часов (столько времени понадобилось бы на обработку и поддержание матрицы отслеживания требований такого размера).
Удалось осуществить больше циклов тестирования в более короткие сроки (одним нажатием клавиши). Проведено больше тестов: 60 автоматизированных процедур были выполнены в 10 версиях, при этом тратилась примерно 1 минута на тестовую процедуру. Ручное выполнение тестовой процедуры заняло бы в среднем 10 минут. Запуск автоматизированных скриптов производился автоматически, они работали без присутствия тестировщика. Приблизительно 99 часов (60 автоматизированных процедур в 10 версиях по 1 минуте по сравнению выполнением вручную 60 тестовых процедур в 10 версиях по 10 минут на каждую).
Усовершенствованное регрессионное тестирование Регрессионное тестирование приходилось проводить вновь и вновь, поскольку исправление дефектов оказывало влияние на многие области программного продукта Хорошо, что изначально был разработан автоматизированный скрипт для регрессионного тестирования, благодаря чему тестировщик имел возможность воспроизводить эти тесты (вместо того, чтобы вручную повторять тестирование заново). 40 часов (время, которое требовалось бы для проведения всех раундов регрессного тестирования вручную).
Были проведены работы по предотвращению дефектов, что уменьшило число дефектов с высоким приоритетом, выявленных в ходе выполнения тестов, по сравнению с первой версией, хотя сложность и размер обеих версий сопоставимы В первой версии было 50 дефектов с высоким приоритетом, тогда как более поздняя версия содержала лишь 25 дефектов с высоким приоритетом. Приблизительно 100 часов (в среднем) на исправления 25 дефектов с высоким приоритетом.
Инструмент тестирования улучшил конфигурационное тестирование Для различных конфигураций аппаратного обеспечения воспроизводились одни и те же скрипты При отсутствии автоматизированного скрипта пришлось бы вручную повторять тест для различных конфигураций. 50 часов (базовая версия скрипта была создана на основе одной конфигурации, было протестировано еще 5 конфигураций, при тестирована вручную потребовалось по 10 часов на каждую конфигурацию).
Тестировщик глубже понял предметную область при воспроизведении тестовых скриптов, созданных специалистами в предметной области Несмотря на то, что тестировщик А не был знаком с функциональностью В системы, он смог воспроизвести скрипты, созданные тестировщиком В, когда тот был в отпуске Тестировщик А обнаружил ошибки в функциональности В, поскольку записанные скрипты не смогли завершиться успешно Тестировщик А, опираясь на базовую версию скриптов, смог обсудить с программистами ожидаемые выходные данные. Приблизительно 5 часов (время, которое понадобилось бы для того, чтобы обучит другого специалиста конкретным аспектам функциональности).
Упрощение тестирования производительности выразилось в создании тестов, которые невозможно было бы провести без применения инструмента автоматизированного тестирования, в частности эмулирование 1000 пользователей. Не пришлось искать 1000 пользователей (трудно оценит количественно), усовершенствование процесса.
Проведено упрощенное тестирование перегрузок, группа тестирования смогла определить пороговые величины системы и выявить проблемы многопользовательского доступа. Не пришлось искать 1000 пользователей (трудно оценит количественно), усовершенствование процесса.
Инструмент применялся для заполнения базы данных, эмулировался ввод данных пользователями. 20 часов (время, необходимое на заполнение базы данных).
Было добавлено требование, состоявшее в том, что система должна допускать ввод большого количества счетов Тестирование этого требования не могло быть выполнено без применения инструментария добавляющего и удаляющего счета. 80+ часов (время, которое потребовалось бы на тестирование вручную и на регрессионное тестирование).
Проблема перевода календаря системы в новый отчётный год. Благодаря созданию скриптов и заполнению некоторых полей дат с использованием 35 вариантов дат группа тестирования смогла автоматизировать ввод, хранение и поиск дат для проверки. Инструмент тестирования помог протестировать внешний графический пользовательский интерфейс на совместимость с решением проблемы перехода системы в новый отчётный год. Созданные отчеты оказались полезными при документировании тестовых процедур, проверяющих решение проблемы перевода системы в новый отчётный год. 50 часов (время, которое понадобилось бы на выполнение данных скриптов вручную, эти расчеты основаны на хронометраже длительности раунда тестирования вручную).
Повторяющиеся шаги, подверженные ошибкам, были автоматизированы. Тесты стали повторяемыми. Усовершенствование процесса.
Автоматизация рутинной работы позволяет тестировщикам тратить больше времени на проведение анализа и сосредотачивать усилия на более сложных аспектах тестирования. Тестировщики также могут создать более продуманные тестовые процедуры для проведения тестирования вручную. Усовершенствование процесса.
План-график проекта и промежуточные этапы были соблюдены, поскольку использование инструментов автоматизированного тестирования способствовало созданию более качественного продукта в более короткие сроки благодаря возможности повторения автоматизированного тестирования без дополнительных затрат. Автоматизация тестирования способствует обнаружению дефектов. Автоматизированные тесты выявили проблемы, которые не были найдены в ходе тестирования вручную предыдущих версий тестируемого приложения. Усовершенствование процесса.
Автоматизированные тесты проверяют приложение, используя огромное количество разнообразных значений входных данных. При использовании автоматизированного тестирования были обнаружены такие ошибки, которые невозможно было найти при тестировании вручную. Например для проверки реакции системы инструмент производил выставление счетов на малые суммы (проверка проблемы НДС на малых суммах) при помощи цикла вновь и вновь до тех пор, пока не произошёл сбой баланса. И действительно произошел сбой системы сведения баланса, после того как сумма остатков от округлений по каждой операции не превысила суммы обычных платежей. Усовершенствование процесса.
Проблемы (описания ошибок) хранились в инструменте, что позволяло поддерживать центральный репозиторий, своевременно изучать полученные уроки и принимать меры по устранению недостатков. Усовершенствование процесса.
Автоматизация позволила усовершенствовать способ тестирования приложения. Был разработан скрипт для тестирования наиболее важной функциональности приложения, который впоследствии применялся для проверки всех версий приложения. Как сказал один из участников проекта: «Если бы не этот скрипт, мы бы пригласили к себе пользователей, и они занялись бы тестированием только для того, чтобы обнаружить отсутствие в версии основной функциональности». При помощи данного скрипта проводилось приемочное тестирование без пользователей. Пользователи не привлекались к тестированию до тех пор, пока новая версия не прошла приемочное тестирование, что позволило сохранить их время и нервы. Усовершенствование процесса.
Автоматизированное тестирование пригодилось в последующих версиях Многие участники проекта отмечали, что инструмент тестирования был особенно полезен, поскольку окончательной версии проекта предшествовало множество промежуточных версий После создания базовой версии скриптов, пригодных к повторному использованию, их можно было постоянно воспроизводить Это позволило исключить монотонные, не приносящие удовлетворения работы по многократному проведению тестирования вручную одной и той же функциональности. Усовершенствование процесса.
Центральный репозиторий упрощает сбор измерений. Усовершенствование процесса.
Инструменты облегчают отслеживание дефектов. В предыдущих версиях не применялись инструменты по отслеживанию дефектов, и сопровождение дефектов превратилось в кошмар для участников проекта. Усовершенствование процесса.
Упростился доступ к отчетам и к информации о состоянии тестирования. Иерархия требований к инструментам тестирования позволила осуществить детализированное планирование требований к тестам и оказалась весьма полезной для проверки статуса тестирования и для решения других вопросов, связанных с отчетностью. Усовершенствование процесса.
Улучшилось взаимодействие между тестировщиками и разработчиками. Группа тестирования работала совместно с проектной группой над созданием иерархии программных модулей, согласовывая ее с системой по отслеживанию дефектов инструмента тестирования таким образом, чтобы ее можно было использовать для привязки конкретного дефекта к соответствующему модулю программного продукта. Разработчики и тестировщики общались при помощи схемы жизненного цикла дефекта на основе инструмента тестирования по отслеживанию дефектов. Руководители проекта ощутили, что взаимодействие между тестировщиками и разработчиками улучшилось. Усовершенствование процесса.