Средства тестирования

Автор: Пользователь скрыл имя, 13 Декабря 2011 в 17:19, доклад

Описание работы

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

Работа содержит 1 файл

Доклад 5 курс Средства тестирования.docx

— 25.32 Кб (Скачать)

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

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

         На рынке средств  функционального тестирования сегодня  представлены главным образом продукты следующих компаний: HP (QuickTest Professional, WinRunner), IBM (Robot, Functional Tester), Borland (SilkTest) и AutomatedQA (TestComplete), представляющие собой средства разработки приложений. Причем часть из них использует «промышленные» языки программирования (например, QTP используется в качестве языка разработки скриптов VB, а Functional Tester реализован в среде Eclipse и позволяет создавать скрипты на Java), а часть применяет «диалекты» или свои собственные специальные языки (например, Robot использует язык SQABasic, а TestComplete – язык 4Test). Большинство инструментов ориентировано на работу с Web-приложениями либо с обычными приложениями, написанными на .Net или Java. При этом поддержку «старых» платформ, таких как Centura или PowerBuilder, обеспечивают в основном крупнейшие разработчики средств тестирования, HP и IBM.

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

         Инструменты нагрузочного тестирования являются более сложными – они фактически «перехватывают»  трафик между тестируемым приложением  и сервером и представляют его  в виде, удобном для работы. Практически  все производители продуктов для автоматизированного тестирования предлагают средства нагрузочного тестирования, поскольку в современном виде функциональное тестирование в чистом виде мало кого интересует. Лидерами на рынке средств автоматизированного нагрузочного тестирования являются HP с продуктом LoadRunner и IBM с продуктами Robot и Performance Tester, поддерживающими множество протоколов (включая терминальные протоколы). Большинство средств нагрузочного тестирования работают лишь с Web-приложениями.

         Помимо собственно средств тестирования существуют так  называемые средства поддержки процесса тестирования, позволяющие вести  учет требования и тест-кейсов, проводить анализы покрытия требования тестами, управлять ходом выполнения тестирования, вести учет обнаруженных дефектов и т.п. Лидирует в данной области Web-приложение HP Quality Center – единый инструмент управления процессом тестирования (включая управление требованиями и дефект-менеджмент), интегрируемый со средствами функционального и нагрузочного тестирования HP QuickTest Professional и LoadRunner. С данным инструментом конкурирует продукт Rational Quality Manager (RQM) от IBM, представляющий собой Web-приложение на платформе Jazz.

         Исторически сложилось  так, что Россия отстает от остального компьютерного мира по применению средств автоматизации тестирования, и для этого, на мой взгляд, есть несколько причин. Во-первых, неправильное отношение к тестированию как таковому – многие руководители до сих пор считают, что разработчик может написать программу, которая не содержит ошибок. Во-вторых, высокая стоимость инструментов автоматизации тестирования. В-третьих, желание сэкономить на квалифицированных кадрах – работа специалиста по средствам автоматизации тестирования обходится дороже, чем труд обычного тестировщика, поэтому многие компании предпочитают пригласить трех студентов, которые будут вручную тестировать программное обеспечение (в большинстве случае к тому же бессистемно), чем нанять одного специалиста-автоматизатора. В-четвертых, ограничение по срокам – автоматизация тестирования требует значительных временных затрат и имеет смысл только в том случае, если проект как минимум среднесрочный (от полугода и более). И наконец, в-пятых, неудачный опыт применения таких средств и ожидание мгновенного эффекта от их внедрения. А ведь результаты внедрения таких продуктов заметны далеко не сразу и затраты на автоматизацию окупаются за длительный период времени, что не позволяет полностью отказаться от тестирования вручную.  

         Автоматизация тестирования

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

         Автоматизация тестирования позволяет если не избежать, то значительно  уменьшить синдром «замыленного глаза», когда тестировщик перестает замечать ошибки при выходе новых версий. Благодаря автоматизации можно не просто ускорить процесс тестирования, но и увеличить тестовое покрытие за счет большего количества перебираемых комбинаций входных данных, что в свою очередь позволяет снизить требования к квалификации разработчиков – с большей вероятностью их ошибки будут обнаружены на этапе тестирования. Если раньше для того, чтобы гарантировать, что с вероятностью 99% в программе не будет критических ошибок, мы должны были использовать команду из 10 высококлассных разработчиков, то теперь мы обходимся командой из 10 разработчиков, среди которых только 2-3 высококлассных специалиста.

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

         А зачем компаниям, оказывающим услуги по тестированию и разработке программного обеспечения, пропагандировать использование средств  автоматизации? Затраты на средства автоматизации несопоставимы с  возможными потерями от сбоев системы, вызванных как функциональными  ошибками, так и неудовлетворительной производительностью, – экономия на тестировании приведет к потерям  на этапе эксплуатации подобного программного обеспечения. Центр тестирования компании «Аплана» уже давно занимается аутсорсингом функционального и нагрузочного тестирования, и, выполнив множество проектов с использованием различных средств автоматизации, мы можем с уверенностью сказать, что сегодня нет одного инструмента, который полностью удовлетворил бы всех заказчиков. Однако можно выбрать инструмент, максимально соответствующий предъявляемым требованиям.  

         Выбор инструмента 

         Для функционального  тестирования важна поддержка конкретной среды разработки, возможность построения отчетов о тестировании, автоматическая регистрация обнаруженных дефектов, наличие сценариев восстановления (recovery-сценариев). Для инструментов нагрузочного тестирования требуется поддержка протокола, который используется тестируемым приложением, наличие встроенных средств мониторинга параметров серверов, возможность гибкой настройки сценариев нагрузочного тестирования, наличие средств анализа результатов и построения отчетов о нагрузочном тестировании.

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

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

         Мы предпочитаем работать со средствами тестирования компаний HP и IBM, хотя у нас есть опыт использования инструментов других производителей и собственные средства автоматизированного тестирования. Прежде чем начинать разработку автоматизированных тестов, мы выполняем анализ и готовим отчет, на основании которого заказчик принимает решение о том, какой инструмент тестирования ему больше подходит, однако часто встречаются ситуации, когда инструмент выбран заранее. На мой взгляд, практически каждую задачу можно решить с помощью любого инструмента тестирования, однако трудоемкость и стоимость решения будут сильно отличаться. Например, если используемый инструмент автоматизации тестирования не имеет собственного отладчика скриптов, то разработка и отладка скриптов увеличит на 30-40% время, необходимое на тестирование. Отсутствие средств анализа результатов и построения отчетов о тестировании может привести к потере преимущества автоматизации функционального тестирования перед тестированием вручную – если время, которое требуется для анализа результатов автоматизированного тестирования, сопоставимо со временем, требуемым для проведения ручного тестирования, то о выгоде говорить уже не приходится.

 

Министерство  образования и науки Российской Федерации

Федеральное государственное автономное образовательное  учреждение высшего профессионального образования

«ДАЛЬНЕВОСТОЧНЫЙ  ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

(ДВФУ) 

Школа естественных наук 

Кафедра информационных систем управления 
 
 
 
 
 
 

ДОКЛАД 

по дисциплине: «Проектирование АСОИУ» 

на тему: «Средства тестирования» 
 
 
 
 
 
 
 
 
 

Выполнил:

студент гр. С-8527б

Нусс В.А. 

Проверил  преподаватель:

Березкина Г.Л. 
 
 
 
 
 
 
 

Владивосток 2011г.

Информация о работе Средства тестирования