Разделы

Цифровизация Бизнес-приложения

Как автоматизировать тестирование ПО?

Борьба с ошибками в ПО – нелегкий труд. Сотни и тысячи тестировщиков пытаются обнаружить дефекты в ПО до запуска в коммерческое использование, иначе стоимость ошибки возрастет в тысячу раз. Снизить затраты на обеспечение качества продукции можно с помощью применения автоматизированных систем поиска ошибок.

Невозможно представить себе разработку ПО, которое было бы свободно от тех или иных ошибок. По данным, опубликованным Национальным институтом стандартов (NIST 2002 RTI Project 7007.011), основное количество ошибок в продукте - 70%! - закрадывается на стадии выработки требований и построения дизайна. А обнаруживается подавляющее большинство дефектов либо в процессе тестирования (около 60%), либо уже при эксплуатации (21%). При этом удельная стоимость исправления дефектов быстро растет по мере продвижения продукта к стадии эксплуатации. Так, в статье "Software Defect Reduction Top 10 List", опубликованной в IEEE Computer, показано, что стоимость исправления дефекта после ввода системы в эксплуатацию вдвое превышает аналогичную стоимость на стадии тестирования продукта, и более чем в тысячу раз – в период выработки требований к продукту.
Бизнес-процессы обычно базируются на нескольких программных продуктах, и при организации тестирования необходимо убедиться не только в правильной работе каждого продукта по отдельности, но и в их корректной стыковке между собой, т.е. речь уже идёт о расширении понятия тестирования на бизнес-процессы.

Эффект от внедрения средств автоматического тестирования

Источник: J.M. Juran’s Quality Control Handbook

Поскольку большинство дефектов выявляется всё-таки на стадии тестирования продукта, определяющим для экономии средств является автоматизация этой стадии внедрения. Компания Mercury провела опрос 1000 заказчиков и выяснила, что приблизительно 80% из них не используют средств автоматизации при тестировании, предпочитая проводить его вручную. Из оставшейся доли абсолютное большинство - 80% компаний - применяют лишь простейшие средства автоматизации тестирования при выполнении отдельных проектов. У 14% фирм развернуты специальные продукты тестирования и создана стандартная инфраструктура для этого. Ещё 5% компаний внедрили сервисы тестирования и образовали центры компетенции, агрегирующие лучшие практики и осуществляющие обмен опытом между командами и проектами. И лишь у 1% заказчиков реализована система тотального контроля качества и запущены централизованные сервисы тестирования, использующие единый жизненный цикл для всех проектов.

Эффект от внедрения средств автоматизации тестирования иллюстрирует приведенный график. На нем отражена зависимость затрат, которые несёт организация от требуемого уровня качества. Суммарная стоимость качества складывается из затрат на тестирование (растущая сплошная кривая) и на исправление ошибок в системе с заданным качеством (падающая кривая). В результате стоимость качества имеет определенный минимум, который соответствует оптимуму затрат. Если используются средства автоматизации, то затраты на тестирование уменьшаются (пунктирная кривая) и, соответственно, падают затраты, обеспечивающие достижение оптимального показателя качества. В то же время само значение оптимального качества смещается в сторону увеличения.

Чем можно тестировать?

Лидирующим продуктом на рынке автоматизации тестирования в настоящее время является HP Quality Center (до приобретения компании Mercury в конце 2006 года - Mercury Quality Center.) По данным IDC от 2006, он занимает 61,7% рынка, значительно опережая идущий за ним IBM Rational, на долю которого приходится 16,8%.

Центры программных решений HP

Поглощение компанией HP одного из крупнейших поставщиков программных решений для ИТ и бизнеса – компании Mercury, привело к тому, что пакет предлагаемых НР программных решений вырос до более чем 400 продуктов. Чтобы ориентироваться в этом море продуктов, была разработана новая модель взаимосвязи стратегических и функциональных инициатив ИТ для бизнеса. Согласно этой модели, портфель программных решений HP представляется в виде совокупности так называемых центров (HP Business Technology Optimization Centers), каждый из которых направлен на решение определенного класса задач, обеспечивающих оптимизацию ИТ-процессов для более эффективного достижения целей и задач бизнеса.

Центры группируются по трем основным направлениям – управление стратегией развития бизнеса, управление внедрениями проектов и управление процессом эксплуатации текущих бизнес-процессов. Цель данной статьи – познакомить читателей с одним из этих направлений, а именно управлением внедрениями проектов. Управление внедрением включает в себя два центра программных решений – центр управления качеством (Quality Center) и центр управления производительностью (Performance Center). В центре управления качеством сосредоточены средства для автоматизации тестирования продуктов, а центр управления производительностью объединяет пакеты создания нагрузки и анализа производительности приложений.

В Quality Center включены продукты автоматизации тестирования: панель управления Dashboard, средства организации и проведения тестирования Test Director, средства функционального тестирования и тестирования бизнес-процессов.

Test Director является ядром Quality Center. Он содержит пять модулей, тесно интегрированных между собой и обеспечивающих непрерывность процесса тестирования – Service Test Manager, Requirement Manager, Test Plan, Test Lab и Defect Manager. С его помощью можно задать структуру тестирования, организовать процесс, наладить взаимодействие между различными участниками и обеспечить выпуск документации.

Дмитрий Балдин, «РусГидро»: Вынужденный переход на open source приводит к увеличению поверхности кибератак
безопасность

Кроме того Quality Center включает в себя средства функционального тестирования: Quick Test Professional – новый активно развивающийся продукт, нацеленный на классический набор приложений, который наиболее часто используется в бизнес-практике и поддерживает современные технологии (SOA и т.п.). WinRunner работает со старыми тяжелыми приложениями с интерфейсом GUI. Этот продукт постепенно отходит на второй план и более развиваться не будет.

В набор Business Process Testing объединены средства, позволяющие экспертам в области бизнес-процессов, не имеющих навыков программирования, создавать процедуры тестирования, выполнять их, управлять процессом тестирования и документировать результаты. Для создания процедур тестирования используются библиотеки стандартных элементарных бизнес-процессов, значительно повышающие эффективность разработки. Среди прочих, в набор также включен ряд акселераторов, предназначенных для проверки процессов на промышленных системах, включающих SAP и Oracle.

Как автоматизировать тестирование?

8 задач, чтобы перезапустить инженерную школу в России
импортонезависимость

Отправной точкой в автоматизации тестирования программных продуктов является осознание и формализация тех функциональных требований, которые предъявляет заказчик к сервису или программному продукту. Эти требования регламентируют типовые действия оператора. Когда формируется список требований, то, естественно, в первую очередь учитывают все критичные действия, как с точки зрения бизнес-процесса, так и с точки зрения последствий. Эти действия будут проверяться наиболее тщательно, причем как самостоятельно, так и в составе всего бизнес-процесса. Для этого создается сценарий работы, учитывающий различные аспекты бизнес-процесса и шаг за шагом прокручивающий все варианты, которые можно предвидеть, вплоть до стыковок его с другими бизнес-процессами.

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