GUI тестирование | qa-academy | QA Academy

GUI (graphical user interface) ― это система интерактивных визуальных компонентов компьютерной программы, которые передают информацию. Именно через интерфейс пользователь взаимодействует с ПО. Впервые GUI был разработан в компании Xerox PARC Аланом Кеем и Дугласом Энгельбартом в 1981 году. Позже, 19 января 1983 года, Apple представила компьютер Lisa с прорывным для своего времени графическим интерфейсом. Graphical user interface — это система интерактивных визуальных компонентов компьютерной программы.

Элементами GUI являются окна, кнопки, вкладки, значки и меню для выполнения команд (открыть, удалить, переместить и прочее). Программное решение с графическим интерфейсом управляется с помощью мыши, клавиатуры или голосовыми командами.

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

Пример раннего графического интерфейса Apple

Пример раннего графического интерфейса Apple

GUI и UI: в чём отличия?

В ИТ-отрасли существуют схожие термины, которые не являются синонимами. Научиться разбираться в этом важно для начинающего QA-специалиста. Например, UI-тестирование (user interface) похоже на тестирование GUI, но это два разных процесса.

Пользовательский интерфейс — это более широкое понятие, которое может включать как графические элементы, так и командные строки (command-line interface, CLI). CLI позволяет пользователю взаимодействовать с компьютерной системой посредством текстовых команд и ответов. Интерфейсы командной строки появились раньше графических и сегодня встречаются очень редко.

Основной целью тестирования GUI служит оценка точности шрифтов, картинок и их расположения.

Почему тестирование интерфейса необходимо?

Современное ПО выходит за рамки рабочего стола, ведь мы ежедневно пользуемся и мобильными, и облачными приложениями. И они должны быть ориентированными на потребности юзеров (от англ. user — пользователь). Поэтому команда GUI testing (тестирования графического интерфейса) всегда уделяет пристальное внимание каждой детали визуальной динамики, чтобы соответствовать ожиданиям конечных пользователей. Оценка интерфейса выполняется для проверки функциональности и удобства использования элементов дизайна.

Что входит в GUI-тестирование?

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

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

  • корректность текстовых блоков (размер, шрифт, длина и ширина строки);
  • правильность отображения сообщения об ошибке;
  • читабельность текстовых элементов;
  • качество и чёткость изображений;
  • выравнивание;
  • точность работы интерактивных элементов;
  • адаптивность;
  • соответствие требованиям ПО.

Как видите, GUI-тестирование включает множество аспектов оценки качеста интерфейса.

Какие существуют методы оценки графического интерфейса?

QA-специалисты выбирают оптимальный вариант оценки качества ПО в зависимости от особенностей приложения и целей тестирования. Но существует и несколько общих QA-методов, к которым обращаются чаще всего: тестирование по сценарию (scripted testing), исследовательское тестирование и UX-тестирование (от англ. user experience — опыт пользователя).

Тестирование по сценарию

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

Исследовательское тестирование

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

UX-тестирование

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

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

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

Преимущества:

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

Недостатки:

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

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

Подводим итоги

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

Чтобы освоить все тонкости оценки качества GUI, стоит начать с азов и освоить основы функционального тестирования ПО.C курсами QA Academy вы освоите тонкости профессии с поддержкой преподавателей-практиков.

Запишитесь на курсы сегодня, чтобы уже через 2 месяца начать строить карьеру в ИТ!