'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №7 (52) том 2
  4. Научная статья № 27

Просмотры  114 просмотров

Чжао М.Н., Крылов И.С., Онищенко Б.Р.

  


СРАВНЕНИЕ РУЧНОГО И АВТОМАТИЗИРОВАННОГО ПОДХОДА К ФУНКЦИОНАЛЬНОМУ ТЕСТИРОВАНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ *

  


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

Ключевые слова:
государство, гражданское право, государственные займы, государственное предпринимательство   


УДК 004.05

Чжао М.Н.

студент бакалавриата направления подготовки «Математика»

Балтийский федеральный университет имени Иммануила Канта

(Россия, г. Калининград)

 

Крылов И.С.

студент бакалавриата направления подготовки

«Информационные системы и технологии»

Балтийский федеральный университет имени Иммануила Канта

(Россия, г. Калининград)

 

Онищенко Б.Р.

студент бакалавриата направления подготовки

«Информационные системы и технологии»

Балтийский федеральный университет имени Иммануила Канта

(Россия, г. Калининград)

 

СРАВНЕНИЕ РУЧНОГО И

АВТОМАТИЗИРОВАННОГО ПОДХОДА

К ФУНКЦИОНАЛЬНОМУ ТЕСТИРОВАНИЮ

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

 

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

 

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

 

Тестирование программного обеспечения является одной из техник контроля качества, включающая в себя следующие стадии: планирование работ, проектирование тестовых испытаний, выполнение спроектированных испытаний и анализ полученных данных в результате проведения тестирования. Качество в контексте тестирования программного обеспечения представляет из себя не абстрактный термин, а комплекс характеристик, регулируемых международным стандартом ISO/IEC 25010:2011 [1]. Согласно модели качества устанавливаемой данным стандартом, качество программного продукта устанавливается шесть основными характеристиками:

  • функциональностью;
  • производительностью;
  • надёжностью;
  • удобством использования;
  • переносимостью;
  • сопровождаемостью;

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

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

Подобные испытания могут проводиться как вручную тестировщиком, так и с помощью программных средств, автоматизирующих процесс выполнения теста. Подход, когда действия в тестовых испытаниях проводятся тестировщиком без использования различных программных средств для автоматизации – называется ручным. При данном подходе тестировщик использует тестируемый продукт как конечный пользователь, моделируя ситуации использования функций согласно разработанным тестовым сценариям [2]. По этой причине при ручном тестировании важен опыт тестировшика. Основным преимуществом ручного подхода и является то, что при проведении тестовых испытаний система анализируется человеком, способным распознавать даже малозаметные сбои в функциональных возможностях тестируемой системы. Задача тестировщика при проведении функционального тестирования заключается в определении того, насколько тестируемая система соответствует функциональным требованиям. Говоря иначе, проверяется способность продукта решать задачи, необходимые конечным пользователям. Ручное тестирование, в зависимости от количества привлеченных специалистов и тестовых испытаний, может быть продолжительным по времени. Стоимость ручного тестирования фактически зависит только от заработной платы задействованных специалистов по тестированию.

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

 Каждый из этих видов тестирования имеет свои особенности проведения и внедрения.

Ручное тестирование имеет следующие преимущества:

  • Тестировщик играет роль конечного пользователя и подробно изучает функциональные особенности приложения;
  • Развернутая отчётность о проведении тестирования, которую можно расценивать, как обратную связь от потенциального пользователя.
  • Детальность – человек проводящий тестирование может замечать даже небольшие отклонения в функциях приложения, иногда даже не относящие к тестируемым по сценарию функциям. В свою очередь автоматизированные тесты могут обнаружить только те ошибки, на которые они изначально были нацелены, игнорируя иные возможные ошибки, возникающие при выполнении теста;
  • Гибкость к требованиям. Ручное тестирование можно быстро адаптировать к любым новым требованиям, которые могут изменяться в зависимости от потребностей;
  • Изменяемость – даже, если тестирование проводится по заранее подготовленным тест-кейсам, каждое выполнение человеком описанных в тест-кейсе испытаний отличается от предыдущих. Данное преимущество проявляется как намеренно, так и ненамеренно. Намеренное проявление данного преимущества заключается, например, в использовании различных тестовых данных при проведении испытаний. Ненамеренное проявление данного преимущества заключается в том, что человек при выполнении теста может обращать внимание на иные особенности системы, косвенно связанные с проведением теста, причём при каждом проведении внимание может быть обращено на различные аспекты, незамеченные ранее;
  • Возможность исследовательского тестирования. Данный вид тестирования подразумевает тестирования приложения, без использования тест-кейсов. В данной ситуации тестировщик исследует приложение основываясь на своём опыте. Данный вид тестирования применяется достаточно часто, например, когда у приложения добавляются новые функции, которые ещё не были покрыты тестовыми сценариями или, когда необходимо быстро воспроизвести и исследовать ошибку, обнаруженную клиентом. Исследовательское тестирование возможно проводить только вручную;
  • Дешевизна для небольших проектов. Ручное тестирование обходится дешевле, чем автоматизированное для небольших проектов, поскольку ручной подход требует меньших вложений на начальном этапе, по сравнению с автоматизированным [3].

Минусами ручного тестирования являются:

  • Трудоёмкость – проведение серии тестовых испытаний вручную является гораздо более трудоёмким процессом по сравнению с проведением такой же серии тестов, но автоматизированных;
  • Время выполнения – выполнение тестового испытания вручную занимает больше времени, чем выполнение такого же испытания, но автоматизировано;
  • Человеческий фактов – при тестировании вручную человек способен допускать ошибки при проведении испытания. Усугубляется это необходимостью в многократном повторении однотипных действий. Кроме того, предоставляемые тестировщиком результаты о проведении тестирования могут быть субъективны и не отражать реальное состояние тестируемого продукта. Особенно человеческий фактор может проявляться на больших проектах, где применяется обширный цикл тестов и время, за которое необходимо провести данный цикл испытаний ограничено. В таких стрессовых условиях, ручное тестирование теряет своё качество.

Теперь рассмотрим преимущества и недостатки автоматизированного тестирования.

Преимуществами автоматизированного тестирования являются:

  • Время выполнения – выполнение автоматизированного теста занимает меньше времени, по сравнению с выполнением этого же теста, но вручную специалистом без использования средств автоматизации. Более того, автоматизированные тесты могут выполняться параллельно, благодаря современным средствам автоматизации тестирования, что ещё сокращает время выполнения цикла тестов. Благодаря этому можно проводить тестирование в более сжатые сроки;
  • Отсутствие человеческого фактора. В отличии от человека, средства автоматизации не могут устать или предоставить субъективные результаты тестирования. Автоматизированные тесты выполняется из раза в раз одинаково, как в них это было заложено специалистом по автоматизации тестирования. Если по сценарию теста требуется выполнить точные замеры, например, цвет или размер элемента страницы, при тестировании через пользовательский интерфейс, то автоматизированный тест справиться с данной задачей быстрее и точнее по сравнению с выполнением данных задач вручную;
  • Автоматическое формирование и сохранение отчётов о проведении тестирования. Современные средства автоматизации могут самостоятельно собирать информацию о прохождении автоматизированных тестов и формировать по результатам выполнения отчётность, без непосредственного написания отчёта специалистом вручную;
  • Повторяемость – автоматизированный тест пишется специалистом один раз, но может использоваться многократно при выполнении тестирования;
  • Автоматический запуск тестов – с помощью средств автоматизации тестирования можно настроить автоматический запуск тестов. Автозапуск может быть настроен по какому-то определённому событию, например, выходу новой версии продукта или, если тестировать приложение требуется более часто, то автозапуск может выполняться в определённую дату или даже каждый день в определённое время. Зачастую данное преимущество применяется, для запуска автоматизированных тестов в ночное время, когда нагрузка на сервера компании является минимальной. Это крайне удобно, поскольку позволяет провести тестирование во время отсутствия нагрузки на приложение без участия специалиста и получить отчёт о результатах проведения тестирования, который уже в рабочее время следующего дня будет анализировать тестировщик.

Минусами автоматизированного тестирования являются:

  • Отсутствие тестирования «глазами пользователя продукта». Автоматизированные тесты обнаруживают только те дефекты, которые являются отклонениями от заложенных в них условий. Из-за этого часть дефектов, с которыми столкнулся бы пользователь при выполнении той же последовательности действий, может пропускаться при автоматизированном тестировании;
  • Надежность – автоматизированные тесты зачастую могут выдавать негативный результат прохождения проверки, даже при условии, что дефекты в тестируемых функциях отсутствуют. Такой ложно негативный результат может быть обусловлен различными факторами: проблемы с сетью, сбои в средствах, применяемых для автоматизации тестирования, излишняя загруженность серверной инфраструктуры задействованной в процессе проведения автоматизированного тестирования и многие другие проблемы технического характера, которые могут сопутствовать и негативно влиять на процесс прохождения автоматизированных тестов;
  • Время разработки автоматизированных тестов. Разработка автоматизированных тестов, согласно написанным тест-кейсам, на одном из языков программирования, а также системы, которая будет выполнять и запускать данные тесты, может занимать значительный период времени. Количество затрачиваемого времени на автоматизацию напрямую зависит от количества тестов, которые необходимо автоматизировать, а также от сложности их реализации;
  • Стоимость разработки автоматизированных тестов. Специалист по автоматизации тестирования должен обладать значительно более высокой квалификацией, по сравнению с тестировщиком, проводящим тестовые испытания только вручную, в связи с этим оплата специалистов по автоматизации выше. Инструменты автоматизации тестирования, также могут являться дополнительными расходами для компании. В следствии этих факторов затраты на разработку автоматизированных тестов достаточно высоки и подобный вид тестирования применяется на длительных проектах, где за счёт повторяемости и остальных преимуществ автоматизации становится выгодным.

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

 

СПИСОК ЛИТЕРАТУРЫ:

 

ISO/IEC 25010:2011 Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models [Электронный ресурс]. ISO [официальный сайт]. URL: https://www.iso.org/ru/standard/35733.html (дата обращения 05.07.2022)

Обзор тестовых наборов и комплектов тестов [Электронный ресурс]. IBM [официальный сайт]. URL: https://www.ibm.com/docs/ru/elm/6.0.3?topic=testing-test-case-test-suite-overview (дата обращения 05.07.2022)

Как раннее тестирование влияет на стоимость продукта [Электронный ресурс]. XB Software Блог [официальный сайт]. URL: https://xbsoftware.ru/blog/kak-rannee-testirovanie-vliyaet-stoimost-produkta/. (Дата обращения: 05.07.2022)

 

  


Полная версия статьи PDF

Номер журнала Вестник науки №7 (52) том 2

  


Ссылка для цитирования:

Чжао М.Н., Крылов И.С., Онищенко Б.Р. СРАВНЕНИЕ РУЧНОГО И АВТОМАТИЗИРОВАННОГО ПОДХОДА К ФУНКЦИОНАЛЬНОМУ ТЕСТИРОВАНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ // Вестник науки №7 (52) том 2. С. 159 - 168. 2022 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/6022 (дата обращения: 29.03.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/6022



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2022.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.