Научная статья на тему 'СПЕЦИФИКА СРЕДСТВ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ'

СПЕЦИФИКА СРЕДСТВ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
40
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ / ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ / ПОИСК УТЕЧЕК ПАМЯТИ / БИБЛИОТЕКА ТЕСТИРОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хыдыров Недир Какамырадович, Чарыев Шагулы Мурадниязович

Определение качества программного продукта. Заключение автоматизированного тестирования в управлении работами и проведении мероприятий по тестированию. Применение автоматизации как для небольших, так и для крупных проектов.Deter mining the quality of a software product. Conclusion automated testing in the management and conduct of activities on testing. The use of automation for both small and large projects.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СПЕЦИФИКА СРЕДСТВ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ»



SCIENCE TIME

СПЕЦИФИКА СРЕДСТВ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ

Хыдыров Недир Какамырадович, Чарыев Шагулы Мурадниязович, Туркменский государственный институт финансов, г. Ашхабад

E-mail: guwan4@mail.ru

SPECIFICS OF FUNDS AUTOMATED TESTING

Аннотация. Определение качества программного продукта. Заключение автоматизированного тестирования в управлении работами и проведении мероприятий по тестированию. Применение автоматизации как для небольших, так и для крупных проектов.

Ключевые слова: автоматизации тестирования, тестирование производительности, поиск утечек памяти, компонент, библиотека тестирования.

Abstract. Determining the quality of a software product. Conclusion automated testing in the management and conduct of activities on testing. The use of automation for both small and large projects.

Keywords: test automation, performance testing, search for memory leaks, component testing library.

В настоящее время существует большое количество инструментов для автоматизации тестирования. Они могут выполнять различные задачи: тестирование производительности, поиск утечек памяти, тестирование графического интерфейса пользователя (Graphic User Interface - GUI).

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

| SCIENCE TIME Щ

Компонент - набор функций, который будет использоваться многократно в различных тестах [3].

Создание тестов или компонентов происходит путем записи сеанса работы с приложением или web-сайтом. Также существует возможность ручного создания тестового скрипта, используя в поле ключевых слов ключевые слова из предварительно созданного хранилища объектов (object repository).

Чтобы создать тест или компонент необходимо написать (записать) скрипт выполнения данного теста.

Существует два варианта записи скрипта:

- автоматически записать сеанс работы с приложением или сайтом;

- сформировать object repository и использовать эти объекты для добавления шагов вручную или поле кода [4].

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

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

Современных менеджеров и разработчиков программного обеспечения просят осуществлять подготовку своих продуктов в минимальные сроки с минимальными ресурсами. Более 90% разработчиков срывают даты поставки. Нарушение сроков носит регулярный характер для 67% разработчиков. Кроме того, в 91% случаев приходилось удалять в цикле разработки ключевую функциональность, чтобы уложиться в срок [1]. Компании вынуждены снижать свои расходы. Прежде всего, это можно сделать за счет автоматизации и модернизации бизнес-процессов с помощью программных ресурсов.

Автоматизированное тестирование заключается в управлении работами и проведении мероприятий по тестированию, включающих в себя разработку и

| SCIENCE TIME |

выполнение тестовых скриптов так, чтобы удовлетворить требования к тестированию, с использованием инструментальных средств автоматизированного тестирования». Автоматизация работ по тестированию имеет огромную ценность там, где тестовые скрипты повторяются или где имеющиеся тестовые процедуры периодически запускаются различными тестовыми скриптами. Такое тестирование на стадиях разработки и интеграции, когда повторно используемые скрипты могут выполняться много раз, обеспечивает значительную отдачу.

Автоматизация может применяться как для небольших, так и для крупных проектов, однако во втором случае необходимость применения данной технологии кажется более очевидной. В масштабных и динамично развивающихся проектах количество тестов может измеряться тысячами, что делает такую задачу, как регрессионное тестирование, очень ресурсоемкой. Регрессионные тесты имеют целью проверку того, что функции, предоставляемые модифицированной системой или программным продуктом, выполняются должным образом и что не произошло никаких изменений в работе системы или продукта.В такой ситуации логично предположить, что автоматизирование процесса тестирования сократит объем работ [1, 2].

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

Рассмотрены существующие и наиболее распространенные на практике средства автоматизированного тестирования, в частности, это Mercury QuickTest Professional, SilkTest и Ranorex. Выявлены основные преимущества использования данных систем, к их общим недостаткам следует отнести сложность конфигурирования, отсутствие достаточного количества обучающей литературы и спецификаций, а также трудоемкость операций по интеграции с существующими средами разработки программного обеспечения.

Проведен обзор возможностей средств разработки автоматизированных тестов, представляющих собой готовые решения, поддерживающие гибкие возможности интеграции с существующими языками высокого уровня (Java, C#, C++ и др.), а также обеспечивающие комплексный функционал по автоматизации тестирования веб и десктоп-приложений. Среди рассмотренных средств необходимо выделать Soap UI, которое, на наш взгляд, является наиболее универсальным и гибким в реализации, поддерживается языками Java, Groove и др., широко используется на практике, а также поддерживается наличием

I

SCIENCE TIME

I

большого количества англоязычных спецификаций.

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

Литература:

1. Стотлемайер Д. Тестирование web-приложений (средства и методы автоматизированного и ручного тестирования программного обеспечения web-сайтов) / Диан Стотлемайер. - М.: КУДИЦ-ОБРАЗ, 2003. - 240 с.

2. Винниченко И.В. Автоматизация процессов тестирования / И.В. Винниченко. - СПб.: Питер, 2005. - 203 с.

3. Гагарина Л.Г. Теоретические основы и принципы реализации интеллектуального тестирования / Л.Г. Гагарина, И.С. Калинников, Н.С. Фоминова // Информационные технологии. М.: Новые технологии, 2008. - №8 (144). - С.64-70.

4. Гостомыслов JI. Тестирование: плюсы и минусы / Л.Гостомыслов // Высшее образование в России. 2001. - №3. - С. 152-154.

5. Дастин Э. Автоматизированное тестирование программного обеспечения. Внедрение управление и эксплуатация / Э. Дастин, Д.Рэшка, Д. Пол; М.: ЛОРИ, 2003. - 567 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.