Говоря об автоматизированном тестировании
Говоря об автоматизированном тестировании

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

Например, чтобы реагировать на призывы руководства и соответствовать аттестациям, разрабатываются различные показатели покрытия, например, чтобы успевать за ходом автоматизированного тестового покрытия, каждый интерфейс и вариант использования проверяются символически (даже без проверки или); утверждение). Различные неожиданные операции.

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

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

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

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

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

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

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

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

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

Давайте поговорим о многоуровневости автоматизированных тестов.

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

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

Но с точки зрения фактической сложности реализации автоматизация пользовательского интерфейса сложнее, чем автоматическое тестирование интерфейса.

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

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

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

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

Наконец, давайте поговорим об автоматизированном тестировании и восходящем сообщении о результатах.

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

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

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

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

  1. Избегайте создания показателей на основе индикаторов/KPI;
  2. Учитывая стоимость резервирования, индикаторов не должно быть слишком много;
  3. Индикаторы разрабатываются для улучшения качества, а не для получения данных;
  4. Разрабатывать метрики с целью проведения Автоматизированного тестирования;
  5. Сравнение показателей должно основываться на том, решены ли болевые точки;
  6. Метрики являются вспомогательными критериями оценки и не являются единственными правильными результатами;
  7. При формулировании индикаторов мы должны учитывать, какие индикаторы более практичны и эффективны, и начинать с точки зрения решения проблем;
  8. Метричные показатели не должны оцениваться каким-то одним способом, а должны сочетаться с несколькими измерениями для всесторонней оценки и проведения измерений качества;
boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода