Рекомендация десяти инструментов разработки тестов с открытым исходным кодом в 2023 году (автоматизация, производительность, создание данных, репликация трафика)
Рекомендация десяти инструментов разработки тестов с открытым исходным кодом в 2023 году (автоматизация, производительность, создание данных, репликация трафика)

1. Платформа автоматизированного тестирования AutoMeter-API.

AutoMeter — это автоматизированная платформа тестирования, объединяющая функции и производительность распределенных сервисов и API-интерфейсов микросервисов. Она обеспечивает комплексное управление единицами выпуска, API-интерфейсами, средами, вариантами использования, предварительными условиями, сценариями, планами, отчетами и т. д.

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

  • 1. Поддержка различных ролей и сотрудничество нескольких технических специалистов.
  • 2. Поддерживает определение нескольких различных тестовых сред.
  • 3. Поддержка определения различных тестируемых систем и API.
  • 4. Функции поддержки,производительность,возвращаться,автоматизациятест
  • 5. Подробные отчеты о функциях/производительности, статистические отчеты.

Адрес проекта:

Язык кода:txt
копировать
https://gitee.com/season-fan/autometer-api

2. Инструмент автоматического тестирования браузера QA Wolf.

QA Wolf помогает создавать, запускать и поддерживать комплексные тесты автоматизации браузера в 10 раз быстрее.

Адрес проекта:

Язык кода:txt
копировать
https://github.com/qawolf/qawolf

3. Mimesis, высокопроизводительный генератор фейковых данных для Python.

Mimesis — это высокопроизводительный генератор поддельных данных для Python, который предоставляет данные для различных целей на нескольких языках. Поддельные данные могут использоваться для заполнения тестовых баз данных, создания поддельных конечных точек API, создания произвольных структурированных файлов JSON и XML, анонимизации данных в рабочей среде и многого другого.

Поддерживаемые функции

  • Просто: легко использовать и изучать
  • Многоязычность: поддерживает данные на нескольких языках.
  • Производительность: самый быстрый генератор данных, доступный для Python.
  • Разнообразие данных: поддержка нескольких поставщиков данных для различных целей.
  • Универсальный поставщик данных: упрощенный доступ ко всем поставщикам из одного объекта
  • Нулевые зависимости: не требуются никакие модули за пределами стандартной библиотеки Python.
  • Генераторы на основе схем: предоставляют простой механизм для генерации данных из любой сложной схемы.

Адрес проекта:

Язык кода:txt
копировать
https://github.com/lk-geimfari/mimesis

Установить:

Язык кода:txt
копировать
pip install mimesis

Пример:

Язык кода:txt
копировать
>>> from mimesis import Person
>>> from mimesis.locales import Locale
>>> person = Person(Locale.EN)

>>> person.full_name()
'Brande Sears'

>>> person.email(domains=['example.com'])
'roccelline1878@example.com'

>>> person.email(domains=['mimesis.name'], unique=True)
'f272a05d39ec46fdac5be4ac7be45f3f@mimesis.name'

>>> person.telephone(mask='1-4##-8##-5##3')
'1-436-896-5213'

4. Высокопроизводительный инструмент нагрузочного тестирования Ddosify.

Ddosify — это высокопроизводительный инструмент нагрузочного тестирования и моделирования DDOS-атак, написанный на Golang.

характеристика:

  • Независимость от протокола — в настоящее время поддерживает HTTP, HTTPS, HTTP/2. Другие протоколы находятся в стадии разработки.
  • На основе сценариев — создайте свой процесс в файле JSON. Никакой строки кода не требуется!
  • Различные типы нагрузки. Проверьте пределы вашей системы при различных типах нагрузки.

Адрес проекта:

Язык кода:txt
копировать
https://github.com/ddosify/ddosify

5. Инструмент тестирования AutoCannon HTTP/1.1.

AutoCannon — это инструмент для тестирования производительности HTTP/1.1, написанный на Node.js, вдохновленный wrk и wrk2, и поддерживающий каналы HTTP и HTTPS. autocannon может генерировать большую нагрузку, чем wrk и wrk2.

Адрес проекта:

Язык кода:txt
копировать
https://github.com/mcollina/autocannon

6. Инструмент записи и воспроизведения трафика Шаринган

Sharingan — инструмент записи и воспроизведения трафика на основе golang, подходящий для реконструкции проектов, регрессионного тестирования и т. д.

характеристика

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

Адрес проекта:

Язык кода:txt
копировать
https://github.com/didi/sharingan

использовать Пример:

Язык кода:txt
копировать
# Step1: Скачать проект Шарингана
$ git clone https://github.com/didi/sharingan.git
$ cd sharingan

# Step2: используйте настроенную версию golang, взяв в качестве примера go1.13.
$ sh install.sh go1.13 # Поддержка go1.10 ~ go1.15, только для Mac и Linux система amd64
$ export GOROOT=/tmp/recorder-go1.13
$ export PATH=$GOROOT/bin:$PATH

# Step3: Скомпилируйте и запустите реплеер-агент в фоновом режиме "По умолчанию будут заняты порты 3515 и 8998, которые можно изменить".
# В [Документ доступа к воспроизведению] есть ссылка для прямой загрузки bin-файла, сборка не требуется.
$ cd replayer-agent
$ go build
$ nohup ./replayer-agent >> run.log 2>&1 &

# Step4: Скомпилируйте и запустите пример в фоновом режиме «по умолчанию он занимает порт 9999 и может быть изменен».
$ cd ../example
$ go build -tags="replayer" -gcflags="all=-N -l"
$ nohup ./example >> run.log 2>&1 &

# Step5: Страница воспроизведения Открыть
$ Браузер Открыть, http://127.0.0.1:8998 # Просто замените неродной IP
$ Выберите страницу для воспроизведения и выполните точку трафика.          # Встроенный предварительно записанный пример трафика из3

7. Инструмент генерации случайных тестовых данных randdata

randdata — это инструмент для генерации тестовых данных, разработанный на основе JAVA. Он полностью создан для генерации случайных соответствующих данных для тестировщиков, разработчиков программного обеспечения, разработчиков данных, инженеров по предпродажной подготовке или менеджеров по продуктам для демонстрации. Случайная генерация различных данных, таких как Интернет, банковские операции, черно-белые данные и т. д., избавляет пользователей от необходимости писать сложный SQL или программы для генерации данных, соответствующих привычкам китайцев. Это значительно экономит затраты на разработку программного обеспечения.

Функции:

  • Нет кода: нет необходимости писать код для генерации соответствующих данных.
  • Простое управление: для запуска пользователям достаточно установить JDK1.8 и выше.
  • Случайность данных: убедитесь, что данные не повторяются в наибольшей степени.
  • Поддержка прямой базы генерация таблицы данных: некоторые базы могут быть напрямую импортированы данныхизструктура таблицы,Нет необходимости создавать таблицы вручную,Просто укажите сгенерированный тип данных для таблицы.
  • Требования к рабочей среде низкие: Windows, Linux и другие ПК могут быть запущены напрямую. Проект имеет только один пакет jar, который можно запустить через имя пакета java -jar.

Адрес проекта:

Язык кода:txt
копировать
https://gitee.com/chenlinux0768/randdata

8. Инструмент интеграции автоматического тестирования DrissionPage WEB.

DrissionPage, комбинация драйвера и сеанса, представляет собой инструмент интеграции операций веб-автоматизации на основе Python.

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

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

характеристика

  • Обеспечивает плавное переключение между селеном и запросами, а также совместное использование сеансов.
  • Оба режима предоставляют согласованные API и единообразный опыт использования.
  • Гуманизированные методы работы с элементами страницы уменьшают нагрузку на анализ и кодирование страницы.
  • Часто используемые функции были интегрированы и оптимизированы для лучшего удовлетворения реальных потребностей.
  • Совместимость с кодом Selenium для облегчения миграции проекта.
  • Инкапсулирован с использованием режима POM для легкого расширения.
  • Единый метод загрузки файлов компенсирует недостатки загрузки через браузер.
  • Простой метод настройки, позволяющий избавиться от громоздкой настройки браузера.

Адрес проекта:

Язык кода:txt
копировать
https://gitee.com/g1879/DrissionPage

9. Chaos Mesh выполняет тестирование хаоса в Kubernetes.

Chaos Mesh — это облачная платформа Chaos Engineering, которая может выполнять тестирование хаоса в средах Kubernetes.

Текущая реализация поддерживает основные операции по внедрению ошибок:

  • pod-kill: имитирует убийство пода Kubernetes.
  • pod-failure: имитирует постоянную недоступность Kubernetes Pod, которую можно использовать для моделирования сценариев простоя узла и недоступности.
  • network-delay: имитировать сетевую задержку.
  • network-loss: имитирует потерю сетевых пакетов.
  • network-duplication: имитировать дублирование сетевых пакетов.
  • network-corrupt: имитирует повреждение сетевых пакетов.
  • network-partition: имитировать сетевой раздел.
  • Задержка ввода-вывода: имитирует задержку ввода-вывода файловой системы.
  • I/O errno: имитирует ошибки ввода-вывода файловой системы.

Адрес проекта:

Язык кода:txt
копировать
https://gitee.com/mirrors/Chaos-Mesh

10. Интеллектуальная платформа автоматизации процессов Automagica.

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

Automagica требует среды Python 3.7 и официально поддерживает платформу Windows 10. Linux и Mac официально еще не поддерживаются.

Адрес проекта:

Язык кода:txt
копировать
https://github.com/OakwoodAI/Automagica
https://gitee.com/mirrors/Automagica

Сценарии использования Automagica:

  • автоматизация взаимодействия с рабочим столом
  • Office автоматизация,Например Открыть Excel и выполнить заполнение данных
  • Веб-автоматизация, например открытие URL-адресов и выполнение операций с веб-страницами.
  • автоматизация бизнес-приложений
  • Автоматически открывать приложение «Почта» и отправлять и получать электронные письма.
  • дистанционное управление и т. д.

Например:

Откройте Excel и возьмите на себя управление программой:

Откройте инструмент рисования и нарисуйте:

Пример кода

В этом примере открывается Блокнот Windows и вводится «Привет, мир!».

Язык кода:txt
копировать
PressHotkey('win','r')
Wait(seconds=1)
Type(text='notepad', interval_seconds=0)
PressKey('enter')
Wait(seconds=2)
Type(text='Hello world!', interval_seconds=0.15)

В следующем примере открывается браузер Chrome и осуществляется доступ к указанному URL-адресу.

Язык кода:txt
копировать
browser = ChromeBrowser()
browser.get('https://www.cnblogs.com/jinjiangongzuoshi/')
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose