Анализ и улучшение функционального тестирования и тестирования интерфейса

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 23.01.2021
Размер файла 16,3 K

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

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

Размещено на http://allbest.ru

Казанский национальный исследовательский технологический университет

Факультет «Дизайн и программная инженерия»

Анализ и улучшение функционального тестирования и тестирования интерфейса

Шакирова А.И., Студент магистратуры 2 курс

Научный руководитель: Богомолова О.И.

Россия, г. Казань

Аннотация

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

Ключевые слова: Тестирование программного обеспечения (ПО), функциональное тестирование, тестирование интерфейса.

Annotation

In the present work, software testing and the definition of the subject area were studied. A survey of companies testing web applications. Considered the existing software testing process. Identified weaknesses of the existing process. A proposed new software testing method that speeds up the testing process.

Key words: Software testing (software), functional testing, interface testing.

Тестирование применяется в разных областях жизни человека, начиная от тестирования какого-то нового устройства, для его нормальной работы и заканчивая ручным или автоматизированным тестированием программного обеспечения (ПО) [1].

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

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

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

Результаты опроса и анализ организации работы компаний по тестированию веб-приложений:

• В большинстве компаний работают до 6 тестировщиков, которые в основном тестируют крупные веб-порталы;

• Практически в каждой компании на 2 разработчиков приходится 1 тестировщик;

• Почти половина компаний составляет такие документы: тест-планы, чек-листы, mindmap-ы;

• При тестировании пользуются частичной автоматизацией 70% опрошенных тестировщиков;

• Тестировщикам предоставляет неудобство то, что после проведения тестирования ПО все равно остается небольшое количество ошибок.

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

Проведение функционального тестирования

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

В 10 опрошенных командах при тестировании используют два различных типа тестирования по степени доступа к коду: тестирование «черного ящика» (black box), или по-другому - функциональное тестирование, и «белого ящика» (white box), или по-другому - структурное тестирование кода. тестирование код программный пользователь

При тестировании методом «белого ящика» тестировщик имеет доступ к исходному коду программ. При этом, когда проходит тестирование автоматизированное, этим правилом не пользуются, создаются автотесты, которые имитируют работу пользователя через интерфейс пользователя. То есть, то, что написал программист/разработчик - не имеет значения.

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

При методе тестирования «белый ящик» тестировщик проводит такие ступени тестирования, как:

• покрытие решений;

• покрытие условий;

• покрытие решений и условий;

• комбинаторное покрытие условий.

Проведение тестирования интерфейса. Тестирование интерфейса (тестирование удобства интерфейса) - тестирование графического пользовательского интерфейса. Графический пользовательский интерфейс -- это интерфейс, в котором пользователь взаимодействует с компьютером, используя графические изображения [2].

Цель тестирования интерфейса - проверить насколько удобно приложение для использования.

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

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

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

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

Внедрение нового метода тестирования веб-приложений

Функциональное тестирование. Компания К1 занимается тестированием программного продукта «Касса» с использованием предложенного метода серого ящика. При тестировании программы по методу серого ящика, команда использует несколько средств, это средства для выполнения тестирования по методу черного и белого ящиков. При этом количество сэкономленного времени равно 4%, количество багов не изменилось. Тестирование методом серого ящика так же проводила компания К2 при тестировании нескольких программных продуктов. Обнаруженные плюсы использования данного метода: данный метод объединяет метод черного и белого ящика, что позволяет найти большее число ошибок и выявить реальные проблемы программного продукта. При выполнении метода серого ящика, сначала используется метод белого ящика для выявления потенциально проблематичных мест, а затем применяются метод черного ящика для создания работающих программ атаки, направленных на эти проблематичные области.

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

Так же тестирование методом серого ящика проводит компания К3. Данный метод компания начала применять практически на всех программных продуктах. С помощью метода тестирования серым ящиком протестированы проекты: «электронная регистратура», «мониторинг беременных», «вакцина профилактики» и «медицинские осмотры».

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

Тестирование интерфейса. Для улучшения тестирования интерфейса предложено воспользоваться работой с фокус-группами. Апробирование этого метода возможно при тестировании неконфиденциальных программных продуктов. Поэтому апробирование проведено на 3 проектах:

1. Проект компании К4;

2. Проект компании К5;

3. Проект компании К6.

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

Тестирование интерфейса с помощью фокус-групп показало результаты:

1. В проекте компании К4 качество программного продукта улучшилось за счет небольшого изменения интерфейса, фокус-группа нашла 2% дефектов, но времени при этом на тестирование ушло больше, чем при обычном тестировании интерфейса.

2. В проекте компании К5 после тестирования программного продукта фокус- группой, интерфейс не изменен, фокус-группа нашла 1% дефектов время тестирования не было учтено, потому что тестирование фокус-группой проводилось после релиза.

3. В проекте компании К6 интерфейс не изменен, фокус-группа нашла 4% дефектов, но времени при этом на тестирование ушло больше.

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

Вывод

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

Использованные источники

1. Виды тестирования и подходы. [Электронный ресурс]. https://habr.com/ru/post/81226/ (дата обращения: 15.01.2019)

2. Тестирование пользовательского интерфейса. [Электронный ресурс]. https://qaevolution.ru/testirovanie-po/vidy-testirovaniya-po/testirovanie-polzovatelskogo-interfeisa/ (дата обращения: 17.01.2019)

3. Тестирование ЦІ (пользовательского интерфейса). [Электронный ресурс]. https://woxapp.com/ru/our-blog/testing-the-ui-user-interface/ (дата обращения: 19.01.2019)

4. Тестирование ЦІ (пользовательского интерфейса). [Электронный ресурс]. https://woxapp.com/ru/our-blog/testing-the-ui-user-interface/ (дата обращения: 19.01.2019)

5. Особенности тестирования «черного ящика». [Электронный ресурс]. http://software-testing.ru/library/testing/functional-testing/2675-key-principles-of- black-box-testing (дата обращения: 22.01.2019)

6. Функциональное тестирование. [Электронный ресурс]. https://qaevolution.ru/testirovanie-po/vidy-testirovaniya-po/funkcionalnoe-testirovanie/ (дата обращения: 22.01.2019)

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

...

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

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

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

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

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

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

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

  • Подходы и алгоритмы автоматизации тестирования. Анализ специфики работы с локальными и веб-приложениями, внедрение автоматических тестов в процесс контроля качества приложений Global XB, GCube и Thistle. Оптимальный инструмент разработки скриптов.

    дипломная работа [1,5 M], добавлен 15.01.2012

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

    дипломная работа [1,7 M], добавлен 03.05.2018

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

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

  • Описание исходных текстов программного продукта. Системные требования и установка программного продукта. Тестирование пользователя по двадцати вопросам указанной темы и сохранение результатов тестирования. Форма отображения результатов тестирования.

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

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

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

  • Описание алгоритмов работы программного блока, тестирования, сохранения результатов, просмотра статистики и построения графика. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Руководство оператора. Охрана труда.

    дипломная работа [4,4 M], добавлен 06.03.2013

  • Основные стандарты usability-тестирования интерфейсов информационных систем. Количественные и качественные методы оценки тестирования. Технология Eye-tracking. Постановка целей и задач для тестирования сайта Налоговой службы Российской Федерации.

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

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

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

  • Выбор среды разработки программного обеспечения. Компьютерная система тестирования знаний в дистанционном обучении OpenTEST. Написание встроенного текстового редактора для расширенного форматирования текста. Руководство пользователя, структура программы.

    дипломная работа [7,1 M], добавлен 20.05.2013

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

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

  • Организация проверки результатов обучения и оценки знаний, использование систем тестирования, основные требования к ним. Создание современной модели WEB-сервиса тестирования знаний; программная реализация; защита от копирования информации и списывания.

    курсовая работа [24,1 K], добавлен 11.05.2012

  • Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.

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

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

    презентация [574,8 K], добавлен 22.03.2014

  • Объектный анализ и проектирование системы программного средства "program.exe", позволяющего осуществлять тестирование и диагностику компонентов персонального компьютера. Модель тестирования процессора, LPT порта, COM порта, электропитания и драйверов.

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

  • Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.

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

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

    дипломная работа [1,6 M], добавлен 22.03.2017

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

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

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