Notas de prueba de software / elección de pruebas automatizadas y pruebas manuales (artículos de Python)

Prefacio


Las pruebas de software son para evaluar las funciones de las aplicaciones de software, para determinar si el software desarrollado cumple con los requisitos especificados y para determinar los defectos para garantizar que el producto esté libre de defectos, produciendo así productos de alta calidad. Las pruebas de software se dividen en dos categorías: pruebas manuales y pruebas automatizadas. Tanto las pruebas manuales como las automatizadas tienen sus propias ventajas y desventajas, y sabemos que los proyectos tienen elementos muy clave: calidad, costo y tiempo. El objetivo de cualquier proyecto es obtener resultados de alta calidad mientras se controla lo que se necesita para completar el proyecto. Costo y tiempo, por lo que es muy necesario comprender la diferencia entre las pruebas manuales y las pruebas automatizadas y cuándo usar las pruebas manuales y cuándo usar las pruebas automatizadas.

Prueba manual


El proceso de probar manualmente el software para encontrar defectos. El probador es desde la perspectiva del usuario y garantiza que todas las funciones funcionen como en el documento de requisitos. En este proceso, los evaluadores ejecutan casos de prueba y generan informes manualmente sin utilizar herramientas automatizadas.

Tipo de prueba manual

  • Prueba de caja negra: la prueba de caja negra es un método de prueba de software en el que los probadores prueban las funciones del software bajo prueba sin mirar la estructura del código interno. Esto se puede aplicar a todos los niveles de pruebas de software, como pruebas de unidad, integración, sistema y aceptación.
  • Prueba de caja blanca: es una prueba basada en la estructura del código dentro de la aplicación. En las pruebas de caja blanca, la perspectiva interna del sistema y las habilidades de programación se utilizan para diseñar casos de prueba. Este tipo de prueba generalmente se realiza a nivel de unidad.
  • Prueba unitaria: también llamada prueba de módulo o prueba de componente. Esto se hace para comprobar si una sola unidad o módulo del código fuente funciona correctamente. Por lo general, lo realiza el desarrollador en el entorno del desarrollador.
  • Prueba del sistema: probar la aplicación completa para evaluar si el sistema satisface las necesidades de sus clientes, lo llamamos prueba del sistema, también conocido como prueba de extremo a extremo. El objetivo es el sistema completo para garantizar que el software funcione como se espera.
  • Prueba de integración: la prueba de integración es el proceso de probar la interfaz entre dos unidades de software. Hay tres formas de probar la integración. Método Big Bang, método de arriba hacia abajo, método de abajo hacia arriba.
  • Prueba de aceptación: por lo general, el usuario final y el probador la completan juntos para verificar si las funciones del software se implementan de acuerdo con los requisitos del usuario. Después de la prueba, el cliente puede aceptar o rechazar las funciones de software proporcionadas. Los tipos de pruebas de aceptación son pruebas Alfa, Beta y Gamma.

Por supuesto, hay muchos tipos de pruebas manuales, consulte "Notas de prueba de software (3) Varios tipos de prueba".

Cuándo usar la prueba manual

  • Pruebas exploratorias: pruebas exploratorias realizadas por expertos de la industria. Realizan pruebas explorando la funcionalidad de la aplicación sin comprender los requisitos detallados.
  • Prueba de usabilidad: verifica si el software es fácil de usar y si el usuario final lo usa cómodamente. El objetivo principal es comprobar si el usuario final puede comprender y utilizar fácilmente el software. Un buen software debe ser autoexplorante, guiado y no requiere mucha capacitación para operarlo.
  • Prueba aleatoria: los probadores prueban aleatoriamente el software sin seguir ninguna documentación ni técnicas de diseño de prueba. Si el conocimiento del evaluador es muy rico, este tipo de prueba se realiza principalmente y el evaluador prueba aleatoriamente la aplicación sin ningún caso de prueba ni documentos de requisitos comerciales.

Cuándo utilizar las pruebas manuales en lugar de las automatizadas

  1. Cuando el proyecto se encuentra en la etapa de desarrollo inicial, antes de la finalización del marco de prueba.
  2. Al probar la interfaz de usuario.
  3. Cuando se requiere una prueba exploratoria o aleatoria.
  4. Si el proyecto es a corto plazo, escribir scripts y construir marcos de prueba requiere mucho tiempo en comparación con las pruebas manuales.
  5. Si el caso de prueba no puede ejecutar automáticamente el ejemplo del código de verificación.

Pros y contras de las pruebas manuales

excelente:

  1. Tiene una amplia gama de aplicaciones y se puede probar manualmente en varios software.
  2. Es preferible para productos de ciclo de vida corto.
  3. Los casos de prueba recién diseñados deben ejecutarse manualmente para garantizar la exactitud de los casos de prueba.
  4. La aplicación debe probarse manualmente antes de automatizarse.
  5. Proyectos con cambios frecuentes en la demanda y productos con GUI en constante cambio.
  6. En comparación con las pruebas automatizadas, su inversión inicial es más económica.
  7. Se necesita menos tiempo y gastos para iniciar las pruebas manuales.
  8. Permite a los probadores realizar pruebas aleatorias.
  9. Los evaluadores no necesitan comprender las herramientas y los marcos de automatización.

inferior:

  1. Las pruebas manuales requieren mucho tiempo cuando se realizan pruebas de regresión y son altamente repetibles.
  2. En comparación con las pruebas automatizadas, las pruebas manuales son menos fiables debido a la influencia humana. Entonces siempre habrá algunos errores causados ​​por factores humanos.
  3. A largo plazo, es más caro que las pruebas automatizadas.
  4. No se puede reutilizar porque no se puede registrar todo el proceso de prueba.

prueba automatizada


La prueba automatizada es un proceso de prueba que utiliza herramientas automatizadas para encontrar defectos de software. En este proceso, las herramientas automatizadas ejecutarán automáticamente scripts de prueba y generarán resultados. Algunas de las herramientas de prueba automatizadas más populares son QTP, Selenium Webdriver, Jmeter, TC, etc.

Herramientas de automatización de uso común:

  1. HP QTP
  2. Selenio
  3. LoadRunner
  4. SilkTest
  5. TestComplete
  6. WinRunner
  7. Jmeter

Cuándo utilizar las pruebas automatizadas

  • Prueba de regresión: prueba repetida después de la modificación de un defecto que ha sido probado, el propósito es encontrar cualquier defecto introducido debido a cambios en el software u otros componentes de software relacionados o no relacionados. Las pruebas de regresión son muy adecuadas para las pruebas automatizadas, porque el software a menudo cambia el código y requiere pruebas oportunas.
  • Prueba de rendimiento: prueba la velocidad, escalabilidad y estabilidad del software. El rendimiento se refiere al nivel de tiempo de respuesta, rendimiento y utilización de recursos que cumplen los objetivos de rendimiento del proyecto o del producto. Es muy adecuado para pruebas automatizadas.

Tipos de prueba que pueden realizar pruebas manuales y automatizadas al mismo tiempo:

  • Prueba del sistema: prueba si el software cumple con los requisitos especificados, también conocida como prueba de un extremo a otro. El objetivo es verificar el sistema completo para garantizar que la aplicación funcione como se espera.

  • Prueba unitaria: la prueba unitaria también se denomina prueba de módulo o prueba de componente. Para comprobar si la unidad o módulo del código funciona correctamente. Esto generalmente lo hace el desarrollador en el entorno del desarrollador.

  • Prueba de aceptación: por lo general, el usuario final y el probador la completan juntos para verificar si las funciones del software se implementan de acuerdo con los requisitos del usuario. Después de la prueba, el cliente puede aceptar o rechazar las funciones de software proporcionadas. Los tipos de pruebas de aceptación son pruebas Alfa, Beta y Gamma.

Qué escenarios no son adecuados para las pruebas automatizadas

  1. Prueba exploratoria
  2. Prueba de interfaz de usuario
  3. Prueba aleatoria

Cuándo utilizar pruebas automatizadas en lugar de pruebas manuales

  1. Manejo de tareas repetitivas y lentas
  2. Prueba concurrente
  3. Pruebas no funcionales, como pruebas de carga, rendimiento y estrés.
  4. Evite el error humano

Pros y contras de las pruebas automatizadas

excelente:

  1. La ejecución de pruebas automatizadas es más rápida.
  2. A largo plazo, es más económico que las pruebas manuales.
  3. Las pruebas automatizadas son más confiables.
  4. Las pruebas automatizadas son escalables y más versátiles.
  5. Se utiliza para pruebas de regresión.
  6. Reutilizable porque se pueden registrar procesos automatizados.
  7. No requiere intervención humana. El script de prueba puede ejecutarse sin supervisión.
  8. Ayuda a mejorar la cobertura de la prueba.

inferior:

  1. Solo recomendado para productos grandes y estables.
  2. El costo inicial de las pruebas automatizadas es muy caro.
  3. La mayoría de las herramientas de automatización son caras, excepto, por supuesto, el software de código abierto.
  4. Tendrá algunas restricciones, como procesar códigos de verificación y obtener información visual sobre la interfaz de usuario.
  5. Cuando la demanda cambia repetidamente.
  6. No todas las herramientas admiten varias pruebas, como Windows, Web, movilidad, pruebas de rendimiento / carga.

para resumir

prueba automatizada Prueba manual
Las pruebas automatizadas son más confiables. Realice la misma operación cada vez. Elimina el riesgo de error humano. Las pruebas manuales son relativamente poco fiables debido a la posibilidad de error humano y las pruebas manuales también pueden ser inexactas.
La inversión inicial en pruebas automatizadas es relativamente alta. Las herramientas de prueba requieren inversión y, a la larga, son más económicas que las manuales. En comparación con las pruebas manuales, es más rentable a largo plazo. La inversión inicial para las pruebas manuales es menor que la automatización. Los recursos humanos necesitan inversión. A largo plazo, es menos rentable que las pruebas automatizadas.
Cuando realizamos pruebas de regresión, las pruebas automatizadas son muy significativas. Si la prueba solo necesita ejecutarse una o dos veces, la prueba manual es una opción práctica. En este caso, el caso de prueba no se ejecutará repetidamente.
La ejecución se realiza a través de herramientas de software, por lo que es más rápido que las pruebas manuales y requiere menos recursos humanos que las pruebas manuales. La ejecución de casos de prueba consume mucho tiempo y requiere más recursos humanos
Imposible realizar pruebas exploratorias Posibilidad de pruebas exploratorias
Las pruebas de rendimiento, como las pruebas de carga, las pruebas de estrés, etc., son la elección de las pruebas automatizadas. Las pruebas de rendimiento manuales no son una buena opción
Las pruebas automatizadas se pueden completar en paralelo, lo que reduce el tiempo de ejecución de las pruebas. No es fácil ejecutar casos de prueba en paralelo en pruebas manuales. Necesitamos más recursos humanos para hacer esto y se vuelve más caro.
Se puede realizar en paralelo, reduciendo el tiempo de ejecución de la prueba. No es fácil ejecutar casos de prueba en paralelo en pruebas manuales. Necesitamos más recursos humanos para hacer esto y se vuelve más caro.
Necesita algunos conocimientos de secuencias de comandos Por lo general, no se requieren conocimientos de secuencias de comandos
Es fácil de integrar en CI / CD (implementación / lanzamiento continuo) No se puede integrar en CI / CD (implementación / lanzamiento continuo)
No hay mucha intervención manual, por lo que la prueba de la interfaz de usuario no es efectiva Implica intervención manual, por lo que las pruebas de la interfaz de usuario son muy efectivas

Independientemente de los gatos blancos y negros, los que cazan ratones son buenos gatos. Lo mismo ocurre con las pruebas: independientemente de si las pruebas automáticas o las pruebas manuales pueden encontrar defectos, el método más apropiado es un buen método de prueba. Espero que la diferencia y el alcance de la aplicación entre las pruebas manuales y las pruebas automatizadas anteriores puedan ayudarlo a encontrar un método de prueba adecuado. Si tiene temas interesantes y sentimientos relacionados, responda a los comentarios y compártalos con usted.


Finalmente: beneficios

En la industria de la tecnología, debe mejorar sus habilidades técnicas y enriquecer su experiencia práctica en proyectos de automatización, lo que será muy útil para la planificación de su carrera en los próximos años y la profundidad de su tecnología de pruebas.

En la temporada de entrevistas de Golden 9th y Silver 10th, temporada de cambio de trabajo, organizar preguntas de entrevistas se ha convertido en mi hábito durante muchos años. La siguiente es mi recopilación y clasificación en los últimos años, todo está organizado en torno a [pruebas de software], el contenido principal incluye: video exclusivo de prueba de automatización de Python, detalles de automatización de Python, un conjunto completo de preguntas de la entrevista y otro contenido de conocimiento.

Para los amigos que prueban software, debería ser el almacén de preparación de entrevistas más completo y completo. Para organizar mejor cada módulo, también me refiero a muchas publicaciones de blogs y proyectos de alta calidad en Internet, y me esfuerzo por no perder todos los puntos de conocimiento. Los amigos confiaron en estos contenidos para revisarlos y obtuvieron ofertas de grandes fábricas como BATJ. Este almacén también ha ayudado a muchos estudiantes de pruebas de software, ¡y espero que pueda ayudarlo a usted también!

¡Que tú y yo nos encontremos y encuentres algo! Bienvenido a seguir la cuenta pública de WeChat: [Artículo picante triste] Reciba gratis un libro de entrevistas para ingenieros de pruebas de software de 216 páginas. ¡Y los tutoriales de aprendizaje en video correspondientes son gratuitos para compartir!

Supongo que te gusta

Origin blog.csdn.net/weixin_50829653/article/details/112865137
Recomendado
Clasificación