Resumen de herramientas de prueba de software en 2023: herramientas de prueba de rendimiento

El objetivo de las pruebas de rendimiento del software es identificar cualquier cuello de botella en el rendimiento de la aplicación. El rendimiento de un sistema de software depende no solo del diseño y la codificación del propio sistema, sino también del entorno operativo del que depende el sistema. El entorno operativo del sistema dependerá de algunos factores clave, como: la arquitectura del sistema, la configuración del hardware, el ancho de banda de la red, el software de soporte, como la base de datos y el middleware, y el tamaño de la carga externa.

La mejora del rendimiento del sistema es un proceso de mejora continua de pruebas, ajustes, nuevas pruebas y reajustes... es decir, ajuste del rendimiento, que ajusta el diseño del software, el código y la configuración del sistema de acuerdo con los resultados de las pruebas de rendimiento.

Tipos de pruebas de rendimiento

Las pruebas de rendimiento incluyen principalmente 6 tipos, como se muestra en la siguiente tabla.

tipo

                ilustrar

prueba de carga

Determinar cómo se comporta el software en un momento dado a medida que aumenta la carga de trabajo, ya sean usuarios concurrentes, número de transacciones, comportamiento del software, etc. Aumente continuamente la presión sobre el sistema bajo prueba hasta que los indicadores de rendimiento (como el tiempo de respuesta) excedan los indicadores esperados o el uso de algunos recursos haya alcanzado la saturación. El límite de procesamiento del sistema se puede encontrar para proporcionar datos para el ajuste del sistema.

test de presión

Mida la estabilidad del software bajo una carga de tráfico más alta (más usuarios, transacciones, etc.) que los parámetros de trabajo normales, es decir, el sistema está en un cierto estado saturado, como CPU, memoria, espacio en disco y otros recursos de hardware están saturados, el El sistema puede La capacidad de manejar sesiones y si el sistema es propenso a errores.

Examen de estabilidad

Evaluar el rendimiento a largo plazo del software bajo una carga de trabajo regular fija. En otras palabras, determina cuánto tiempo el software puede soportar una carga de trabajo constante para proporcionar sostenibilidad a largo plazo. Durante las pruebas, el equipo de pruebas supervisa los KPI, como pérdidas de memoria, uso de memoria, poca memoria, etc. La prueba de estabilidad también analiza el tiempo de respuesta y el rendimiento después de un uso a largo plazo para ver si estos indicadores son consistentes.

prueba de pico

La prueba de picos es un tipo de prueba de estrés que mide el rendimiento del software bajo aumentos significativos y repentinos en la carga de trabajo, como la cantidad de usuarios simultáneos. Si el software puede manejar aumentos repentinos en la carga de trabajo de forma repetida y rápida.

prueba de capacidad Prueba la eficiencia del software al procesar grandes cantidades de datos para verificar la pérdida de datos, el tiempo de respuesta del sistema, la confiabilidad del almacenamiento de datos, etc.
prueba de escalabilidad

Mida la efectividad del software en el manejo de cargas de trabajo cada vez mayores. Las pruebas de escalabilidad se pueden realizar agregando gradualmente volúmenes de datos o usuarios mientras se supervisa el rendimiento del software.

Hoy, con el desarrollo de DevOps, las pruebas de rendimiento se han convertido en ingeniería de rendimiento del ciclo de vida del sistema de software. Este artículo presenta herramientas y soluciones de prueba de rendimiento desde cinco aspectos: prueba de rendimiento del cliente, prueba de rendimiento del servidor, monitoreo del rendimiento de la aplicación de sistemas distribuidos y prueba de estrés de enlace completo de sistemas distribuidos.

  1. Faro de Google

  2. perfperro

  3. Mono

  4. corredor de dinero

  5. perf móvil

  6. piroscopio

  7. Detector de fugas de memoria

  8. Jmetro

  9. Corredor de carga

  10. Carga web

  11. gatling

  12. k6

  13. Vegata

  14. Langosta

  15. caminar por el cielo

  16. Determinar con precisión

Herramienta de prueba de rendimiento del cliente

1)Faro de Google


Lighthouse es una herramienta de código abierto desarrollada por Google para analizar el rendimiento de las aplicaciones y páginas web. Lighthouse analiza aplicaciones web y páginas web, recopila indicadores de rendimiento modernos e información sobre las mejores prácticas de los desarrolladores y les permite optimizar y mejorar los sitios web en función de las páginas de evaluación generadas para mejorar la experiencia del usuario.

Lighthouse está integrado directamente en las herramientas para desarrolladores de Chrome, en el panel "Auditorías".

2) PerfDog

PerfDog es una plataforma móvil de herramientas de prueba de rendimiento iOS\Android de plataforma completa. Puede localizar y analizar rápidamente problemas de rendimiento, mejorar el rendimiento y la calidad de aplicaciones y juegos de aplicaciones. El teléfono móvil no necesita ROOT/jailbreak, y el hardware del teléfono móvil , los juegos y las aplicaciones no necesitan ser cambiados Es extremadamente simplificado e instantáneo Plug and play.

Dirección del sitio web oficial:

https://wetest.qq.com/product/perfdog

3) mono

Monkey es una herramienta de línea de comandos proporcionada por Android SDK, que es fácil de usar y ejecutar en cualquier versión del emulador de Android y dispositivo físico. Monkey enviará un flujo pseudoaleatorio de eventos de usuario, adecuado para la prueba de esfuerzo de la aplicación.

4) Corredor de monos

La herramienta MonkeyRunner proporciona varias API. A través de la API de monkeyrunner, puede escribir un programa de Python para simular el funcionamiento y el control de la aplicación de Android, probar su estabilidad y registrar los problemas que ocurren fácilmente tomando capturas de pantalla.

5) rendimiento móvil

La herramienta de prueba de estabilidad de rendimiento de Android para PC de código abierto del equipo de Tmall puede recopilar datos de rendimiento de Android: fluidez de la memoria de la CPU fps logcat registro de tráfico proceso número de subproceso registro de inicio del proceso, mobileperf también es compatible con la prueba de mono nativa.

enlace de descarga:

Https://github.com/alibaba/mobileperf

6) Piroscopio

Pyroscope es una plataforma de análisis continuo de código abierto. Puede ayudarlo a encontrar problemas de rendimiento y cuellos de botella en el código, y la causa de la alta utilización de la CPU. Y lo ayudará a comprender el árbol de llamadas de la aplicación, proporcionando diagramas completos y visualización del árbol de llamadas.

Dirección del sitio web oficial: https://pyroscope.io

7) Detector de fugas de memoria

MemoryLeakDetector es una herramienta de monitoreo de fugas de memoria local desarrollada por el equipo de Xigua video android.Tiene las ventajas de acceso simple, amplio rango de monitoreo, excelente rendimiento y buena estabilidad. Es ampliamente utilizado en la gestión de fugas de memoria nativa de la aplicación principal de ByteDance.

Dirección del sitio web oficial: https://github.com/bytedance/memory-leak-detector

Herramienta de prueba de rendimiento del servidor

8) Jmetro

JMeter es una herramienta de prueba de estrés basada en Java desarrollada por la organización Apache. Utilizado para software de pruebas de estrés, fue diseñado originalmente para pruebas de aplicaciones web, pero desde entonces se ha expandido a otras áreas de prueba. Se puede usar para probar recursos estáticos y dinámicos, como archivos estáticos, servlets Java, scripts CGI, objetos Java, bases de datos, servidores FTP y más.

 JMeter se puede utilizar para simular grandes cargas en servidores, redes u objetos, para probar su fuerza y ​​analizar el rendimiento general bajo diferentes categorías de estrés.

Dirección del sitio web oficial: https://jmeter.apache.org/

9) Corredor de carga

LoadRunner es una herramienta de prueba de carga que predice el comportamiento y el rendimiento del sistema. Al simular decenas de millones de usuarios que implementan cargas simultáneas y monitoreo del rendimiento en tiempo real para identificar y solucionar problemas, LoadRunner permite probar arquitecturas empresariales completas.

Dirección del sitio web oficial:

https://www.microfocus.com/zh-cn/portfolio/performance-engineering/overview

10) WebLOAD

WebLOAD es una herramienta de prueba de rendimiento y carga de nivel empresarial para aplicaciones web que proporciona pruebas de rendimiento, integridad y escalabilidad, y puede simular miles de usuarios simultáneamente, para que pueda probar cargas de tráfico pesado e informar sobre las debilidades, restricciones y cuellos de botella de rendimiento de las aplicaciones. en .

Use WebLOAD para pruebas de carga de sitios web, pruebas continuas, pruebas de carga en la nube y más. La herramienta puede generar carga desde la nube o desde una máquina local y proporciona un entorno de desarrollo integrado (IDE) para grabar, editar y depurar scripts de prueba de forma visual.

Dirección del sitio web oficial: https://www.radview.com/

11) Gatling

Gatling es una herramienta de código abierto para pruebas de rendimiento de servidores de alto rendimiento desarrollada en base a Scala.También es una poderosa herramienta de prueba de carga que funciona de forma inmediata. Gatling se utiliza principalmente para medir servidores basados ​​en HTTP, como aplicaciones web, servicios RESTful, etc. Gatling es la herramienta preferida para las pruebas de carga contra cualquier servidor HTTP.

Dirección del sitio web oficial: https://gatling.io/

12) k6

k6 es una herramienta de prueba de carga de alto rendimiento y una herramienta de alto rendimiento diseñada para ejecutar pruebas con mucha carga en entornos de preproducción y control de calidad, con secuencias de comandos en JavaScript. Es una herramienta de prueba de carga de código abierto y gratuita centrada en el desarrollador (por supuesto, los probadores también pueden usarla, porque es realmente conveniente), diseñada para hacer que la prueba de rendimiento sea una experiencia productiva y agradable, puede maximizar Reducir el consumo de recursos del sistema.

Dirección del sitio web oficial: https://k6.io/

13) Vegata

Vegeta es una herramienta de prueba de carga HTTP multifuncional escrita en lenguaje Go, que proporciona herramientas de línea de comandos y un kit de desarrollo.

Dirección del sitio web oficial:

https://github.com/tsenart/vegeta

14) Langosta

Locust es una herramienta de prueba de estrés de código abierto desarrollada en Python que admite la distribución. Puede cargar interfaces web de prueba escribiendo scripts de Python. Locust puede admitir miles de visitas de usuarios simultáneas en una sola máquina y, debido a su compatibilidad con la operación distribuida, teóricamente Locust puede admitir pruebas simultáneas extremadamente altas utilizando menos máquinas de estrés.

Dirección del sitio web oficial: https://locust.io/

Herramientas de monitoreo de rendimiento para sistemas distribuidos

En un sistema distribuido con una arquitectura de microservicios, cuando un cliente inicia una solicitud, a menudo llama a múltiples servicios, lo que involucra múltiples middleware, y el sistema está distribuido en múltiples servidores. Por lo tanto, cuando ocurre un cuello de botella en el rendimiento del sistema, el diagnóstico de fallas se vuelve muy complicado. La herramienta de supervisión del rendimiento de la aplicación (APM) del sistema distribuido localiza el cuello de botella del rendimiento en el enlace mediante el seguimiento y el análisis de la cadena de llamadas de servicio.

El monitoreo del rendimiento en línea se refiere al monitoreo de los datos reales del rendimiento del sistema con la ayuda de herramientas de monitoreo. Debido a que son datos reales, son más objetivos y analíticamente valiosos que los resultados de las pruebas obtenidos al generar carga a través de herramientas en el entorno de I+D.

15) Caminar por el cielo

SkyWalking es una excelente herramienta APM de código abierto en China, que proporciona una plataforma de observación intuitiva para sistemas distribuidos, que se utiliza para recopilar, procesar y visualizar datos de servicios e infraestructura nativa de la nube, a través de funciones de monitoreo, alarmas, visualización y seguimiento distribuido, como microservicios. Las arquitecturas de sistemas distribuidos, distribuidos y en contenedores proporcionan observabilidad (observabilidad). Puede observar sistemas distribuidos en diferentes nubes y es compatible con la arquitectura distribuida de próxima generación Service Mesh de SkyWalking 6.

Dirección del sitio web oficial:

http://skywalking.apache.org/

16)Identificar

Pinpoint es una herramienta APM (Application Performance Management) para sistemas distribuidos a gran escala, escrita en Java/PHP. Pinpoint proporciona una solución para ayudar a analizar la estructura general del sistema y, mediante el seguimiento de transacciones en aplicaciones distribuidas, analizar cómo los componentes del sistema están conectados entre sí, para el monitoreo de enlace completo de grandes sistemas distribuidos y para obtener diferentes servicios Entre el servicio y la base de datos, así como la relación de llamada de los métodos dentro del servicio, también puede monitorear la duración de la llamada, la disponibilidad y la memoria del método.

enlace de descarga:

https://pinpoint-apm.github.io/pinpoint/

Una plataforma de pruebas de estrés de enlace completo para sistemas distribuidos

La prueba de estrés de enlace completo se refiere a la simulación de solicitudes masivas de usuarios y entornos de producción de acceso a datos en escenarios comerciales reales, realizando pruebas de estrés completas y realistas en todo el enlace comercial, encontrando cuellos de botella de rendimiento en sistemas distribuidos por adelantado y optimizándolos continuamente. práctica. En la actualidad, la mayoría de las empresas utilizan herramientas de código abierto Gatling y JMeter para crear grupos de medición de presión para la medición de presión de enlace completo . Al mismo tiempo, también hay soluciones comerciales de prueba de estrés de enlace completo en China, como la solución de prueba de estrés de enlace completo Perfma, la plataforma ForceBot de JD.com, Quake de Meituan, TestPG de AutoNavi, Rhino de ByteDance, MagicOTP de Alimama y rendimiento La prueba plataforma ACP, y las plataformas Amazon, PTS y JVM-SANDBOX de Ali.


 FIN escasa fuerza

Finalmente, me gustaría agradecer a todos los que han leído mi artículo detenidamente. Al ver el crecimiento y la atención de los fanáticos en todo momento, siempre existe la necesidad de reciprocidad. Aunque no es algo muy valioso, puede quitárselo si lo desea. necesito:

Estos materiales deberían ser el almacén de preparación más amplio y completo para los amigos [de pruebas de software]. Este almacén también ha acompañado a decenas de miles de ingenieros de pruebas a través del viaje más difícil. ¡Espero que también pueda ayudarlo a usted!

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

subprograma de entrevista de prueba de software

¡El banco de preguntas de prueba de software maximizado por millones de personas! ! ! ¡Quién es quién sabe! ! ! El mini programa de cuestionarios más completo de toda la red, puedes usar tu teléfono móvil para hacer los cuestionarios, en el metro o en el autobús, ¡enróllalo!

Se cubren las siguientes secciones de preguntas de la entrevista:

1. Teoría básica de las pruebas de software, 2. web, aplicación, pruebas de funciones de interfaz, 3. red, 4. base de datos, 5. linux

6. web, aplicación, automatización de interfaz, 7. pruebas de rendimiento, 8. conceptos básicos de programación, 9. preguntas de la entrevista de hora, 10. preguntas de prueba abiertas, 11. pruebas de seguridad, 12. conceptos básicos de informática

método de obtención:

Supongo que te gusta

Origin blog.csdn.net/myh919/article/details/131314329
Recomendado
Clasificación