Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Qué prueban principalmente las pruebas de rendimiento?

¿Qué prueban principalmente las pruebas de rendimiento?

Pregunta 1: ¿A qué deberían prestar atención las pruebas de rendimiento en las pruebas de software? El tercer punto al que se debe prestar atención en las pruebas de rendimiento es el entorno del sistema operativo en el que se encuentra el sistema bajo prueba. Para descifrarlo tenemos que aprender los comandos que lo cubren, ya sea windows, unix o liunx. Taobao usa liunx, por lo que, naturalmente, debemos aprender a usar los comandos de liunx de manera flexible. Durante las pruebas de rendimiento, a menudo necesitamos consultar el uso de los recursos del servidor, como CPU, carga, E/S, etc. En este momento, los comandos top, uptime y iostat son particularmente importantes. Durante las pruebas de rendimiento, a menudo necesitamos consultar la información de registro del servidor. En este momento, puede utilizar el comando cd, el comando vi/vim, el comando cat, el comando grep y el comando tail. Durante las pruebas de rendimiento, a menudo verificamos la memoria virtual y la memoria física utilizadas por un proceso. En este punto, cat /proc/pid/status es muy útil. Durante las pruebas de rendimiento, a menudo comprobamos cuánto espacio ocupa un archivo. En este punto, el comando de búsqueda resulta útil. No los enumeraré todos aquí. Estos comandos pueden hacer coincidir los parámetros correspondientes según la situación real, realizar un mejor seguimiento y recopilar los datos requeridos. La aplicación flexible de los comandos de liunx, combinada con las reglas gramaticales del shell, puede escribir muchos scripts pequeños muy útiles. Estas cosas son de gran importancia para las pruebas de rendimiento y el análisis de los resultados de las pruebas de rendimiento.

Pregunta 2: ¿Qué se necesita para las pruebas de rendimiento del software? Le preguntaste a la persona adecuada. Permítanme hablar sobre algunos puntos, por qué las pruebas de rendimiento son más populares en las pruebas de software, porque también tienen muchos requisitos que deben dominarse: red, base de datos (Oracle, SQLserver, mysql), sistema operativo (como Linux), script (como shell), herramientas de prueba de rendimiento, herramientas de monitoreo de recursos, herramientas de localización de cuellos de botella y la capacidad de analizar problemas. Además, es necesario tener ciertos conocimientos de Java. Especialmente el mecanismo de la memoria. Si desea convertirse en un ingeniero de pruebas de rendimiento calificado, aprenda lentamente.

Pregunta 3: ¿Qué tipo de entorno de preparación se debe crear para las pruebas de rendimiento? Según el plan real, el entorno de prueba de rendimiento que construí en la empresa es el mismo que el entorno real utilizado por los usuarios en línea.

Preparación de datos: Personalmente creo que es la segunda tarea que más tiempo consume de todo el trabajo y requiere una simulación real de los datos del usuario. Esto se logra con algo más que crear unas cuantas cuentas. Básicamente, cada usuario tendrá configuraciones diferentes y los scripts para implementar datos durante las operaciones reales están escritos de forma suave.

Compilación de scripts: seleccione herramientas de rendimiento para compilar scripts de rendimiento y cualquier script que necesite ejecutar.

Ejecución del script: ejecuta el script con el número planificado de usuarios. Por lo general, dura mucho tiempo. Si el tiempo es demasiado corto, quedará expuesto el cuello de botella en el rendimiento del servidor. Este paso es el que lleva más tiempo en las pruebas de rendimiento.

Recopilar registros: registros y archivos de informes que pueden reflejar objetivamente el rendimiento del sistema después de la ejecución del script, como informes LR, registros AWR de bases de datos, etc.

Resultados del análisis: analice los registros e informes recopilados para encontrar cuellos de botella en el rendimiento u obtener resultados de indicadores de rendimiento. Esto generalmente requiere profesionales que conozcan muy bien la base de datos o la capa subyacente para analizarla. Generalmente, los evaluadores solo deben proporcionar los informes recopilados.

Generar informe: resuma todas las actividades de prueba de rendimiento anteriores y genere el informe de prueba.

Pregunta 4: ¿Qué necesitas saber para hacer un buen trabajo en las pruebas de rendimiento? Este tipo de preguntas se han hecho muchas veces antes, así que esta vez las resolví y envié una pregunta a mis colegas como referencia. Si necesita información adicional, deje un mensaje para discutirlo. Si realmente desea hacer un buen trabajo en las pruebas de rendimiento, aún necesita aprender muchas cosas. Haz una lista corta.

1. Ser competente en los conceptos, procesos y métodos básicos de las pruebas de rendimiento y comprender la ingeniería de rendimiento;

3. Tener conocimientos básicos sólidos de ciencias de la computación, incluidos los principios de composición de computadoras, sistemas operativos, principios de bases de datos y principios de redes informáticas;

4. Estar familiarizado con al menos un producto de base de datos común, como SQL Server u Oracle, ser capaz de realizar operaciones generales de gestión de bases de datos, estar familiarizado con el uso de scripts SQL y ser familiarizado con herramientas comunes de ajuste de datos y contadores comunes;;

5. Estar familiarizado con los principios de al menos un sistema operativo (Windows o Linux), la arquitectura del sistema operativo, conceptos básicos importantes del sistema operativo sistema, administración de memoria, sistema de almacenamiento/archivos, administración de controladores/hardware, implementación y composición de protocolos de red, métodos y principios de monitoreo del rendimiento, y estar familiarizado con los contadores de uso común;;

6. al menos un producto de servidor web, como Apache, y comprender la configuración general y los contadores de uso común;;

7. Familiarizado con al menos un producto de servidor de aplicaciones, como Tomcat, configuración general y métodos comunes de monitoreo del rendimiento del servidor. y principios y contadores comunes;;

8. Al menos estar familiarizado con el protocolo TCP/IP y el protocolo HTTP, al menos leerlo y comprenderlo. Uso y configuración de conmutadores o enrutadores de Capa 3 y 4. Comprender los contadores de uso común; relacionados con el rendimiento de la red;

9. Comprender la arquitectura de implementación y la arquitectura de aplicaciones de aplicaciones empresariales generales a gran escala;

10. aplicaciones web, alta concurrencia y alta La arquitectura y el proceso de optimización de sitios web muy grandes con tráfico y altos requisitos de respuesta en tiempo real;

11. Estar familiarizado con los conocimientos básicos de estadísticas, métodos de análisis comúnmente utilizados y métodos de diseño experimental y comprender el conocimiento relevante del modelado matemático;

12 Estar familiarizado con el conocimiento comercial y los escenarios de usuario de industrias especializadas, como el conocimiento comercial y los escenarios de usuario involucrados en los sistemas OSS en las telecomunicaciones. industria y el conocimiento empresarial y los escenarios de usuario involucrados en los sistemas de negociación de valores;

13. Una gran cantidad de experiencia real en pruebas de rendimiento y optimización;

14. y compartir en diversos círculos y sociedades. Se me ocurren muchas cosas por el momento y los amigos que estén interesados ​​pueden discutirlo juntos. Creo que cada uno tiene sus propias experiencias y sentimientos diferentes, que pueden compartirse con otros como referencia.

Además, he publicado mucha información sobre pruebas de rendimiento anteriormente, desde artículos introductorios hasta lecturas obligatorias para actualizaciones. Si está interesado, puede consultarlo.

Pregunta 5: Contenido de las pruebas de rendimiento Las pruebas de rendimiento desempeñan un papel importante en el control de calidad del software e incluyen una variedad de contenidos de prueba. El Centro de Evaluación de Software de China resume las pruebas de rendimiento en tres aspectos: pruebas de rendimiento aplicadas a clientes, pruebas de rendimiento aplicadas a redes y pruebas de rendimiento aplicadas a servidores. Por lo general, una combinación efectiva y razonable de estos tres aspectos puede lograr un análisis integral del rendimiento del sistema y la predicción de cuellos de botella. El propósito de las pruebas de rendimiento de las aplicaciones cliente es verificar el rendimiento de las aplicaciones cliente, y la entrada a la prueba es el cliente. Incluye principalmente pruebas de rendimiento de concurrencia, pruebas de resistencia a la fatiga, pruebas de gran volumen de datos y pruebas de velocidad, entre las cuales la prueba de rendimiento de concurrencia es la clave. Las pruebas de rendimiento concurrente son un proceso de pruebas de carga y pruebas de estrés, es decir, aumentar gradualmente la carga hasta el cuello de botella del sistema o un punto de rendimiento inaceptable, y determinar el rendimiento concurrente del sistema a través de un análisis integral de los indicadores de ejecución de transacciones y los indicadores de monitoreo de recursos. Las pruebas de carga se realizan para determinar el rendimiento de un sistema bajo diversas cargas de trabajo. El objetivo es probar los elementos de salida correspondientes de los componentes del sistema, como el rendimiento, el tiempo de respuesta, la carga de la CPU, el uso de la memoria, etc., bajo una carga que aumenta gradualmente para determinar el rendimiento del sistema. La prueba de carga es el proceso de analizar una aplicación de software y una arquitectura de soporte para simular el uso en el mundo real y determinar el rendimiento aceptable. La prueba de estrés es una prueba que determina los cuellos de botella del sistema o puntos de rendimiento inaceptables para obtener el máximo nivel de servicio que el sistema puede proporcionar. El propósito de las pruebas de rendimiento concurrentes se refleja principalmente en tres aspectos: basándose en negocios reales, seleccionar operaciones comerciales representativas y críticas para diseñar casos de prueba para evaluar el rendimiento actual del sistema cuando sea necesario implementar funciones de aplicaciones extendidas o nuevas; aplicaciones, las pruebas de carga ayudarán a determinar si el sistema aún puede manejar la carga de usuario esperada y así predecir el rendimiento futuro del sistema.

Al simular cientos de usuarios y ejecutar pruebas repetidamente, podemos identificar cuellos de botella en el rendimiento y optimizar y ajustar la aplicación para encontrarlos. Cuando una empresa organiza sus propios esfuerzos o confía a una empresa de software el desarrollo de un sistema de aplicación en su nombre, especialmente cuando en realidad se utiliza en un entorno de producción en el futuro, los usuarios a menudo tienen preguntas. ¿Puede este sistema soportar que una gran cantidad de usuarios accedan al mismo tiempo? Este problema es más común en aplicaciones de bases de datos que utilizan sistemas de procesamiento de transacciones en línea (OLTP), navegación web y video bajo demanda. La solución a este problema se basa en métodos científicos de prueba de software y herramientas de prueba avanzadas. Por ejemplo: como todos sabemos, el día 20 de cada mes es el período pico para el pago de facturas telefónicas locales, y miles de puntos de carga en toda la ciudad están abiertos al mismo tiempo. El proceso de carga generalmente se divide en dos pasos. Primero, averigüe los gastos incurridos ese mes según el número de teléfono proporcionado por el usuario, luego cobre efectivo y cambie el usuario al estado pago. Parecen dos simples pasos para un solo usuario, pero cuando cientos de terminales realizan este tipo de operaciones al mismo tiempo, la situación es muy diferente. Con tantas cosas sucediendo al mismo tiempo, es una prueba severa para la resistencia de la aplicación en sí, el sistema operativo, el servidor de base de datos central, el servidor de middleware y el equipo de red. Es imposible para los tomadores de decisiones considerar la tolerancia del sistema, ni prever la tolerancia de concurrencia después de que surjan los problemas del software. Estos deben resolverse durante la fase de prueba del software. La mayoría de las empresas y corporaciones necesitan soportar cientos de usuarios, diversos entornos de aplicaciones, productos complejos ensamblados a partir de componentes de diferentes proveedores, cargas de usuarios impredecibles y aplicaciones cada vez más complejas, todo lo cual hace que las empresas se preocupen por el bajo rendimiento de la entrega, problemas como la lentitud de la respuesta de los usuarios y fallo del sistema. El resultado es una pérdida de ingresos para la empresa. ¿Cómo simular una situación real? ¿Encontrar varias computadoras y la misma cantidad de operadores para operar al mismo tiempo y luego usar un cronómetro para registrar el tiempo de reacción? Estos métodos de prueba manuales tipo taller no son prácticos y no pueden capturar los cambios internos del programa, por lo que requieren la ayuda de herramientas de prueba de estrés. La estrategia básica para las pruebas son las pruebas de carga automatizadas. Pruebe la aplicación simulando cientos o incluso miles de usuarios virtuales ejecutando negocios simultáneamente en una o varias PC, registrando el tiempo de procesamiento de cada transacción, los datos máximos del servidor de middleware, el estado de la base de datos, etc. Las pruebas repetibles en el mundo real pueden medir exhaustivamente la escalabilidad y el rendimiento de las aplicaciones, identificar problemas y optimizar el rendimiento del sistema. Comprender de antemano la duración de la batería del sistema proporciona una base sólida para que los usuarios finales planifiquen la configuración de todo el entorno operativo. Prepare el entorno de prueba antes de las pruebas de rendimiento concurrentes: Configuración> gt

Pregunta 6: El propósito de las pruebas de rendimiento del software es verificar si el sistema cumple con los indicadores de rendimiento propuestos por el usuario y encontrar cuellos de botella de rendimiento en el sistema, optimizando así el sistema.

Pregunta 7: ¿Qué herramientas se utilizan habitualmente para las pruebas de software? Existen muchos tipos de herramientas de prueba, las principales son las siguientes:

Herramientas de gestión de pruebas: MQC, TestManager y QACenter, entre las que también se puede utilizar el seguimiento de defectos: herramientas de gestión de cambios.

Automatización de pruebas funcionales: QTP, RFP, QARun, Silk

Herramientas de pruebas de rendimiento: Loadrunner, Robot, QAload, WAS, Silk Performance.

Herramientas de pruebas unitarias y de caja blanca: Junit, Jmeter, devpartner, Skeleton Probe, Purify Plus.

Pruebas de seguridad: Appscan, Fortify

Pregunta 8: ¿Cuáles son los aspectos principales de las pruebas de software móvil y qué se utiliza para las pruebas de rendimiento? Enumere varias direcciones representativas:

Pruebas funcionales

Pruebas de características

Pruebas de estabilidad

Pruebas de seguridad

Prueba de compatibilidad

Prueba de entorno de red

Prueba de ubicación, etc.

Cómo realizar pruebas de rendimiento:

Aclare los objetivos de las pruebas y comprenda los requisitos de las pruebas de rendimiento.

Escribir un plan de pruebas de rendimiento

Analizar los requisitos de las pruebas de rendimiento

Escribir un plan de pruebas de rendimiento y diseñar escenarios de prueba.

Preparación de recursos relacionados (recursos humanos, recursos de hardware, recursos de software)

Desarrollo de programas de prueba, mantenimiento de scripts, preparación de datos de prueba y preparación de monitoreo de pruebas.

Realice pruebas de rendimiento y recopile resultados de pruebas.

Resultados del análisis

Optimización y nuevas pruebas del sistema

En el entorno de desarrollo de Android actual, la fragmentación es muy grave. Los modelos de Android son abrumadores y muchos equipos de RD pequeños y medianos carecen de un entorno de prueba y no tienen los fondos ni la energía para comprar modelos completos. En este momento, se introdujo el concepto de pruebas de máquinas reales en la nube. La plataforma de prueba de máquina real en la nube wetest.qq/...zhidao en la plataforma WeTest proporciona miles de modelos de Android convencionales reales para realizar pruebas en cualquier momento y en cualquier lugar, proporcionando capturas de pantalla, registros en tiempo real y diversos datos de rendimiento.

Si la respuesta anterior puede ayudarte, esa es la mejor~

Pregunta 9: ¿Qué software se puede utilizar para probar el rendimiento de la placa base? ¿Qué se puede utilizar WinBench 99 para probar el rendimiento de varios componentes? Puede utilizar 3DMARK para probar el rendimiento de varias partes de su computadora. Generalmente, si todos los elementos de 3DMARK pasan, significa que no hay conflicto entre la placa base y otras partes.

Pregunta 10: ¿Qué significa la prueba de rendimiento de la aplicación? Preste atención a las pruebas de rendimiento de la aplicación.

Tamaño del paquete de datos, uso de CPU, número de fotogramas actualizados por el procesador de imágenes por segundo, uso de memoria, consumo de energía, tráfico, etc.