Тестирование программного обеспечения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 03.05.2018
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Плюсы данного варианта:

1. Простота - очень просто создать скрипт, даже человеку не понимающему в программировании.

2. Написано на Jython - следовательно, можем подключать-использовать Java помимо Python.

3. Нет привязок по id у объектов - следовательно, можем тестировать как Веб, так и desktop приложения, что является безусловно очень важным критерием.

4. Бесплатно распространяема.

5. Очень подробная документация.

6. Можно крайне быстро развернуть платформу для тестирования

Минусы:

1. Для мониторинга систем будет необходима разработка способов отправки данных и их хранения.

2. Маленькое количество информации о данной платформе на русском языке.

3. Нет привязок по id у объектов - также является минусом, потому что в этом случае при любом незначительном изменении изображения, либо шрифта, есть шанс того, что фреймворк не сможет переопределить объект.

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

6. Использование и исследование необходимых технологий

6.1 Дополнительные технологии

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

Приведен полный цикл прогона всей системы мониторинга для биллинговой системы компании ПАО "МТС". Вход и работа в системе осуществляется через решения компании Citrix, в частности - Сitrix Receiver и Citrix XenApp, и конечно же мониторинг осуществляется в самой биллинговой системе компании.

Рисунок 11 - Входная заставка системы Citrix

Citrix Receiver - (ICA Client) клиент доставки ИТ-услуг пользователям: решение для предоставления удалённых рабочих столов и корпоративных приложений по "Software on-demand" вне зависимости от типа устройства или его местоположения и без необходимости контроля со стороны ИТ-служб. Существуют реализации Citrix Receiver для Windows, Windows Mobile, iPhone, iPad, Android устройств, Mac OS X и Linux.

Рисунок 12 - Система Citrix. В учетной записи

Citrix XenApp - (ранее Citrix WinFrame Server, Citrix MetaFrame Server и Citrix Presentation Server) программное обеспечение для доставки различных приложений Windows, разрешающее использовать виртуализацию, централизацию, управление из центра обработки данных и доставку приложений как сервиса Software on-demand по запросу на любое пользовательское устройство (технологии Терминальный сервер и Тонкий клиент вне зависимости от его местоположения. Для доставки используется проприетарное программное обеспечение протокол Independent Computing Architecture. В последних версиях используется многопотоковый протокол HDX (High-Definition User Experience).

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

Для деятельности биллинга существует три основных направления:

ь Расчетные операции

ь Информационное обслуживание

ь Финансовое обслуживание

В общем смысле, если рассматривается биллинг в совокупности с управлением доходами, дополнительно выделяют следующие функции:

v Гарантированное получение доходов

v Управление прибыльностью абонентов

v Контроль мошенничества абонентов

В блоке расчетных операций можно использовать такие функции как:

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

o Оценка потребления - получение расчетной характеристики об использовании данных.

o Агрегация оценок

o Формирование начислений пользователям

o Подсчет налогообложения, скидок, дополнительных начислений, корректировок и так далее.

o Управление лицевыми счетами пользователей

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

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

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

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

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

Различные системные скрипты, использующие в запуске приложений, завершении сессий и отправке данных, имеют расширения данных. bat и. ps1

. bat файлы, является своего рода файлами сценария в DOS, OS / 2 и Windows. Они состоит из серии команд, которые будут выполнены в интерпретаторе командной строки, хранятся данные скриптов в простых текстовых файлах.

. bat файл может содержать любые команды известные интерпретатору, команды принимаются в интерактивном режиме и используют конструкции, которые позволяют осуществлять условные переходы и циклы внутри пакетного файла, такие как "if", "for", " Goto".

Аналогично работы на языке управления (JCL), других систем на мэйнфреймах и микрокомпьютерных систем,. bat файлы были добавлены, чтобы облегчить работу, необходимую для некоторых обычных задач, позволяя пользователю настроить сценарий для их автоматизации. Когда пакетный файл запускается, оболочка программы (обычно COMMAND.com или cmd. exe) читает файл и выполняет его команды, как правило, строка за строкой.

Расширение имени файла. bat используется в DOS и Windows. Windows NT и OS / 2 также как и. cmd.

Windows PowerShell - автоматизированное средство разработки Windows, в котором имеется внешний интерфейс и интерфейс командной строки, а также скриптовый язык. Первое упоминание и демонстрация были проведены в Monad в сентябре 2003 года. Уже 2ая версия была выпущена в составе Windows 7, 8, 2008R2, 2012R2 и также стала доступна для Windows XP SP3, server 2003 SP2, Vista, Server 2008, Server 2012.

PowerShell - интегрирован с.net Framework и построен на нем же. Также в PowerShell имеется связь с ADSI, WMI, COM, но не стоит забывать что обычные команды командной строки также выполняются, все это организовано, чтобы создать единое окружение, где пользователи смогли бы решать задачи на локальных и удаленных системах.

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

Windows PowerShell может использовать механизм встраивания, из-за которого, различные исполняемые компоненты PowerShell встраиваются в другие приложения. Данные приложения используют функциональность PowerShell для разработки различных операций, включая используемые через графический интерфейс. Такой подход выполняется в Microsoft Exchange Server 2007 при реализации главной функциональности под видом командлетов PowerShell и различных графических утилит управления оболочек PowerShell, где вызываются нужные командлеты. Исходя из этого, графический интерфейс управления пребывает выше промежуточного слоя - PowerShell. Также некоторые другие приложения, например, Microsoft SQL Server 2008, System Center Operations Manager и System Center Data Protection Manager. Также имеют возможность использоваться вместе с PowerShell через командлеты.

Приведем некоторые термины, используемых в дальнейшем:

Робот - полный стек технологий, системы мониторинга

Элементарная операция - операция, действие, указанное в списке действий робота, прописанная в скрипте и изначальной документации к разработке

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

6.2 Полный цикл прогона всей системы мониторинга

1. В Планировщике задач Windows ставим задачу на постоянное цикличное выполнение и перезапуск в течение 5 минут после завершения самой задачи. На самом деле, это важный момент, ведь для ведения мониторинга систем необходимо делать замеры, элементарных операций всего сценария работ, с определенной периодичностью, так как только в этом случае выстроится кривая графика наиболее точно отображающая отклик по всем операциям, и чем чаще будет запускаться данная задача из Планировщика, тем больше будет данных о времени замеров и тем точнее мы будем видеть картину всей работоспособности системы. Поэтому, если в среднем полный тест по замерам длится 5 минут и цикличность повтора будет заявлена в 5 минут - за одни сутки появится примерно 60/ (5+5) =6 *24 = 144 замера в сутки. "Примерно", потому что от нас, к сожалению, не зависит время отклика системы.

2. Необходимы скрипты. bat формата, чтобы мы смогли:

a. Поставить проверку открыт ли браузер, если да, закрыть.

b. Запустить файл теста через IDE

c. Отправить значения на сервер базы данных

6.3 Практическая часть

Рассмотрим задачу, приведенную выше:

1. Silktest

Рисунок 13 - Окно установки SilkTest

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

Изначально, нам доступно ПО с 45 дневным триальным сроком, стоимость лицензионного пакета варьируется от наполненности этого пакета - может быть включено - минимум: визуальный плагин и максимум: +плагины для разработки на Java и.net. Также доступна IDE и общий центр мониторинга и запуска тестов.

Описание шести операций тест-кейса дало 7 строк. Настройка осуществлялась визуальным программирование - "клик мышкой, операция появилась". Логин и пароль для входа были введены сразу в программу.

Рисунок 14 - IDE SilkTest

Результаты по мониторингу отобразились в log-файлах + хранятся в БД, которую можем открыть в любой момент средствами самой программы.

Selenium

Для работы с Selenium загружаем IDE и запускаем ее

Рисунок 15 - Selenium IDE

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

При входе на сайт, входе и выходе из учетной записи также трудностей не возникло.

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

AutoIt

Рисунок 16 - IDE AutoIt

Проста в установке - для этого необходимо только скачать сам драйвер и редактор, но все находится в одном файле. Далее запускаем редактор, в котором пишем наш тест кейс на VBasic подобном языке. На мой взгляд, код получился очень большим, хотя действия, по сути, приведены минимальные. Это и является огромным минусом.

Sikuli

Рисунок 17 - IDE Sikuli

Установка проста, использование еще проще - выбираем операцию из левой части окна интерфейса, далее кнопка для снятия выбираемой области для "клика", после приведенных действий - полноценная операция готова. Можем тут же в редакторе подключить библиотеки Python и Java, с необходимыми функциями - взаимодействие с Командной строкой, к примеру, готово. Результаты смотрим в логах. Запуск скриптов, к сожалению, осуществляется только из программы, то есть, нет возможности формирования. exe файлов, но если осуществлять запуск через CMD, проблема решается. Редактор достаточно удобен, имеется функция замедленного запуска, как и у Selenium - осуществляется подсветка всех выбираемых областей, также промежуток между операциями больше. Программа очень удобна, так как мы можем сочетать в ней быстроту разработки + профессионализм в разработке сложных решений.

6.4 Проекты, введенные в эксплуатацию

На данный момент в ПАО "МТС" уже используются развернутые машины, использующих Sikuli для мониторинга сайтов, веб-приложений, биллинговых систем. IDE Sikuli, используется совместно с такими средствами как:

· Планировщик задач Windows

· Citrix XenApp

· Citrix Receiver

· Cmd. exe

· PowerShell

· Сервер с БД измерений+скриншоты

Ниже приведен визуальный пример отображения на сайте, разработанном для систем мониторинга.

Рисунок - график доступности средств, на которых осуществляется мониторинг.

Таблица 1. - значения точек мониторинга при разных состояниях

Название операции

Целевое значение

Допустимое значение

Количество измерений

Хуже норматива

1. Загрузка сайта Citrix

5

5.25

710

10

2. Загрузка приложения

50

52.5

699

0

Таблица 1 (продолжение). - Значения точек мониторинга при разных состояниях

Название операции

Кол-во таймаутов

Хуже норматива на одну секунду

В нормативе

Лучше норматива

1. Загрузка сайта Citrix

10

0

700

699

2. Загрузка приложения

0

0

699

699

Таблица 1 (продолжение). - Значения точек мониторинга при разных состояниях

Название операции

Среднее для целевого значения

Среднее для допустимого значения

Среднее

Среднее без ошибок и таймаутов

1. Загрузка сайта Citrix

98.6%

98.6%

1.28

0.01

2. Загрузка приложения

100%

100%

1.87

1.87

Схема взаимодействия общей системы мониторинга:

Рисунок 18 - Схема работы системы мониторинга

1 шаг - заходим на удаленный ПК, подключаемся к ней (если необходимы изменения, иначе начинаем с шага 2)

2 шаг - робот со скриптов теста выполняется по запуску планировщика

3 шаг - высылаются данные на сервер

4 шаг - смотрим результаты

Если необходимы логи ПК, применяем пункт 1

Результаты замеров отсылаются после выполнения скрипта робота (с помощью рукописного скрипта формата. bat)

Что касаемо сайта со статистикой - сайт организован с помощью JS и PHP кода.

Данные высылаемые роботом имеют два формата - изображение. png и данные замеров в. csv.

Рисунок 19 - График операции входа в Citrix

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

Что касается данных CSV - данные отсылаются на сервер БД, откуда при разработке самого сайта - берут значения PHP и JS код. PHP берет значения только из CSV. JavaScript же берет значения как CSV, так и JS потому что необходимо построение графиков отображающих доступность и время выполнения операции, а также таймауты. По стандарту таймаут выставлен в 100 секунд - то есть если никаких действий не происходит, либо действия не те которые нам нужны, либо реакция системы на какое то действие не соответствует - в CSV записывается значение 100.

Рисунок 20 - Таблица каждого шага одной операции

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

7. Вывод

Было проведено исследование четырех наиболее распространенных версий программного обеспечения для разработки автоматизированных кейсов тестирования, для дальнейшего использования в построении системы мониторинга веб-приложений, сайтов и биллинговых систем ПАО "МТС". Был рассмотрен простейший пример задачи на вход и авторизацию на сайте - все программы справились с данной задачей, но в какой - то степени легче, либо сложнее.

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

Система AutoIT, к сожалению, также не подходит из-за некоторой сложности в разработке - выучить новый язык + достаточно большие затраты в коде, неоправдываемые в действиях.

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

Что касаемо Sikuli - очень информативная среда - все понятно интуитивно, кода мало при визуальном программировании, но тем не менее, для сложных вещей - полет также не ограничен, можно легко подключить в коде библиотеки и получится некоторый гибридный язык Sikuli/Python/Java. Отлично сочетаем с отчетностью и предварительными действиями. С задачами очень хорошо справился и в реальной разработке.

На данный момент система мониторинга и ее совокупность дополнительных приложений на основе Sikuli, были организованы мной и успешно используются в компании ПАО "МТС".

8. Обзор используемой литературы

8.1 Рекс Блэк. "Ключевые процессы тестирования - планирование, подготовка, проведение, совершенствование"

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

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

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

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

8.2 Элфрид Дастин, Джефф Рэшка, Джон Пол. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация

Книга "Автоматизированное тестирование программного обеспечения" адресована профессионалам в области программного обеспечения, которые занимаются внедрением, управлением и выполнением автоматизированного тестирования в проектах и обязаны производить все эти работы в сжатые сроки. Предметом книги является автоматизированное тестирование в среде клиент-сервер или Web.

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

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

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

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

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

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

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

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

Первостепенной задачей RAD является сокращение суммарного времени разработки за счет рассмотрения самых рискованных аспектов разработки в ранних версиях. В итоге тестирование выполняется в начале первичного цикла RAD, а также в рамках каждого последующего цикла RAD. Как отмечается в части III книги, проектирование и разработка тестирования представляют собой сложное дело. Процесс тестирования может оказаться столь же трудоемким, что и разработка программных приложений. Если, например, проект включает в себя интеграцию готовых прикладных продуктов (COTS), тестирование может потребовать даже больших ресурсов, чем разработка. В случае если команда тестировщиков не участвует в создании спецификации программного обеспечения или тестирование начинается на поздних этапах, проект становится более рискованным. Результатом этого могут быть незавершенные работы по тестированию, нехватка времени на тестирование и незапланированное увеличение сроков разработки для обеспечения тестирования.

Большинство видов работ, требуемых сейчас при проектировании, должно поддерживаться автоматизированными инструментальными средствами тестирования. Ручное тестирование трудоемко, подвержено ошибкам и не обеспечивает тот же уровень проверки качества, который возможен при использовании автоматизированных средств тестирования. Внедрение автоматизированных средств заменит ручное тестирование более эффективной и воспроизводимой средой автоматизированного тестирования.

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

8.3 Сэм Канер, Джек Фолк, Енг Нгуен. Тестирование программного обеспечения

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

Для специалистов в области разработки программного обеспечения.

8.4 Святослав Куликов. "Тестирование программного обеспечения. Базовый курс."

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

8.5 Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло. Как тестируют в Google

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

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

9. Список используемых источников

1. Элфрид Дастин, Джефф Рэшка, Джон Пол. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация. Издательство Лори.592 с. 2003

2. Рекс Блэк. "Ключевые процессы тестирования - планирование, подготовка, проведение, совершенствование" - Издательство Лори.544 с. 2011

3. Святослав Куликов. "Тестирование программного обеспечения. Базовый курс". Версия книги 1.0.8 от 09.06.2016.289 с.

4. Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло. Как тестируют в Google. Издательство Питер.320 с. 2014.

5. Русское сообщество AutoIt - [Электронный ресурс]. URL: http://autoit-script.ru/ - Дата обращения - 01.12.2015

6. Заклинание Jython - [Электронный ресурс]. URL: http://www.ibm.com/developerworks/ru/library/j-jython/ - Дата обращения - 06.02.2016

7. Популярные " Блоги " PySU - [Электронный ресурс]. URL: http://python. su/ - Дата обращения - 10.03.2016

8. Статьи Selenium - [Электронный ресурс]. URL: http://selenium2.ru/articles.html? start=6 - Дата обращения - 09.10.2015

9. Документация Selenium - [Электронный ресурс]. URL: http://docs. seleniumhq.org/ - Дата обращения - 09.10.2015

10. Tutorial Selenium - [Электронный ресурс]. URL: http://www.tutorialspoint.com/selenium/ - Дата обращения - 09.10.2015

11. SilkTest - Borland SilkTest, Borland, SilkTest - Программные продукты - Каталог ПО - Описания продуктов - [Электронный ресурс]. URL: http://www.interface.ru/home. asp? artId=7810 - Дата обращения - 04.03.2016

12. Tutorial SilkTest - [Электронный ресурс]. URL: http://silktutorial.ru/ - Дата обращения - 04.03.2016

13. Автоматизация тестирования и безопасность: Работа с Selenium Web Driver - [Электронный ресурс]. URL: http://forworktests. blogspot.ru/2013/03/selenium-web-driver.html - Дата обращения - 09.10.2015

14. Подробнее о Sikuli в автоматизации тестирования / Хабрахабр - [Электронный ресурс]. URL: https: // habrahabr.ru/post/163883/ - Дата обращения - 07.10.2015

15. Sikuli - [Электронный ресурс]. URL: http://www.sikuli.org/ - Дата обращения - 07.10.2015

16. Запуск Selenium Server [Электронный ресурс]. URL: http://www.protesting.ru/automation/practice/start_selenium_server.html - Дата обращения - 09.10.2015

17. Jython - [Электронный ресурс]. URL: https: // ru. wikipedia.org/wiki/Jython - Дата обращения - 19.03.2016

18. Биллинговые системы - [Электронный ресурс]. URL: http://citforum.ru/operating_systems/linux/billing/ - Дата обращения - 19.03.2016

19. Уровни автоматизации тестирования - [Электронный ресурс]. URL: http://www.protesting.ru/automation/functional/autolevel.html - Дата обращения - 19.03.2016

20. Автоматизированное тестирование - [Электронный ресурс]. URL: http://automated-testing. info/ - Дата обращения - 01.06.2016

21. Автоматизированное тестирование - [Электронный ресурс]. URL: http://soft-testing. narod.ru/auto. htm - Дата обращения - 01.06.2016

22. Ручное и автоматизированное тестирование - [Электронный ресурс]. URL: http://qalight.com.ua/baza-znanij/ruchnoe-i-avtomatizirovannoe.html - Дата обращения - 01.06.2016

Размещено на Allbest.ru


Подобные документы

  • Неразрешимость проблемы тестирования программного обеспечения. Виды и уровни тестирования. Стратегии восходящего и нисходящего тестирования. Методы "белого" и "черного" ящика. Автоматизированное и ручное тестирование. Разработка через тестирование.

    курсовая работа [112,2 K], добавлен 22.03.2015

  • История развития и виды тестирования программного обеспечения. Инсталляционное, регрессионное, конфигурационное, интеграционное, локализационное, модульное тестирование. Методы сокращения трудоемкости модульного тестирования разрабатываемого приложения.

    курсовая работа [309,5 K], добавлен 16.12.2015

  • Изучение различных видов тестирования программного обеспечения. Выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тестирование методом черного ящика. Требования, предъявляемые к процессу тестирования больших систем.

    курсовая работа [3,0 M], добавлен 19.11.2009

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

    курсовая работа [1,6 M], добавлен 20.12.2012

  • Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".

    дипломная работа [3,2 M], добавлен 11.09.2014

  • Комплексное функциональное и структурное тестирование программного продукта - граф-программа решения квадратного уравнения. Постановка задачи структурного тестирования маршрутов. Заключение о типе и причине ошибки, предложение по ее исправлению.

    курсовая работа [2,8 M], добавлен 05.01.2013

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.

    курсовая работа [36,9 K], добавлен 21.07.2012

  • Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.

    дипломная работа [101,2 K], добавлен 17.06.2011

  • Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.

    курсовая работа [30,4 K], добавлен 29.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.