black box testing an depth tutorial with examples
En este tutorial, utilizando mi experiencia industrial en pruebas de software, vamos a familiarizarnos con los tipos y técnicas de pruebas de caja negra junto con su proceso, ventajas, desventajas y algunas herramientas de automatización para probarlo además de las pruebas manuales.
También aprenderemos sobre las diferencias entre las pruebas de caja blanca y las pruebas de caja negra.
Lista de tutoriales de 'Técnicas de prueba de caja negra':
Tutorial #1: ¿Qué son las pruebas de caja negra?
Tutorial #2: ¿Qué es la prueba de caja blanca?
Tutorial #3: Pruebas funcionales simplificadas
Tutorial #4: ¿Qué son las pruebas de casos de uso?
Tutorial #5 : Técnica de prueba de matriz ortogonal
Técnicas
Tutorial #6: Análisis de valor límite y partición de equivalencia
Tutorial #7: Prueba de tabla de decisión
Tutorial #8: Prueba de transición estatal
Tutorial #9 : Error al adivinar
Tutorial #10: Métodos de prueba basados en gráficos
¡Casi todos realizamos pruebas de caja negra todos los días!
Ya sea que hayamos aprendido o no, todos hemos realizado y realizado pruebas de caja negra muchas veces en nuestro día a día.
Por el nombre en sí, probablemente pueda comprender que implica interactuar con el sistema, que está probando como una caja misteriosa. Significa que no conoce lo suficiente sobre el funcionamiento interno del sistema, pero sabe cómo debería comportarse.
Si tomamos un ejemplo Para probar nuestro automóvil o bicicleta, siempre lo conducimos para asegurarnos de que no se comporte de manera inusual. ¿Ver? Ya hemos realizado Black Box Testing.
Lo que vas a aprender:
- ¿Qué son las pruebas de caja negra?
- Tipos de pruebas de caja negra
- Herramientas de prueba de caja negra
- Técnicas de prueba de caja negra
- ¿Cómo hacerlo por pasos?
- Ventajas y desventajas
- Diferencia entre las pruebas de caja blanca y las pruebas de caja negra
- Conclusión
- Lectura recomendada
¿Qué son las pruebas de caja negra?
Las pruebas de caja negra también se conocen como pruebas de comportamiento, de caja opaca, de caja cerrada, basadas en especificaciones o ojo a ojo.
Es un método de prueba de software que analiza la funcionalidad de un software / aplicación sin saber mucho sobre la estructura / diseño interno del elemento que se está probando y compara el valor de entrada con el valor de salida.
cómo usar solarmovie sin registrarse
El enfoque principal de Black Box Testing es la funcionalidad del sistema en su conjunto. El término 'Pruebas de comportamiento' también se utiliza para pruebas de caja negra. El diseño de prueba de comportamiento es ligeramente diferente del diseño de prueba de caja negra porque el uso del conocimiento interno no está estrictamente prohibido, pero aún así se desaconseja.
Cada método de prueba tiene sus propias ventajas y desventajas. Hay algunos errores que no se pueden encontrar usando la técnica de la única caja negra o solo la caja blanca.
La mayoría de las aplicaciones se prueban mediante el método Black Box. Necesitamos cubrir la mayoría de los casos de prueba para que la mayoría de los errores sean descubiertos por un Caja negra método.
Esta prueba se produce durante todo el ciclo de vida de prueba y desarrollo de software, es decir, en las etapas de prueba de unidad, integración, sistema, aceptación y regresión.
Esto puede ser tanto funcional como no funcional.
Tipos de pruebas de caja negra
Prácticamente, hay varios tipos de pruebas de caja negra que son posibles, pero si consideramos la variante principal, a continuación se mencionan las dos fundamentales.
# 1) Prueba funcional
Este tipo se ocupa de los requisitos funcionales o las especificaciones de una aplicación. Aquí, se están probando diferentes acciones o funciones del sistema proporcionando la entrada y comparando la salida real con la salida esperada.
Por ejemplo ,cuando probamos una lista desplegable, hacemos clic en ella y verificamos que se expande y que todos los valores esperados se muestran en la lista.
Algunos tipos principales de pruebas funcionales son:
eclipse ide para c ++
- Prueba de humo
- Pruebas de cordura
- Pruebas de integración
- Prueba del sistema
- Pruebas de regresión
- Pruebas de aceptación del usuario
=> Leer más en Pruebas funcionales .
# 2) Pruebas no funcionales
Además de las funcionalidades de los requisitos, también hay varios aspectos no funcionales que deben probarse para mejorar la calidad y el rendimiento de la aplicación.
Algunos tipos importantes de pruebas no funcionales incluyen:
- Pruebas de usabilidad
- Prueba de carga
- Pruebas de rendimiento
- Prueba de compatibilidad
- Pruebas de estrés
- Prueba de escalabilidad
=> Leer más en Pruebas no funcionales .
Herramientas de prueba de caja negra
Las herramientas de Black Box Testing son principalmente herramientas de grabación y reproducción. Estas herramientas se utilizan para las pruebas de regresión para comprobar si la nueva compilación ha creado algún error en la funcionalidad de la aplicación de trabajo anterior.
Estas herramientas de grabación y reproducción registran casos de prueba en forma de algunos scripts como TSL, script VB, Javascript, Perl, etc.
Técnicas de prueba de caja negra
Para probar sistemáticamente un conjunto de funciones, es necesario diseñar casos de prueba. Los evaluadores pueden crear casos de prueba a partir del documento de especificación de requisitos utilizando las siguientes técnicas de prueba de caja negra.
- Partición de equivalencia
- Análisis de valor límite
- Prueba de tabla de decisión
- Prueba de transición estatal
- Error al adivinar
- Métodos de prueba basados en gráficos
- Prueba de comparación
Entendamos cada técnica en detalle.
# 1) Partición de equivalencia
Esta técnica también se conoce como Partición de clases de equivalencia (ECP). En esta técnica, los valores de entrada al sistema o la aplicación se dividen en diferentes clases o grupos según su similitud en el resultado.
Por lo tanto, en lugar de usar todos y cada uno de los valores de entrada, ahora podemos usar cualquier valor del grupo / clase para probar el resultado. De esta manera, podemos mantener la cobertura de la prueba mientras podemos reducir una gran cantidad de retrabajos y, lo más importante, el tiempo invertido.
Por ejemplo:
Como se muestra en la imagen de arriba, un campo de texto 'EDAD' acepta solo los números del 18 al 60. Habrá tres conjuntos de clases o grupos.
Dos clases inválidas serán:
a) Menor o igual a 17.
b) Mayor o igual a 61.
Una clase válida será de entre 18 y 60 años.
Por lo tanto, hemos reducido los casos de prueba a solo 3 casos de prueba basados en las clases formadas, cubriendo así todas las posibilidades. Por lo tanto, probar con cualquier valor de cada conjunto de la clase es suficiente para probar el escenario anterior.
=> Lectura recomendada - ¿Qué es el particionamiento de equivalencia?
# 2) Análisis de valor límite
Por el nombre en sí, podemos entender que en esta técnica nos enfocamos en los valores en los límites, ya que se encuentra que muchas aplicaciones tienen una gran cantidad de problemas en los límites.
Límite significa los valores cercanos al límite donde cambia el comportamiento del sistema. En el análisis del valor límite, se prueban tanto las entradas válidas como las inválidas para verificar los problemas.
Por ejemplo:
Si queremos probar un campo donde se deben aceptar valores de 1 a 100, entonces elegimos los valores de límite: 1-1, 1, 1 + 1, 100-1, 100 y 100 + 1. En lugar de usar todos los valores del 1 al 100, solo usamos 0, 1, 2, 99, 100 y 101.
# 3) Prueba de la tabla de decisiones
Como su propio nombre sugiere, dondequiera que existan relaciones lógicas como:
Si
{
(Condición = Verdadero)
luego action1;
}
else action2; / * (condición = Falso) * /
Luego, un probador identificará dos salidas (acción1 y acción2) para dos condiciones (Verdadero y Falso). Entonces, en base a los escenarios probables, se talla una tabla de decisión para preparar un conjunto de casos de prueba.
Por ejemplo:
Tomemos un ejemplo del banco XYZ que ofrece una tasa de interés del 10% para los hombres mayores y del 9% para el resto de la gente.
En esta condición de ejemplo, C1 tiene dos valores como verdadero y falso, la condición C2 también tiene dos valores como verdadero y falso. El número total de combinaciones posibles sería entonces cuatro. De esta forma podemos derivar casos de prueba usando una tabla de decisiones.
cómo hacer una matriz de cadenas en java
# 4) Prueba de transición estatal
La prueba de transición de estado es una técnica que se utiliza para probar los diferentes estados del sistema bajo prueba. El estado del sistema cambia según las condiciones o eventos. Los eventos desencadenan estados que se convierten en escenarios y un evaluador debe probarlos.
Un diagrama de transición de estado sistemático ofrece una visión clara de los cambios de estado, pero es eficaz para aplicaciones más simples. Los proyectos más complejos pueden conducir a diagramas de transición más complejos, lo que los hace menos efectivos.
Por ejemplo:
# 5) Error al adivinar
Este es un ejemplo clásico de pruebas basadas en la experiencia.
En esta técnica, el evaluador puede usar su experiencia sobre el comportamiento y las funcionalidades de la aplicación para adivinar las áreas propensas a errores. Se pueden encontrar muchos defectos adivinando errores donde la mayoría de los desarrolladores suelen cometer errores.
Pocos errores comunes que los desarrolladores generalmente olvidan manejar:
- Dividir entre cero.
- Manejo de valores nulos en campos de texto.
- Aceptando el botón Enviar sin ningún valor.
- Carga de archivos sin adjunto.
- Carga de archivos con un tamaño menor o mayor que el límite.
# 6) Métodos de prueba basados en gráficos
Todas y cada una de las aplicaciones son una acumulación de algunos objetos. Todos esos objetos se identifican y se prepara el gráfico. A partir de este gráfico de objeto, se identifica cada relación de objeto y los casos de prueba se escriben en consecuencia para descubrir los errores.
# 7) Prueba de comparación
Se utilizan diferentes versiones independientes del mismo software para comparar entre sí para probar en este método.
¿Cómo hacerlo por pasos?
En general, cuando se sigue un proceso sistemático para probar un proyecto / aplicación, la calidad se mantiene y es útil a largo plazo para más rondas de prueba.
- El paso más importante es comprender la especificación de requisitos de una aplicación. Debe existir un SRS (Especificación de requisitos de software) debidamente documentado.
- Utilizando las técnicas de prueba de caja negra mencionadas anteriormente, como análisis de valor límite, partición de equivalencia, etc., se identifican conjuntos de entradas válidas e inválidas con sus salidas deseadas y los casos de prueba se diseñan en base a eso.
- Los casos de prueba diseñados se ejecutan para verificar si pasan o no al verificar los resultados reales con los resultados esperados.
- Los casos de prueba fallidos se plantean como Defectos / Errores y se dirigen al equipo de desarrollo para solucionarlos.
- Además, basándose en los defectos que se están reparando, el probador vuelve a probar los defectos para verificar si es recurrente o no.
Ventajas y desventajas
Ventajas
- El evaluador no necesita tener conocimientos técnicos. Es importante probar estando en el lugar del usuario y pensar desde el punto de vista del usuario.
- Las pruebas se pueden iniciar una vez que se realiza el desarrollo del proyecto / aplicación. Tanto los evaluadores como los desarrolladores trabajan de forma independiente sin interferir en el espacio de los demás.
- Es más eficaz para aplicaciones grandes y complejas.
- Los defectos e inconsistencias se pueden identificar en la etapa inicial de la prueba.
Desventajas
- Sin ningún conocimiento técnico o de programación, hay posibilidades de ignorar las posibles condiciones del escenario a probar.
- En un tiempo estipulado hay posibilidades de probar menos y omitir todas las entradas posibles y sus pruebas de salida.
- Una cobertura de prueba completa no es posible para proyectos grandes y complejos.
Diferencia entre las pruebas de caja blanca y las pruebas de caja negra
A continuación se muestran algunas diferencias entre ambos:
Prueba de caja negra | Prueba de caja blanca |
---|---|
Es un método de prueba sin tener conocimiento sobre el código real o la estructura interna de la aplicación. | Es un método de prueba que tiene conocimiento sobre el código real y la estructura interna de la aplicación. |
Esta es una prueba de nivel superior, como la prueba funcional. | Este tipo de prueba se realiza en un nivel más bajo de pruebas, como pruebas unitarias, pruebas de integración |
Se concentra en la funcionalidad del sistema bajo prueba. | Se concentra en el código real: el programa y su sintaxis. |
Las pruebas de caja negra requieren una especificación de requisitos para probar | Las pruebas de White Box requieren documentos de diseño con diagramas de flujo de datos, diagramas de flujo, etc. |
Las pruebas de caja negra las realizan los probadores | Las pruebas de caja blanca las realizan desarrolladores o probadores con conocimientos de programación. |
Conclusión
Estos son algunos de los puntos básicos relacionados con las pruebas de caja negra y la descripción general de sus técnicas y métodos.
Como no es posible probar todo con participación humana con una precisión del 100 por ciento, si las técnicas y métodos mencionados anteriormente se utilizan de manera efectiva, definitivamente mejorará la calidad del sistema.
Para concluir, este es un método muy útil para verificar la funcionalidad del sistema e identificar la mayoría de los defectos.
Espero que haya adquirido un conocimiento profundo de la técnica de prueba de caja negra.
Lectura recomendada
- Diferencias clave entre las pruebas de caja negra y las pruebas de caja blanca
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Pruebas funcionales versus pruebas no funcionales
- Tutorial de pruebas por pares o pruebas de todos los pares con herramientas y ejemplos
- Prueba de caja blanca: una guía completa con técnicas, ejemplos y herramientas
- Tutorial de prueba de volumen: ejemplos y herramientas de prueba de volumen
- Tutorial de pruebas de configuración con ejemplos
- Descarga del libro electrónico Testing Primer