Качественный анализ - Автоматизация регрессионного тестирования
Основой качественного анализа является анализ преимуществ и недостатков автоматического тестирования, применимых к текущему проекту.
Во-первых, Cucumber, как инструмент для проведения автоматического тестирования, удобен и прост в своем использовании. Он позволяет обычными, прямолинейными предложениями задавать сценарий выполнения теста. Тестировщику необходимо создать понятный односложный скрипт, задать аргументы для внутренних функций, тем самым подготовив авто-тест к воспроизведению. Также простота в использовании сказывается на отсутствии необходимости обучать каждого члена тест-команды работать со специфичным языком, объяснять тонкости тестовой программы.
Во-вторых, создав однажды такой сценарий, сотруднику не придется каждый раз тратить время на его обслуживание: от версии к версии методы, отвечающие за проверку соответствия, остаются неизменными (проанализирована применимость полученных автоматических тестов на 3 предыдущих релизах). В этом случае определенно прослеживается такое преимущество автоматического тестирования как снижение трудоемкости, поскольку все, что необходимо сделать тестировщику - это поместить требуемые файлы, отражающие конфигурацию, в соответствующие им директории.
В-третьих, следует обратить внимание на человеческий фактор. Значительное различие машины и человека состоит в том, что человек не может работать идеально на протяжении всего рабочего дня: внешние и внутренние раздражители влияют на состояние тестировщика; к тому же деятельность человека многогранна, и из-за многозадачности человек может упустить какие-либо дефекты продукта. Поскольку внимательность компьютера не падает по причине усталости, при большом объеме монотонной работы, автоматизация является наилучшей альтернативой.
В-четвертых, инструмент для автоматического тестирования имеет возможность автоматического формирования и сохранения отчетов о результатах тестирования. При ручном тестировании сотруднику приходится самостоятельно составлять эти отчеты в виду их дальнейшей необходимости при регрессионном тестировании. Когда речь идет о значительном количестве тестов, время на ручное тестирование увеличивается за счет ручной генерации отчетов.
Также в качестве преимущества следует отметить, что Cucumber помогает отследить мелкие недочеты, касающиеся содержания ошибок соответствующих элементов. В эту категорию входят орфографические, пунктуационные ошибки и дефекты, связанные с формированием списка ошибок (их непостоянное месторасположение в массиве). Не всегда тестировщик может обратить внимание на такие недостатки, особенно после нескольких часов монотонной деятельности.
Следующее преимущество является исключительной особенностью тестируемого продукта. Бывают случаи, когда разработчики в силу человеческого фактора не учитывают изменения в модели некоторых элементов при составлении соответствующей документации. При автоматическом тестировании неучтенные элементы могут быть с легкостью выявлены, что довольно трудоемко при ручном тестировании.
Одним из недостатков автоматического тестирования является риск пропуска определенного вида дефектов. Однако, как показывает анализ Таблицы 1 обнаруженных дефектов, инструмент для автоматического тестирования отслеживает все важные недостатки, что также является весомым преимуществом в пользу автоматического тестирования. Результаты представлены в таблице:
Таб. 1 Количество обнаруженных дефектов
Sum of passed |
Sum of failed |
Sum of bugs | ||
Major |
Minor | |||
Manual |
490 |
10 |
10 |
5 |
Auto |
491 |
9 |
9 |
- |
По классификации дефектов тестирования, а именно по Градации Серьезности дефекта (Severity), существуют Major и Minor дефекты, "значительный" и "незначительный" соответственно. Существуют и другие уровни значимости дефектов: Blocker - "блокирующие", Critical - "критичные" и Trivial - "тривиальные". В процессе ручного тестирования дефекты таких уровней не были обнаружены, поэтому не участвуют в анализе. Они характеризуют влияние дефекта на работоспособность приложения в определенной мере. Таким образом, при обнаружении дефекта ранга Major тест получает статус Failed. Текущий статус говорит о том, что объект тестирования не отвечает заявленным требованиям. Поскольку дефект типа Minor незначительно влияет на программное обеспечение, тест получает статус Passed.
Действительно, Cucumber не покрывает часть элемента проверки соответствия. В данную категорию входят область применения элемента, его описание, шаги для корректировки конфигурации. Как правило, ошибки, относящиеся именно к этим частям структуры, получают уровень Minor. Для объективности результатов был проведен анализ количества обнаруженных ошибок, относящихся к различным элементам проверки соответствия, что также отображено в таблице. Поскольку их число незначительно и составляет лишь 1% от общего числа, было принято решение о допустимости этого процента ошибок уровня Minor.
Другим недостатком автоматического тестирования является то, что инструмент для тестирования не может отследить ошибки, связанные с внешним оформлением программного обеспечения (GUI), сопутствующие ошибки функционала ядра (такие как неточности в позиционировании окон, ошибки форм и т. п.). Также упускается проверка дружественности интерфейса (usability): автоматизированный тест не может оценить дружелюбность, цветовую гамму, красоту и стиль интерфейса разрабатываемого продукта, это, несомненно, является недостатком автоматизации; с другой стороны, при ручном тестировании мнение тестировщика в данном вопросе может быть субъективным и не отражать реального состояния дел.
Более того, такие важные нюансы учитываются во время других видов ручного тестирования, поэтому это так же не является существенным недостатком, влияющим на принятие решения о недопустимости автоматизации. Хочется отметить, что 100-процентная автоматизация не является совершенной альтернативой ручному тестированию. Дефекты, которые были найдены при ручном тестировании и являются косвенными по отношению к элементам проверки соответствия, также могут оказать влияние на статус соответствующего теста. Именно такую картину отражает таблица: при ручном тестировании было обнаружено 10 недочетов типа Major, 2 из которых относятся к функциональной части программного обеспечения и не могут быть замечены инструментом Cucumber. Так как их количество невелико, то, принимая во внимание очевидные выгоды автоматизированного тестирования, здесь также было принято решение о допустимости данного процента ошибок при автоматизированном регрессионном тестировании элементов проверки соответствия.
Ко всему прочему следует отметить, что автоматическое тестирование не является бесконтрольным процессом, и каждый раз тестировщиком проводится анализ отчетов, полученных при выполнении автоматических тестов.
В процессе анализа полученных результатов было выявлено, что преимущества при автоматизации регрессионного тестирования для текущего проекта существенно перевешивают недостатки. Таким образом, можно сделать вывод, что риск внедрения автоматических тестов минимальный в виду его ощутимой эффективности. Даже при наличии упущений значительных (Major) дефектов, доля обнаруженных недочетов остается несоизмеримо большой.
Как уже было отмечено, автоматическое тестирование имеет свои преимущества и недостатки и не служит панацеей в погоне за выигрышем во времени.
Похожие статьи
-
Количественный анализ - Автоматизация регрессионного тестирования
Расчет разницы между ручным и автоматическим тестированием по времени. Анализ работы применяемого инструмента для тестирования Cucumber показал, что на...
-
Постановка задачи., Практическая часть. Ход работы - Автоматизация регрессионного тестирования
В проекте несколько раз в течение жизненного цикла тестируемого продукта проводится ручное регрессионное тестирование такой функциональности, как...
-
Заключение - Автоматизация регрессионного тестирования
В ходе работы было установлено что, внедрение автоматического тестирования для регрессионных тестов элементов проверки соответствия значительно повышает...
-
Ручное регрессионное тестирование проверки соответствия - Автоматизация регрессионного тестирования
В начальной версии 2.0 тестируемого программного продукта не производилось регрессионное тестирование проверки соответствия, т. к. не было необходимых...
-
Автоматизированное тестирование программного обеспечения - это процесс проверки программного обеспечения, который включает в себя такие шаги как запуск,...
-
Тестируемый программный продукт работает с телекоммуникационными сетями нового поколения. Имеет следующие функции: конфигурация, настройка, изменение и...
-
В нашем проекте, занимающимся тестированием вышеописанного программного продукта, используемого для настройки и конфигурации коммуникационных сетей, для...
-
Пояснение статусов тестов - Автоматизация регрессионного тестирования
Во время определения статуса теста Cucumber не просто решает, насколько удачно выполнился тест, но работает с исключениями в случае неудачного выполнения...
-
Преимущества, которые дает тестировщику автоматизация тестирования: - Исключен "человеческий фактор". Существует некоторая гарантия того, что не один...
-
Автоматизированное тестирование. - Автоматизация регрессионного тестирования
Автоматизированное тестирование программного обеспечения - один из вариантов верификации продукта на стадии его разработки. Автоматизация подразумевает...
-
Настраиваемые аргументы инструмента Cucumber - Автоматизация регрессионного тестирования
Файл CucumberRunner. mwe2 содержит специализированные аргументы для настройки и корректной работы инструмента для тестирования Cucmber. Обязательной...
-
Общие сведения. - Автоматизация регрессионного тестирования
В качестве инструмента для автоматизированного регрессионного тестирования был выбран Cucumber. Cucumber - приложение, широко используемое для...
-
Введение - Автоматизация регрессионного тестирования
Тестирование программного обеспечения. Тестирование программного обеспечения является неотъемлемой частью процесса создания программного продукта. При...
-
Что такое регрессионное тестирование. - Автоматизация регрессионного тестирования
Появление первых компьютеров отразилось на программном обеспечении. Программирование, в частности, невозможно без различного рода ошибок, совершенных под...
-
Для того, чтобы вынести решение об оправданности или неоправданности внедрения автоматизированного тестирования вместо ручного, необходимо...
-
Как следует из названия, нефункциональные требования не связаны непосредственно с функциями, выполняемыми системой. Они связаны с такими интеграционными...
-
Анализ затрат на оплату труда В выпускной квалификационной работе рассматривается процесс автоматизации деятельности компании за счет разработки...
-
Полиция автоматизированный рабочий В настоящее время весьма актуальна проблема автоматизации управления и учета на предприятиях различных отраслей и...
-
Для обеспечения эффективного управления активами коммерческой организации необходимым условием является наличие оперативной и достоверной информации и...
-
Внедрение данной программы на производстве позволит значительно сократить время на обработку заказов, а значит добиться снижения расхода энергии...
-
В качестве предметной области для дипломного проекта была выбрана организация МКДОУ детский сад №85 "Почемучка". Описание и основные виды деятельности...
-
В то время как цель проекта заключалась в оценке эффективности автоматизации тестирования функционала ядра, работа стала своего рода подведением итогов...
-
Анализ проектных ограничений - Автоматизация деятельности отдела продаж в логистической компании
При проектировании информационной системы очень важно рассмотреть проектные ограничения, которые предъявляют определенные требования к внедряемой...
-
С увеличением размерности таблицы существенно возрастает вероятность появления некорректных данных, так как таблица заполняется вручную. При средней...
-
Объектом автоматизации сайта "вопрос-ответ" является предметная область "Проектирование информационных систем". Основное назначение сайта "вопрос-ответ"...
-
В автоматизируемых процессах участвуют сотрудники департамента IT и департамента коммерции. Процесс направлен на внедрение платежной системы клиенту....
-
В выпускной квалификационной работе предметом исследования является деятельность по учету и управлению доставкой корреспонденции. Для того, чтобы...
-
Для достижения цели, поставленной в данной работе, необходимо проанализировать текущую ситуацию в области информационных систем, сравнить информационные...
-
Стоимость одного часа машинного времени вычисляем по формуле: , (3.4) Где: СЭкс - годовые эксплуатационные расходы, руб.; F Н - эффективный годовой фонд...
-
В соответствии с определением американского стандарта в области управления проектами PMBOK (2004), риск проекта - это неопределенное событие или условие,...
-
В течении года от команды разработчиков пришло 6 пакетов, содержащих изменения в ядре программы. Для каждого пакета составлялось в среднем от 1-ого до...
-
Деятельность линейного отдела полиции Законопроект определяет правовую основу органов внутренних дел (полиции) Республики Казахстан и правовой статус его...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
Архитектура разрабатываемой системы имеет два уровня: нижний - подсистема управления (датчики, микроконтроллер, исполнительные механизмы и оборудование)...
-
Теоретические предпосылки исследования Системы поддержки принятия решений Системы поддержки принятия решений (СППР), представляют собой приложения узкого...
-
При разработке данной программы были допущены следующие синтаксические ошибки: - неправильное использование операторов присваивания; - неверное...
-
Необходимость защиты информации от внутренних угроз была очевидна на всех этапах развития средств информационной безопасности. Однако первоначально...
-
Антивирусные программы Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют...
-
Общая характеристика НИИ ГА Информационно-аналитический центр (ИАЦ) ГосНИИ ГА образован 29 декабря 2006 года с целью решения проблем...
-
Выбор методики тестирования В процессе разработки системы разработчиком выявляются и устраняются все ошибки допущенные при проектировании. Ошибки,...
Качественный анализ - Автоматизация регрессионного тестирования