В прошлом году я написал два блога, а именноГоворя об автоматическом тестировании пользовательского интерфейсаа такжеГоворя о тестировании автоматизации интерфейса, являются базовым методологическим содержанием.В этом году меня перевели на специальность автоматизированное тестирование, и я сделал много новых открытий.Конечно, я также столкнулся со многими проблемами.
Затем я снова открыл блог, чтобы рассказать о некоторых недавних проблемах в области автоматизированного тестирования, а также о своих собственных решениях и некоторых мыслях. . .
1. Объем теста
Будь то функциональное тестирование, автоматизация или тестирование производительности, первым шагом является уточнение объема тестирования и показателей требований. Для автоматизированного тестирования, особенно автоматизации пользовательского интерфейса, не все функциональные точки подходят для автоматизации пользовательского интерфейса.
В зависимости от конкретной бизнес-ситуации и степени стабильности проекта выберитеАвтоматизация пользовательского интерфейса + автоматизация APIВ совокупности выбор подходящей бизнес-точки для разработки целевой схемы автоматизированного тестирования является наилучшей схемой.
Для каких проектов подходит автоматизация UI, в предыдущем блогеГоворя об автоматическом тестировании пользовательского интерфейсаЯ уже анализировал это здесь, вот несколько моментов, которые я лично считаю более подходящими для автоматизации пользовательского интерфейса:
① Частота использования высока, есть много ненормальных суждений и самые основные функции, такие как регистрация пользователя и вход в систему;
② Основные функции клиента, такие как центр заказов и центр участников;
③.Страницы рекламных мероприятий, страницы отображения информации и т.д.;
Концепция многоуровневого тестирования также была введена ранее.Пирамида многоуровневого тестирования выглядит следующим образом:
С точки зрения эффекта, модульная автоматизация является наиболее прибыльной, но модульная автоматизация слишком сложна для большинства начинающих автоматизированных тестировщиков.
И в настоящее время большинство малых и средних предприятий в Китае не преуспевают в разработке собственных спецификаций развития и управления Вероятность автоматизации и реализации единиц не оптимистична в краткосрочной перспективе.
Автоматизация интерфейса в настоящее время является наиболее экономически выгодным вариантом.
Соотношение ввода и вывода автоматизации пользовательского интерфейса является самым низким среди трех моделей, но для все более сложных и крупномасштабных систем автоматизация пользовательского интерфейса также может в некоторых аспектах снизить рабочую нагрузку на дымовое тестирование после выпуска.
2. Архитектура системы
Для большинства функциональных тестировщиков архитектуре системы не нужно уделять слишком много внимания, но для тестировщиков автоматизации или производительности архитектура системы находится в центре внимания анализа предварительных требований, выбора и проектирования технических решений.
Например, язык программирования для разработки системы, тип используемой базы данных, структура службы связи (если должна быть выполнена автоматизация API, протокол связи, используемый системой, не может быть обойден), развертывание серверов приложений и т. д. все нужно учитывать.
PS: В компании, в которой я сейчас работаю, база данных использует SQL-сервер в пакете Microsoft Family Bucket Package, а языком разработки тестового сценария является python, который сам по себе не очень хорошо поддерживает SQL-сервер и Oracle, в результате чего конфигурация в базе.В то время я наступил на много ям.
Конечно, я, наконец, решил и эту проблему. Что касается поддержки базы данных, то это лишь малая часть проблем, с которыми я столкнулся.
Еще одна причина для знакомства с архитектурой системы: например, язык разработки, используемый системой, — java, и язык разработки скриптов, используемый самими автоматическими тестировщиками, — тоже java, поэтому совместимость очень хорошая, и если есть технические проблемы, вы также можете попросить коллег по разработке помочь их решить,
Таким образом, это также экономит много времени, а также очень помогает вашему собственному техническому совершенствованию.
После ознакомления с архитектурой системы лучше всего рассмотреть проектирование автоматизированных тестовых решений и выбор технических решений.Не использовать заложенный способ решения различных задач, аРешайте разные проблемы с помощью разных технических решений.
Прикрепил:python: используйте модуль pymmsql для работы с базой данных SQL-сервера.
3. Ситуация с проектом
В связи с этим лично я считаю, что анализ и общение следует использовать для подтверждения того, подходит ли система для автоматизированного тестирования. Итак, какая система подходит для автоматизированного тестирования?
Как показано на рисунке выше, я примерно перечислил некоторые характеристики некоторых проектов, подходящих для автоматизированного тестирования.Конечно, вам не обязательно иметь их все.Достаточно выполнить несколько пунктов, прежде чем вы сможете рассматривать автоматизированное тестирование. (часть, отмеченная красной линией, является основным условием).
Конечно, проектная ситуация не только это, есть и другие моменты, которые необходимо учитывать, такие как:
①, управление документами
Документы включают в себя документы с требованиями, планы тестирования, тестовые наборы, тестовые спецификации, спецификации разработки, документы по дизайну таблиц базы данных, интерфейсные документы и т. д.
Если документация несовершенна или даже отсутствует соответствующая документация, то на работу по автоматизированному тестированию и подготовительную работу нужно вкладывать больше времени и сил.
PS: Например, если вы хотите автоматизировать API, но нет документа по интерфейсу или документа по дизайну таблиц базы данных, то описание интерфейса API и описание входных и выходных параметров принесут много непредвиденной нагрузки, и статистика данных документа - очень хлопотная вещь.
Иногда необходимо, чтобы база данных подтвердила влияние интерфейса на данные.Если нет соответствующей документации для соответствующих полей таблицы базы данных, потребуется много времени и усилий, чтобы организовать и общаться с администратором базы данных.
Однако многие предприятия имеют слишком одностороннее представление об автоматизации, полагая, что автоматизация может заменить многие ошибки, обнаруженные человеком, и преследовать краткосрочные очевидные результаты. будет затронут этап подготовки.
Сомнения руководителя в личных способностях и эффективности работы можно назвать недостатками многих отечественных предприятий.
Проблема всегда требует решения.Если вы столкнулись с подобной проблемой, вы можете учесть эти факторы при разделении задач и оценке рабочего времени, пересчитать их в личное рабочее время и указать причины. отбрасываются существующие проблемы,
Способствуйте решению проблем, что также является отражением ценности автоматических тестировщиков.
②, управление процессами
Стабилен ли спрос на итерацию проекта? Существует ли относительно стандартизированный процесс от обзора требований до разработки, тестирования и выпуска?
Если итерация требований быстрая или нестабильная, рабочая нагрузка по сопровождению сценария автоматизированного тестирования будет увеличиваться в геометрической прогрессии; если нет лучшего управления процессами, прогресс работы по автоматизации всегда будет сталкиваться с множеством неописуемых ям, затратами на связь, затратами на изменение и т. также влияет
Разработка и планирование тестовых сценариев.
В автоматизированном тестировании вы должны быть знакомы с этими проблемами и быть готовыми к их решению.Изменение — самая большая проблема в автоматизированном тестировании! ! !
В-четвертых, «цель» последовательна
«Цель» здесь относится к индивидуальной постановке цели работы и ожиданиям лидера от автоматизированной работы.Точки зрения и понимание разные, поэтому ожидаемые результаты разные. Я не пытаюсь прийти к полному согласию, я пытаюсь сказать, чтоважность общения.
Личное понимание ситуации в системе, технической архитектуры, области тестирования, соответствующего автоматизированного плана тестирования и постановка целей должны продолжать общаться с лидером, постоянно корректироваться и достигать определенной степени согласия, что также может избежать многих последующих действий. неприятности.
Конечно, постановка целей также должна основываться на конкретных требованиях к автоматизированному тестированию, а задачи должны быть разделены, пересматриваться и постоянно корректироваться.Процесс постоянной корректировки требует терпения и настойчивости!
5. Операционная среда
Разработка автоматизированных тестовых сценариев также должна основываться на различных средах, а выбор среды должен учитывать различные ситуации.Ниже приводится список моих личных идей:
1. Среда СИТ:
Среда SIT, также известная как среда системной интеграции, — это то, что мы часто называем тестовой средой.Если сценарий тестирования разрабатывается и отлаживается на основе среды SIT, среда SIT должна быть относительно стабильной.
Но в большинстве случаев среда SIT требует нескольких тестов отправки, что имеет большое перекрестное влияние, а среда SIT и производственная среда по-прежнему различаются (почему, я считаю, что тестирование детской обуви, мы все понимаем болевые точки ).
2. Среда UAT:
Среда UAT — это то, что мы называем средой приемки.Конечно, существуют также среды в градациях серого. По сравнению со средой SIT среда UAT относительно стабильна и более совместима с рабочей средой и очень подходит для автоматизированной разработки и отладки тестовых сценариев, а также для ежедневного регрессионного тестирования.
Однако роль автоматизированного тестирования этим не ограничивается, и оно также может выполнять пострелизный продакшен дым, регулярные опросные тесты и так далее.
3. Производственная среда:
Если разработка и отладка тестовых сценариев, а также выполнение тестов выполняются в производственной среде, необходимо решить следующие проблемы:
①, проблемы с сетью
Как правило, наши среды SIT и UAT развернуты внутри предприятия, а сетевая среда также находится в интрасети.Существует определенная разница между синтаксическим анализом запросов и внешней сетью. Если вы запускаете скрипт в производственной среде для регрессии и дыма, вам необходимо учитывать реальную пользовательскую операционную среду и влияние различных сетей на результаты теста.
А в тестовом сценарии сон лучше не использовать (особенно автоматизация UI, принудительное ожидание легко может привести к множеству неконтролируемых переменных).
②, проблема загрязнения данных
Если производственная среда выполняет автоматизированное тестирование и возвращается в дым, необходимо изолировать данные, сгенерированные тестом, иначе это повлияет на бизнес, а производственные данные будут загрязнены. Обычно используются следующие методы изоляции данных:
Тестовые учетные записи белого списка, сетевые теги, теги потоков и тестовые данные попадают в соответствующую тестовую библиотеку, а некоторые службы также могут использовать MOCK-объекты и перегородки.
Что касается изоляции данных, это также ключевой момент, который следует учитывать при тестировании производительности.Конечно, эти методы часто используются для изоляции данных при тестировании производительности, чтобы избежать влияния загрязнения производственных данных.
6. Развертывание службы
предыдущий блогКакие навыки нужны для тестирования интерфейсовКак уже упоминалось, ядром автоматизированного тестирования является непрерывная интеграция. Тогда необходима отдельная нетронутая среда непрерывной интеграции.
Среда непрерывной интеграции также называется средой CI, аналогично среде CD (непрерывная доставка).
Эти приложения широко используются в гибком тестировании.Однако в современной отрасли, я лично понимаю, что все больше и больше компаний начинают создавать среды непрерывной интеграции.Это дает много преимуществ, таких как:
1. Итеративное тестирование версии может быть отправлено через службу CI в один клик, что экономит время и повышает эффективность;
2. Если вам нужно создать большой объем тестовых данных, вы можете использовать небольшой скрипт для его настройки и нажать кнопку запуска;
3. При выпуске рабочей среды ее можно автоматически упаковать и развернуть через службу CI, что позволяет избежать таких проблем, как некорректная работа при ручной упаковке и настройке;
④ После того, как автоматизированный тестовый сценарий будет развернут в среде CI, вам нужно будет только щелкнуть, чтобы начать, или установить условия запуска и форму временных задач, чтобы добиться регулярного опроса для производства, дыма после выпуска и т. д.;
Как развернуть среду CI? Вы можете обратиться к моему предыдущему блогу:Среда Linux: серия развертываний службы непрерывной интеграции
7. Стратегия тестирования
Стратегию здесь можно рассматривать со следующих точек зрения:
1. Разделение задач
После подтверждения объема тестирования и показателей требований автоматизированные тестовые задачи делятся на более мелкие детали, а время, необходимое для содержания работы, точночеловек/деньМасштабируйте, выполняйте задачи вовремя и постоянно корректируйте, если есть проблемы;
2. Приоритет
После того, как задачи разделены, расставьте приоритеты задач, сообщите об этом через обзор и подтвердите, какие задачи должны быть выполнены в первую очередь, какие будут выполнены позже и т. д.
При разработке схемы тестирования ее можно условно разделить на первую фазу и вторую фазу задач автоматизированного тестирования.Например, на первой фазе для достижения определенной степени охвата автоматизированного тестирования автоматизированный тест на сторона ПК может быть реализована первой, а автоматизация мобильного терминала может быть рассмотрена на втором этапе.
На третьем этапе можно рассмотреть разработку автоматизированных тестовых платформ и так далее. Есть цели и планы, и они постоянно корректируются в соответствии с изменениями и прогрессом проекта.
Для приоритизации задач автоматизации можно обратиться к следующим пунктам:
①, чем выше частота использования пользователя, приоритет должен быть самым высоким;
②, основные функции системы должны быть в авангарде приоритета;
③ Основные функции системы (такие как оплата, заказ) должны быть рассмотрены ранее;
④ Производственные проблемы в исторических записях называются множественными функциональными точками, которые должны быть охвачены как можно шире;
3. Расчетное рабочее время
После завершения предварительных подготовительных работ (таких как подтверждение содержания, анализ требований, развертывание среды CI, разработка плана тестирования, выбор технической основы, документация и т. д.) необходимо оценить рабочее время для конкретных разделенных задач для подтверждения работы. стадия полового развития,
Легко настроить в любое время. Расчетное рабочее время необходимо учитывать следующее:
①, личные технические возможности и характеристики автоматизированного тестера;
②, проектная ситуация, управление процессами, степень изменения архитектуры системы;
3. Сложность технической реализации тестового решения;
8. Решение проблем
На пути автоматизированного тестирования есть все ямы! ! !
Мы столкнемся со многими проблемами на работе, включая проблемы со связью, проблемы с управлением, технические трудности и некоторые неописуемые проблемы, но только найдя пути решения этих проблем, мы сможем продолжать совершенствоваться на работе, завершать работу и получать заслуженное вознаграждение. .
У разных компаний бывают разные проблемы, и идеальной компании не бывает, поэтому научиться адаптироваться к окружающей среде и гармонично общаться на работе также необходимо в работе.
Суть работы в том, чтобы взять деньги на ликвидацию катаклизмов.Решайте проблемы и создавайте ценность! ! !
Поэтому для автоматизированного тестирования детской обуви требуется хорошее отношение, настойчивость и идеи решения проблем. . .
Выше приведены некоторые из проблем, задач и некоторые из моих собственных мыслей и решений, с которыми я лично столкнулся в процессе автоматизированного тестирования.Я надеюсь предоставить некоторые идеи и помощь для детской обуви, которую я вижу, только для справки. . .
Конечно, многое из этого содержания можно сказать отдельно, и есть также много моментов, заслуживающих обсуждения.Из-за ограниченного места я не буду разбирать их здесь по одному, и продолжу обновлять их в будущем. . .
Has anything you've done made your life better?