Автор работы: Пользователь скрыл имя, 22 Января 2012 в 15:03, реферат
Тестирование — один из важнейших этапов контроля качества в процессе разработки программного обеспечения.
Тестирование
Автоматизация тестирования
Выбор инструмента
Средства от IBM Rational
Наследие Mercury
Примеры
Автоматизация тестирования
Автоматизация не сокращает этап подготовки к тестированию, а, наоборот, увеличивает его, что может напугать неискушенного руководителя проекта, однако, как только будет выпущена первая стабильная версия приложения и станет возможным проведение регрессионного тестирования, преимущества автотестирования станут очевидны. На моем опыте средства автоматизации тестирования позволили сократить сроки проверки версии с пяти рабочих дней до двух – автотесты прогонялись ночью, а на следующий день анализировался лог и выполнялось ручное тестирование функционала, проверка которого по ряду причин не автоматизировалась.
Автоматизация тестирования позволяет если не избежать, то значительно уменьшить синдром «замыленного глаза», когда тестировщик перестает замечать ошибки при выходе новых версий. Благодаря автоматизации можно не просто ускорить процесс тестирования, но и увеличить тестовое покрытие за счет большего количества перебираемых комбинаций входных данных, что в свою очередь позволяет снизить требования к квалификации разработчиков – с большей вероятностью их ошибки будут обнаружены на этапе тестирования. Если раньше для того, чтобы гарантировать, что с вероятностью 99% в программе не будет критических ошибок, мы должны были использовать команду из 10 высококлассных разработчиков, то теперь мы обходимся командой из 10 разработчиков, среди которых только 2-3 высококлассных специалиста.
Продукты автоматизации тестирования могут успешно применяться не только в компаниях-разработчиках, но и в организациях, использующих готовое ПО, – для них особенно актуальны средства автоматизации нагрузочного тестирования, позволяющие делать прогнозы (например, как долго сможет функционировать система на имеющемся оборудовании при запланированном росте бизнеса?), оптимизировать конфигурацию (настройка серверов для повышения производительности), находить ошибки функциональности, связанные с работой в многопользовательском режиме (подобные ошибки трудно обнаружить на этапе функционального тестирования).
А зачем компаниям, оказывающим услуги по тестированию и разработке программного обеспечения, пропагандировать использование средств автоматизации? Затраты на средства автоматизации несопоставимы с возможными потерями от сбоев системы, вызванных как функциональными ошибками, так и неудовлетворительной производительностью, – экономия на тестировании приведет к потерям на этапе эксплуатации подобного программного обеспечения. Центр тестирования компании «Аплана» уже давно занимается аутсорсингом функционального и нагрузочного тестирования, и, выполнив множество проектов с использованием различных средств автоматизации, мы можем с уверенностью сказать, что сегодня нет одного инструмента, который полностью удовлетворил бы всех заказчиков. Однако можно выбрать инструмент, максимально соответствующий предъявляемым требованиям.
Выбор инструмента
Для функционального тестирования важна поддержка конкретной среды разработки, возможность построения отчетов о тестировании, автоматическая регистрация обнаруженных дефектов, наличие сценариев восстановления (recovery-сценариев). Для инструментов нагрузочного тестирования требуется поддержка протокола, который используется тестируемым приложением, наличие встроенных средств мониторинга параметров серверов, возможность гибкой настройки сценариев нагрузочного тестирования, наличие средств анализа результатов и построения отчетов о нагрузочном тестировании.
Информация о работе Средства автоматизированного тестирования