[Введение в автоматическое тестирование интерфейса] Автоматическое тестирование интерфейса от 0 до 1

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

Зачем тестировать интерфейс

Эволюция концепции тестирования

Раньше большая часть процессов разработки и доставки программного обеспечения следовала каскадной модели в виде буквы V или буквы W. В этой модели только после завершения разработки и кодирования тест продвигается и переходит на стадию тестирования и проверки. На этом этапе большинство тестов, которые проводят студенты, основаны на функциональном тестировании бизнес-процессов и страниц, что является нашей самоуничижительной «точечной работой».

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

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

Согласно некоторым теориям или лучшим практикам крупных производителей, пропорция автоматизированного тестирования на уровне UI:API:UNIT должна составлять 1:2:7 по следующим причинам:

  • UI: высокая стоимость обслуживания, позднее вмешательство, минимальная польза;
  • API: стоимость обслуживания умеренная, вы можете вмешаться как можно раньше и охватить множество сценариев;
  • UNIT: затраты на обслуживание самые маленькие, вы можете вмешаться раньше, гранулярность теста самая маленькая, а доход самый высокий (что касается того, кто будет писать модульный тест, конечно, это разработка);

Улучшение технических требований

Большинство тестовых студентов в Китае технически слабее, чем разработка.

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

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

Начиная с теста уровня пользовательского интерфейса в начале, он постоянно детализировался.Это неизбежная тенденция эволюции, что доля тестирования уровня API в ежедневной работе становится все выше и выше. Тестирование API также имеет 2 особенности:

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

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

Понимание интерфейсов и тестирование интерфейсов

Как понять интерфейс?

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

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

Обращение друг к другу между интерфейсами также должно следовать определенным правилам, это правило сетевого протокола, например: протокол http, протокол tcp, протокол rpc.

Как понять тестирование интерфейса?

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

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

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

Как научиться тестировать интерфейс?

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

  • Начало работы: "Иллюстрированный HTTP", "Иллюстрированный TCP/IP"
  • Углубленное изучение: "Официальное руководство по HTTP", "Официальное руководство по TCP/IP"

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

  • Инструменты захвата пакетов: Фиддлер, Чарльз
  • Инструменты тестирования: Jmeter, Postman
  • Инструменты управления генерацией интерфейсов: Yapi, Swagger

Разница между тестированием UI/API/UNIT

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

  • Тестирование пользовательского интерфейса: тестирование бизнес-процессов;
  • Тест API: тест потока бизнес-данных;
  • UNIT-тест: тест на логику реализации бизнеса;

Как внедрить автоматизированное тестирование интерфейсов

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

  • Начните с нуля, не переходите сразу к изучению так называемой структуры автоматизации;
  • Перед изучением фреймворка необходимо изучить сетевой протокол и знания в области кодирования;

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

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

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

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

От первого до сложной реализации автоматизированного тестирования интерфейса можно пройти следующие этапы:

  • Научитесь использовать инструменты для тестирования интерфейса (например, jmeter/postman);
  • Научитесь использовать инструменты непрерывной интеграции (например, jenkins) для пакетного выполнения скриптов тестирования интерфейса;
  • Изучите инструменты управления версиями и исходным кодом, такие как git/gitlab, чтобы упростить совместную работу нескольких человек в команде;
  • Изучите язык программирования и используйте среду автоматизированного тестирования для преобразования скриптов инструментов в скрипты кода;
  • Научитесь инкапсулировать общие части, оптимизировать структуру кода, повышать эффективность написания кодовых скриптов и снижать затраты на обслуживание;
  • Чтобы изучить метод управления параметризованными данными, вы можете выполнить итерацию со стороны Excel-конфигурации файла-базы-номера фабрики;
  • Попробуйте разделить коллекции скриптов в соответствии с бизнес-направлениями и тестовыми сценариями, а затем внедрить моки, чтобы уменьшить зависимость вызовов между сервисами и повысить эффективность выполнения;
  • Начните рисовать большие пироги, строить колеса, заниматься KPI и разрабатывать платформы автоматизированного тестирования;

Ниже приводится вспомогательная информация.Для друзей, которые занимаются [тестированием программного обеспечения], это должен быть самый полный и полный склад подготовки.Этот склад также сопровождал меня в самом сложном путешествии.Я надеюсь, что он может помочь и вам!

Апплет интервью по тестированию программного обеспечения

Банк тестовых вопросов по программному обеспечению заполнен миллионами людей! ! ! Кто знает! ! ! Самая полная мини-программа-викторина во всей сети, вы можете использовать свой мобильный телефон, чтобы делать викторины, в метро или в автобусе, сверните его!

Рассматриваются следующие разделы вопросов интервью:

1. Базовая теория тестирования программного обеспечения, 2. Веб, приложение, функциональное тестирование интерфейса, 3. Сеть, 4. База данных, 5. Linux

6. веб, приложение, автоматизация интерфейса, 7. тестирование производительности, 8. основы программирования, 9. вопросы на собеседовании, 10. вопросы открытого теста, 11. тестирование безопасности, 12. основы работы с компьютером

Метод получения информации:

Supongo que te gusta

Origin blog.csdn.net/IT_LanTian/article/details/131723276
Recomendado
Clasificación