destructive testing
Diferencia entre pruebas destructivas y pruebas no destructivas con sus tipos y métodos:
En este artículo, analizaremos los detalles sobre las pruebas destructivas y las pruebas de software no destructivas.
Aprenderemos sobre ellos uno por uno y también veremos las diferencias entre estos dos tipos de prueba al final del artículo.
Lo que vas a aprender:
- ¿Qué son las pruebas destructivas y cuáles son sus beneficios?
- ¿Qué son las pruebas no destructivas y cuáles son sus beneficios?
- Diferencia entre pruebas destructivas y no destructivas
¿Qué son las pruebas destructivas y cuáles son sus beneficios?
Las pruebas de software destructivas (DST) son un tipo de prueba de software que intenta hacer que una parte de la aplicación de software falle de manera incontrolada, para probar su solidez y detectar el punto de falla.
En contraste con otros métodos de prueba de software de tipo convencional que verifican la funcionalidad del software, este método inspecciona el comportamiento impredecible del usuario dentro del software. Por lo tanto, nos permite descubrir defectos de software que generalmente no encuentran los usuarios promedio.
Tenga en cuenta que las pruebas de software destructivas (DST) son un enfoque alternativo a las pruebas de software de tipo convencional (CST), pero no su reemplazo. Es eficaz realizar DST además de CST.
Las pruebas destructivas se llevan a cabo en las condiciones de funcionamiento más rigurosas y continúan hasta que se rompe la aplicación. La idea clave de esta prueba no es solo descubrir las debilidades del diseño, si las hay, que posiblemente no se revelarán en condiciones normales de trabajo, sino también descubrir la vida útil del producto de software.
Este tipo de prueba comparte similitudes con Monkey Testing, Ad hoc Testing y Exploratory Testing.
Beneficios de las pruebas de software destructivas
¿Cómo actualizo mi BIOS Windows 10?
- Ayuda a medir la solidez, la capacidad de recuperación y la vida útil de la aplicación.
- Revela los puntos de falla en caso de uso inadecuado o incorrecto del software.
- Establece el contexto adecuado para el evaluador, ya que ignora los sesgos de las historias de usuario en las pruebas.
- Nos permite descubrir defectos de software que generalmente no encuentran los usuarios promedio.
- Este tipo de prueba es único en el descubrimiento de fallas en la aplicación que, cuando se abordan, promoverán el rango del software al estado de prueba para principiantes.
Pasos para realizar esta prueba
- Al comienzo del ciclo de prueba de software destructivo, el cliente envía una copia de la aplicación o las credenciales de acceso y los requisitos del usuario.
- Luego, el cliente presenta los requisitos y muestra la aplicación a un analista de control de calidad.
- A continuación, el analista de QA establece la función de los límites dentro de la aplicación y crea los límites de usabilidad de la aplicación dentro de los límites.
- Ahora, el evaluador de QA probará aleatoriamente la aplicación dentro de esos límites, utilizando técnicas estocásticas. Se registran los flujos de trabajo de prueba de control de calidad y los defectos.
- Finalmente, el directorio de defectos se comparte con el cliente.
- Si es necesario, el ciclo de pruebas destructivas se puede repetir según los requisitos del cliente.
Para esta prueba, es bueno tener algún conocimiento de los requisitos originales del software. Esto ayuda a idear una buena estrategia de prueba.
¿Qué verifica en la prueba destructiva?
- Comportamiento inadecuado y adecuado de la aplicación de software.
- Datos de entrada válidos y no válidos.
- Uso inadecuado de la aplicación de software.
Métodos y estrategias de prueba de software destructivo
Hay varias formas de realizar pruebas destructivas:
1) Método de análisis del punto de falla:
En este método, la aplicación se revisa y examina para acceder a cada ruta y esquina de la misma. Se determina qué puede fallar en varios puntos. Para este método, puede obtener la ayuda de analistas comerciales para tener un recorrido por la aplicación.
2) Revisión por pares:
Haga que la aplicación sea revisada por un compañero de pruebas que no esté familiarizado con el software. Esto ayudará a encontrar algunos puntos ocultos de falla que no eran visibles para usted como evaluador.
3) Haga que la empresa revise los casos de prueba:
quién es el mejor proveedor de correo electrónico
Los usuarios finales y otras partes interesadas a veces pueden pensar en escenarios de prueba válidos que un evaluador puede haber pasado por alto. Por lo tanto, hacer que la empresa revise los casos de prueba puede aumentar su cobertura de prueba.
4) Pruebas exploratorias:
Realice pruebas exploratorias con la ayuda de hojas de ejecución. Le ayudará a saber qué se prueba, repetir las pruebas y controlar la cobertura de la prueba.
5) Alimente el sistema con datos incorrectos:
Puede proporcionar una entrada no válida a la aplicación. Esto puede incluir datos corruptos, una secuencia incorrecta de pasos en la interfaz de usuario, etc.
6) Utilice otras fuentes:
También puede utilizar otras fuentes o formas de romper el sistema y analizar diferentes escenarios. Lo bueno es que la historia del usuario de las pruebas de software destructivas no necesariamente pide 'requisitos' y 'especificaciones', por lo que puede probar cualquier forma adecuada de realizar estas pruebas.
Técnicas de pruebas destructivas
Las pruebas de software destructivas se pueden realizar a través de varias técnicas como:
- Test de aceptación
- Prueba de bucle
- Pruebas de regresión
- Partición de equivalencia
- Prueba de valor límite
- Prueba de interfaz
- Pruebas alfa / beta
- Prueba del sistema
- Prueba de arriba hacia abajo
- Prueba de caja negra
Algunos consejos útiles para las pruebas de software destructivas
- Obtenga el mayor conocimiento posible del producto. Ponte en la piel del cliente y luego piensa en el producto desde su perspectiva.
- Borre toda la información sesgada de la historia del usuario. Olvídese de la descripción de la historia de usuario y los criterios de aceptación e intente romper la aplicación como un cliente loco.
- Busque los caminos de excepción, no los caminos felices. Tenga en cuenta que al ignorar los criterios de aceptación, no conocerá el flujo de trabajo esperado o normal.
- No espere una respuesta positiva de su solicitud. ¿Y si algo falla? Intenta simular y corromper todo lo que puedas.
- Reduzca las condiciones de su red a una configuración más realista, porque todos los usuarios reales no tendrán máquinas y condiciones de red de primera clase.
¿Qué son las pruebas no destructivas y cuáles son sus beneficios?
Las pruebas no destructivas (NDT) se describen como una técnica de evaluación de software que implica interactuar correctamente con el software. A diferencia de las pruebas de software destructivas donde buscamos caminos de excepción, en las pruebas no destructivas buscamos caminos felices o caminos dorados. NDT también se conoce como prueba positiva.
Por ejemplo, si hay un cuadro de entrada que acepta un número entre 1-999, entonces un caso de prueba positivo sería ingresar un número dentro de este rango y verificar la funcionalidad del cuadro de entrada.
En NDT, tenemos un caso de prueba bien definido que utiliza un requisito conocido, que se ejecuta sin errores ni excepciones y produce el resultado deseado. Da los resultados esperados y verifica que el software esté funcionando como se esperaba.
Beneficios de las pruebas de software no destructivas
- La calidad del software mejorada y los problemas se solucionan en el flujo principal de la aplicación.
- Útil para demostrar que la aplicación de software funciona según las especificaciones requeridas.
- Verifica que se cumplan las expectativas del cliente.
- Garantiza que se cumplan los requisitos de rendimiento.
- Ahorra tiempo y dinero en la evaluación de productos y la resolución de problemas.
Cuándo realizar esta prueba
- Debe ser la primera forma de prueba y debe realizarse en la etapa inicial de SDLC porque la ruta feliz es el flujo principal de la aplicación y si no funciona bien, el resto de las pruebas se bloquea.
- Se puede hacer de forma rápida y sencilla cuando no tenemos suficiente tiempo y presupuesto para realizar pruebas. Esto al menos asegura que se cumplan los requisitos de software y los criterios de aceptación.
Estrategia para pruebas de software no destructivas
- Se debe adoptar el enfoque de prueba positiva para realizar la prueba no destructiva.
- Mientras realiza la prueba, el evaluador debe tener en cuenta que el objetivo de la prueba no destructiva es verificar que la aplicación funcione bien para proporcionar datos de entrada válidos. Entonces, el objetivo es verificar el comportamiento de la aplicación para el conjunto de datos positivo.
- La mejor práctica consiste en comprobar si el sistema está haciendo lo que debe hacer.
Diferencia entre pruebas destructivas y no destructivas
Pruebas destructivas | Pruebas no destructivas |
---|---|
Se centra en las debilidades del diseño pero no en la funcionalidad. | Se centra en las debilidades de la funcionalidad pero no en el diseño. |
No necesariamente necesita requisitos comerciales. Las pruebas destructivas se realizan sin familiarizarse con los requisitos predeterminados. | Las pruebas se realizan para verificar las funcionalidades frente a los requisitos comerciales y los criterios de aceptación. |
La intención es romper el software proporcionando entradas inusuales para detectar puntos de fallas. | La intención es interactuar correctamente con el software para verificar resultados positivos. |
Conclusión
En las pruebas destructivas, la aplicación se bloquea intencionalmente para examinar la solidez de la aplicación. Detecta los puntos de falla en el software que pueden ocurrir debido a un manejo inadecuado de la aplicación por parte del cliente.
Detecta aquellos puntos débiles que no se pueden rastrear mediante pruebas de software convencionales. Para una mejor cobertura de prueba, se prefiere realizar pruebas de software destructivas junto con pruebas de software convencionales.
Las pruebas no destructivas se realizan con el enfoque de prueba positiva o prueba de ruta feliz para verificar que la funcionalidad del software cumple con los requisitos del cliente. Implica interactuar correctamente con el software.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 [Herramientas de automatización de pruebas de control de calidad]
- Trabajo de asistente de control de calidad de pruebas de software
- Curso de pruebas de software: ¿A qué instituto de pruebas de software debo unirme?
- Elegir las pruebas de software como carrera
- Prueba de software Escritor de contenido técnico Trabajo autónomo
- Descarga del libro electrónico Testing Primer
- Algunas preguntas interesantes de la entrevista sobre pruebas de software
- Comentarios y revisiones del curso de pruebas de software