Algunas definiciones de testing que debemos conocer

Las siguientes son algunas de las definiciones y conceptos que debemos manejar dentro de nuestra actividad y que profundizaremos en próximos artículos o mapas mentales.

Control de calidad

Es una serie de inspecciones, revisiones y pruebas utilizadas a los largo del ciclo de desarrollo para asegurar que cada producto cumple con los requisitos que le han sido asignados.

Actividades de SQA

Establecer un plan de calidad para un proyecto.
Realizar evaluaciones, auditorías y revisiones.
Establecer estándares y procesos que se puedan aplicar al proyecto.
Establecer procedimientos para gestionar la información.
Asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con el procedimiento establecido.

Tipos de Testing

El Testing de Software es un conjunto de actividades llevadas a cabo con la intención de encontrar problemas en el software.

Las Pruebas de Software se clasifican según:

1. La intención

Pruebas positivas:
Mostrar el trabajo de software. También conocido como «test to pass», o también como se lo suele entender habitualmente: Camino Feliz

Pruebas negativas:
Mostrar que el software no funciona. También conocido como «test to fail».

2. La Especificación

Pruebas funcionales
Comprobar las características y el comportamiento operacional de un producto para asegurarse de que corresponden a sus especificaciones. Ignorar el mecanismo interno de un sistema o componente y centrarse exclusivamente en los productos generados en respuesta a las entradas seleccionadas y las condiciones de ejecución.

Pruebas No Funcionales

Pruebas de carga
Es una prueba de funcionamiento para comprobar el comportamiento del sistema bajo carga. Prueba de una aplicación con cargas pesadas, como las pruebas de un sitio web en una amplia gama de cargas para determinar en qué momento se degrada el tiempo de respuesta del sistema o no.

Las pruebas de estres
Sistema es sometido más allá de sus especificaciones para comprobar cómo y cuando falla.
Se realizan cargas pesadas como poner gran cantidad de información más allá de la capacidad de almacenamiento, lanzar grandes cantidades de consultas a las bases de datos, efectuar contínuas entradas al sistema o carga de base de datos.

Las pruebas de rendimiento
Asociadas con las pruebas de «estrés» y «carga». Hay diferentes herramientas de rendimiento y de carga usadas para hacer esto.

3. El conocimiento del Código fuente

Pruebas de Caja Negra
Prueba sobre la base de un análisis de la especificación de una pieza de software sin hacer referencia a su funcionamiento interno. El objetivo es poner a prueba qué tan bien el componente cumple los requisitos publicados para el componente.
El diseño del sistema interno no se considera en este tipo de pruebas. Las pruebas se basan en los requisitos y la funcionalidad.

Pruebas de Caja Blanca
Prueba sobre la base de un análisis de funcionamiento interno y la estructura de una pieza de software. Incluye técnicas como las de Branch Testing y Path Testing. También conocido como Prueba Estructural.
Esta prueba se basa en el conocimiento de la lógica interna del código de una aplicación.
Las pruebas se basan en la cobertura de instrucciones de código, ramas, caminos, condiciones.

4. En la necesidad de la Codificación

Pruebas unitarias
Son las Pruebas de componentes de software individuales o de módulos. Por lo general realizadas por el desarrollador y no por los Probadores (Testers), ya que requiere un conocimiento detallado del diseño del programa interno y código. puede requerir el desarrollo de módulos de los controladores de prueba o arneses de prueba.

5. La cobertura de la Prueba

Pruebas de Humo (Smoke Testing)
Una prueba rápida de las principales funciones de una pieza de trabajo de software.

Pruebas de Sanidad (Sanity Testing)
Prueba para determinar si una nueva versión de software está funcionando lo suficientemente bien como para aceptar un esfuerzo importante prueba. Si la aplicación se bloquea para el uso inicial entonces el sistema no es lo suficientemente estable como para realizar más pruebas y construir o aplicación se asigna a arreglar.

Pruebas de seguridad (Security Testing)
Permite comprobar si el sistema es permeable de ser penetrado por alguna forma de hacking, acceso interno o externo no autorizado.

Pruebas de Regresión (Regression Testing)
Permite asegurar que no se ha introducido ningún fallo como resultado de los cambios realizados en el código de un software.

Pruebas de Integración (Integration Testing)
Prueba de piezas combinadas de una aplicación para determinar si funcionan juntas correctamente. Por lo general, se realiza después de las pruebas unitarias y de las pruebas funcionales. Este tipo de prueba son especialmente relevantes para sistemas cliente / servidor y distribuidos.

Pruebas de Mono (Monkey Testing)
Prueba de un sistema o de una aplicación sobre la marcha, es decir, solo algunas pruebas aquí y allá para asegurar que el sistema o una aplicación no se bloquea.

Prueba de flujo de trabajo (WorkFlow Testing)
Pruebas con guión de extremo a extremo que duplica los flujos de trabajo específicos que se espera que sean utilizados por el usuario final.

Prueba de Uniddad Functional (Unit Funcional Testing)
Pruebas de componentes de software individuales.

Pruebas de usabilidad (Usability Testing)
Prueba de la facilidad con la que los usuarios pueden aprender y utilizar un producto. Chequea la facilidad de uso. Flujo de aplicaciones se prueba, Can facilmente puede entender un nuevo usuario la aplicación. Básicamente se comprueba en esta prueba la navegación sistema.

6. Estáticas

Inspección
Un proceso de revisión de mejora de la calidad agrupado. Se compone de dos aspectos:
-mejora del producto (como documento en si mismo)
-mejora de procesos (tanto aquellos que corresponden a producción como los de inspección).

Walkthrough
Una revisión de requisitos, diseños o código que se caracterizan por el autor del material bajo una guia de revisión.

7. Otros

Pruebas de aceptación del usuario (User Acceptance Testing)
Una evaluación formal del producto realizada por un cliente, como condición de la compra. Normalmente este tipo de pruebas se hace para verificar si el sistema cumple con los requisitos especificados por el cliente.

Validación (Validation)
El proceso de evaluación de software al final del proceso de desarrollo de software para garantizar el cumplimiento de los requisitos de software. Las técnicas para la validación son pruebas, inspección y revisión.

Verificación (Verification)
El proceso de determinar si los productos de una determinada fase del ciclo de desarrollo de software cumplen con los pasos de implementación y se los puede relacionar a los objetivos entrantes establecidos durante la fase anterior. Las técnicas para la verificación son pruebas, inspección y revisión.

Pruebas de integración incremental (Incremental integration testing)
Enfoque de pryeva del tipo abajo arriba. Ej. prueba continua de una aplicación a medida que se añade una nueva funcionalidad

Prueba de recuperación (Recovery testing)
Prueba de lo bien que un sistema se recupera de accidentes, fallos de hardware, u otros problemas catastróficos. Relacionados con el concepto de sistema

La prueba de compatibilidad (Compatibility testing)
Prueba el buen funcionamiento del software en un / entorno de red particular / sistema de hardware / software / operativo y combinación diferente.

Prueba de comparación (Comparison testing)
Comparación de las fortalezas y debilidades de productos con versiones anteriores u otros productos similares.

Pruebas alfa (Alpha testing)
La prueba se realiza al final del desarrollo.

Las pruebas beta (Beta testing)
Prueba que realiza normalmente el usuario final u otros. Son pruebas finales antes de lanzar la aplicación para fines comerciales.

Gus Terrera

Apasionado por el agile testing y la ia.

Deja una respuesta