when opt automation testing
¿Deberíamos considerar las pruebas de automatización para un proyecto? ¿Cuándo deberíamos realizar las pruebas de automatización?
Las pruebas se llevan a cabo para proporcionar entregables de buena calidad al usuario final. Fase de prueba es uno de los principales aspectos de STLC .
Cualquier empresa se centra más en las pruebas de software, ya que su calidad genera una satisfacción óptima del cliente, pero muchas de ellas todavía tienen dificultades para elegir qué tipo de pruebas realizar, ya sea con pruebas automáticas o pruebas manuales.
Este artículo ayuda al lector a comprender qué son las pruebas de automatización, cuándo realizarlas y, lo que es más importante, cuándo no. Además, aprenda la utilización óptima de Herramientas de automatización para pruebas .
Cualquiera que sea el trabajo que se realice, debe realizarse de manera eficaz y también debe ser rentable. Además, debería tener sentido para que el cliente se sienta feliz con los entregables.
Lo que vas a aprender:
- Pruebas de software y beneficios de costos
- Inteligencia detrás de las pruebas de software
- Automatización: ¿es realmente esencial?
- ¿Por qué la automatización?
- Factor de riesgo
- ¿Cuándo no debe preferirse la automatización?
- Costo vs ROI para la automatización
- ¿Dónde puede la Automatización hacer una REDUCCIÓN mínima o SIN COSTE?
- Conclusión
- Lectura recomendada
Pruebas de software y beneficios de costos
La prueba de software normalmente la lleva a cabo un probador de software. La diferencia entre un tester y un usuario real es que este último conocerá solo un uso parcial del software que se utiliza para su negocio o para sus tareas y no conocerá el software por completo. Por otro lado, un tester conocerá todos los requisitos técnicos y funcionales del software. En base a los requisitos proporcionados por el cliente, se deberán preparar planes de prueba y casos de prueba.
Un plan de prueba no es más que un plan detallado de la forma en que se llevará a cabo el proceso de prueba. Esto tendrá detalles completos sobre la cantidad de recursos y fuentes involucradas en la prueba, qué hacer y cuándo hacerlo, qué no se hará y el entorno en el que se llevará a cabo, etc.
Los casos de prueba deben prepararse después de una comprensión clara del aspecto funcional y técnico del software. El evaluador debe poseer una gran capacidad de observación y un conocimiento completo sobre el software.
Además, el costo juega un papel efectivo aquí. Los clientes prefieren aceptar software con la máxima calidad a un costo mínimo. Cuando optamos por las pruebas manuales, el proceso es más tedioso y requiere más tiempo, ya que todo lo realiza un evaluador manualmente.
Por ejemplo , cuando necesitamos 'n' número de probadores para ejecutar pruebas de regresión , puede llevar casi 50 horas ejecutar todos los casos de prueba. Y en función de la disponibilidad de recursos, se ejecutarán los casos de prueba. Pero con menos tiempo para las pruebas automatizadas, se lleva a cabo una utilización óptima de los recursos junto con la máxima cobertura de casos de prueba en comparación con las pruebas manuales.
Inteligencia detrás de las pruebas de software
Es muy importante para cualquier organización saber cuándo comenzar el proceso de prueba y cuándo salir de él. Se supone que debemos saber cuándo comenzar con las pruebas porque es inútil comenzar a probar cuando finaliza la fase de desarrollo y cuando no se cumplen los criterios requeridos. Siempre es una buena práctica comenzar con la fase de diseño de prueba mientras el desarrollo está en progreso.
A continuación se presentan los criterios para la entrada y salida de pruebas de software:
Criterio para entrar
Una vez que se ha firmado el documento de diseño, los planes de prueba deben prepararse en la fase de planificación. Un plan de prueba juega un papel fundamental. El hardware necesario debe instalarse y configurarse correctamente y debe comprobarse la funcionalidad del hardware. Los requisitos funcionales deben ser claros y aprobados. El código desarrollado debe ser probado por unidad y firmado por los desarrolladores.
Los casos de prueba y los datos de prueba deben prepararse y aprobarse. Los datos de prueba y la aplicación deben estar disponibles. El probador debe poseer un conocimiento significativo y suficiente sobre la aplicación. Los recursos deben estar bien capacitados sobre herramientas y deben aclararse con todas las funcionalidades requeridas.
El probador debe estar disponible. Cuando no se cumple alguno de los criterios, se retiene el criterio de entrada de la prueba.
(Nota: Haga clic en cualquier imagen para ampliarla)
Criterio de salida
Solo cuando al menos el 95% de los casos de prueba obligatorios están bloqueados con un resultado de 'aprobado', podemos salir de la fase de prueba del producto. Sin embargo, no es tan fácil determinar cuándo se pueden detener las pruebas de software o si aún es necesario ejecutarlas. Y este tipo de situación también suele surgir.
Los principales criterios se dan a continuación:
- Cuando se solucionen todos los errores.
- Cuando se alcanza el plazo.
- Cuando el presupuesto se agota o se agota.
- Cuando se aprueben todos los casos de prueba.
- Cuando se firma el acuerdo.
- Cuando se realiza un cierto porcentaje de pruebas.
- Cuando el Alfa y termina la prueba Beta.
Los criterios de salida se pueden derivar puramente en base a factores como riesgo, costo, etc. Cuando se hayan logrado las pruebas del requisito funcional principal, las pruebas se detendrán generalmente y nunca buscarán errores menores, lo que creará un problema períodos posteriores.
Ejemplo: El software ABC se encuentra en fase de diseño. La construcción de desarrollo y prueba generalmente ocurren al mismo tiempo. Una vez que se ha congelado el diseño, comienza el desarrollo del software. La finalización del desarrollo del software, según lo acordado, indica los criterios de entrada. Los entregables aquí son del equipo de desarrollo. Incluye notas de la versión y problemas conocidos.
Después de algunas iteraciones de prueba, cuando no hay ningún impedimento principal / bloqueador / espectáculo pendiente de resolución y el 95% de las pruebas han dado como resultado una aprobación, entonces se denomina criterio de salida.
Automatización: ¿es realmente esencial?
Cuando necesitamos decidir si requerimos Técnica de prueba automatizada o no, aquí surge la cuestión de los recursos disponibles. Las razones por las que necesitamos automatizar son para verificar si el flujo de datos y la funcionalidad desarrollada están funcionando según las expectativas sin intervención manual o no. Se utiliza principalmente en lugares donde el software tendrá cambios en forma de múltiples lanzamientos / ciclos, etc.
empresas de videojuegos para trabajar
Al final del desarrollo de cada ciclo, se realizará la prueba de la funcionalidad agregada actualmente. Además, se realizarán pruebas de la funcionalidad anterior para garantizar que las funcionalidades anteriores no se rompan. Esta es la parte principal que tiene margen para la automatización.
Al verificar las lógicas controladas por código y los requisitos de la GUI, se puede elegir la prueba automatizada, siempre que el factor de riesgo sea alto.
Ejemplo: Para el Software ABC, hay actualizaciones frecuentes, actualizaciones que busca el cliente y proporciona los desarrolladores. Por lo tanto, como parte de las pruebas, se realiza una regresión para el software que ya está activo y ejecutándose en producción. Independientemente de la cantidad de lanzamientos, mejoras y actualizaciones, la versión actual será válida.
Supongamos que se requieren 10 días de esfuerzos manuales para la cobertura de las pruebas de regresión, y luego se debe tener el máximo cuidado para automatizarlos. Puede ahorrar al menos un 60% de esfuerzo y 10 * 8 = 80 horas de trabajo manual.
La automatización puede completar 80/24 = 3,33 días solamente. Esto ahorra aproximadamente 6,67.
¿Por qué la automatización?
La automatización se puede elegir solo cuando:
- La aplicación tiene un área muy amplia con un alto grado de esfuerzo de inversión en regresión.
- La optimización de los costos se produjo debido a errores manuales.
- El software tiene varias versiones y lanzamientos.
- Es rentable a largo plazo.
- El factor de riesgo es mayor para un alcance más amplio de ejecución de pruebas.
- Las cifras de costos y los cálculos matemáticos se incluyen en la funcionalidad del software.
- Hay un mayor aumento en el tempo de ejecución, la eficiencia junto con la calidad del software.
- Hay un tiempo de respuesta menor, incluso para las pruebas de software de alto riesgo.
Factor de riesgo
El factor de riesgo se vuelve predominantemente común en el negocio donde hay muchas dependencias del factor tiempo. El software que funciona en base a los sistemas transaccionales y que funciona en múltiples aplicaciones requerirá que el software actúe de manera ideal según el diseño del software. En este caso, existen muchos riesgos para registrar el comportamiento funcional correcto.
Aquí, la automatización será muy útil para realizar las transacciones funcionales a un mejor ritmo según el mecanismo del software.
Por ejemplo , en el caso de un indicador del mercado Forex, el factor tiempo es muy importante y crítico. Los cambios en las existencias y las materias primas se producen con respecto al tiempo, a veces en menos de segundos. Aquí la automatización puede ayudar a probar dicho software con alto riesgo.
Ejemplo: El software ABC tiene múltiples actualizaciones y mejoras. Para ahorrar esfuerzos manuales y reducir el tiempo de respuesta para la fase de prueba, se puede automatizar la versión base o las antiguas funcionalidades. Esto puede ser válido solo cuando las funcionalidades básicas permanezcan sin cambios.
El beneficio de la automatización es que se pueden ejecutar sin ninguna intervención manual. Incluso esto se puede realizar en paralelo con la prueba de nuevas funciones. Por tanto, la automatización ahorra mucho esfuerzo y tiempo.
¿Cuándo no debe preferirse la automatización?
Hay una pregunta entre varias organizaciones: ¿Por qué no es posible la automatización al 100%?
La respuesta de los expertos es NO porque se requieren usuarios capacitados para realizar pruebas automatizadas y también deben estar bien capacitados. La automatización no se puede llevar a cabo durante la etapa inicial de los criterios y los requisitos de las aplicaciones no estarán claros.
Por lo general, se prefiere la automatización a partir de la segunda iteración de cualquier versión de software. La interfaz de usuario se puede cambiar, lo que es más costoso, y el mantenimiento del script también es más costoso. Cuando el costo requerido para la herramienta de automatización excede el presupuesto del proyecto, podemos decir que no.
Ejemplo: El software XYZ es un tipo de sitio de comercio electrónico donde los requisitos del cliente no se congelan y siguen cambiando cuando los clientes lo requieren.
Aquí, en este caso, la automatización no puede ayudar a la regresión. Esto se debe a que las antiguas funcionalidades que no son válidas no deben probarse y, por lo tanto, deben realizarse manualmente. Por ejemplo, un cliente debe tener todos los cuadros de lista en el software base para cambiarlos como cuadros desplegables.
Costo vs ROI para la automatización
El ROI es muy bajo cuando apostamos por la automatización inicialmente porque la automatización es costosa por primera vez. El ROI sigue aumentando a medida que el esfuerzo manual para probar el software disminuye con respecto a las iteraciones de la segunda versión. Debemos estar al tanto del resultado esperado de cualquier caso de prueba antes de la Automatización.
Considere que el diseño de los casos de prueba es más importante al elegir la automatización y cualquier herramienta para asegurarse de que no aumente el costo.
¿Dónde puede la Automatización hacer una REDUCCIÓN mínima o SIN COSTE?
Incluso la automatización cuesta porque se debe comprar la herramienta necesaria para las pruebas. Los recursos deben capacitarse con la herramienta en particular. La herramienta elegida debe ser factible para probar todas las áreas del software.
Por lo tanto, la selección de herramientas debe ser realizada cuidadosamente por expertos en pruebas de automatización.
Ejemplo: Considere el producto XYZ que se ocupa de seguros. Para reducir el factor de costo, la empresa solo utilizó pruebas manuales, pero cuando se trata de seguros, el factor de riesgo es alto y puede costarle dinero a la empresa cuando cualquiera de los cálculos de la prima sale mal. o al usuario final. El usuario final no sufrirá pérdidas mientras que la empresa deba hacerlo.
Cuando el monto de la prima calculada no coincide con la prima original (es decir, cuando hay una diferencia en el cálculo de la prima inicial y final), surge un gran problema entre el cliente y el vendedor del producto. Puede contener muchos módulos como automóviles, hogar y otros también.
Cuando algo sale mal, es una pérdida total. La diferencia en el cálculo puede tener sentido para el evaluador y puede generar errores. En este proyecto, el prueba manual se puede hacer para la interfaz de usuario básica, como verificar el número TIN, la identificación social y otra información relacionada con la cartera de usuarios y, por lo tanto, se puede probar manualmente cuando el factor de riesgo es bajo. Ellos Si la empresa se beneficia, más prefieren la automatización para probar su software.
Conclusión
Tanto la automatización como las pruebas manuales tienen ventajas y desventajas también. Sólo cuando tengamos claros los conceptos y los requisitos seremos capaces de elegir qué tipo de pruebas realizar.
Ningún proyecto puede probarse únicamente con pruebas manuales o automatizadas. Depende del diseño, la plataforma y la tecnología con la que se ha desarrollado el software. Por lo tanto, al tomar una decisión, se debe tener cuidado al elegir el método de prueba y utilizar el consejo de expertos.
En el artículo anterior, es posible que hayamos pasado por alto algunos factores, comparta amablemente los factores que cree que son importantes al elegir la automatización o incluso las herramientas para la automatización.
Mientras tanto, no dude en compartir sus comentarios / sugerencias sobre este artículo.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Desafíos de las pruebas manuales y de automatización
- Los 10 mejores libros de pruebas de software (libros de pruebas manuales y de automatización)
- Trabajo de asistente de control de calidad de pruebas de software
- Las 11 mejores herramientas de automatización para probar aplicaciones de Android (herramientas de prueba de aplicaciones de Android)
- ¿Es usted un experto en pruebas manuales o de automatización? ¡Trabaja a tiempo parcial para nosotros!
- Curso de pruebas de software: ¿A qué instituto de pruebas de software debo unirme?
- Elegir las pruebas de software como carrera