Вы находитесь на странице: 1из 4

Pruebas de software

Las pruebas de software consisten en la dinámica de la verificación del comportamiento


de un programa en un conjunto finito de casos de prueba, debidamente seleccionados de
por lo general infinitas ejecuciones de dominio, contra la del comportamiento esperado.
Son una serie de actividades que se realizan con el propósito de encontrar los posibles
fallos de implementación, calidad o usabilidad de un programa u ordenador; probando el
comportamiento del mismo.
OBJETIVOS
- Probar si el software no hace lo que debe.
- Probar si el software hace lo que no debe.
- Descubrir un error que aún no ha sido descubierto.
- Mostrar hasta qué punto las funciones del software operan de acuerdo con las
especificaciones y requisitos del cliente.
Características
- Alta probabilidad de encontrar un error. El ingeniero de software debe tener un alto
nivel de entendimiento de la aplicación a construir para poder diseñar casos de prueba
que encuentren el mayor número de defectos.
- No debe ser redundante. Uno de los objetivos de las pruebas es encontrar el mayor
número de errores con la menor cantidad de tiempo y esfuerzo posibles, por lo cual no
se deben diseñar casos de prueba que tengan el mismo propósito que otros, sino que
se debe tratar de diseñar el menor número de casos de prueba que permitan probar
adecuadamente el software y optimizar los recursos.
- Una buena prueba no debería ser ni demasiado sencilla ni demasiado compleja.
PRUEBAS MANUALES vs AUTOMATIZADAS
- Las pruebas manuales: son llevadas a cabo por personas, quienes navegan e
interactúan con el software (usando herramientas adecuadas para cada caso).
Estas pruebas resultan costosas, ya que se requiere contar con un profesional encargado
de esta labor; para configurar un entorno y así mismo ejecutar las pruebas.
- Las pruebas automatizadas, por el contrario, son realizadas por máquinas, que
ejecutan un "test script" que ya ha sido escrito previamente.
Estos test (o pruebas) pueden variar mucho en cuanto a complejidad:
desde verificar que el método de una clase específica funcione correctamente, hasta
asegurar que una secuencia de acciones complejas en la interfaz de usuario se lleve a cabo
correctamente y devuelvan los resultados esperados.
Técnicas de pruebas
Las técnicas de prueba proporcionan distintos criterios para generar casos de prueba que
provoquen fallos en los programas. Estas técnicas se agrupan en:
- Técnicas de caja blanca o estructurales, se basan en un minucioso examen de los
detalles procedimentales del código a evaluar, por lo que es necesario conocer la
lógica del programa.

- Técnicas de caja negra o funcionales, se realizan pruebas sobre la interfaz del


programa a probar, es decir sobre las entradas y salidas de dicho programa. Para ello
no es necesario conocer la lógica del programa, únicamente la funcionalidad que debe
realizar.
DIFERENTES TIPOS DE TESTS
Unit tests
Las pruebas unitarias son a bajo nivel (cercanas al código fuente de nuestra aplicación).
Este tipo de testing consiste en probar de forma individual las funciones y/o métodos (de
las clases, componentes y/o módulos que son usados por nuestro software).
Integration tests
Las pruebas de integración verifican que los diferentes módulos y/o servicios usados por
nuestra aplicación funcionen en armonía cuando trabajan en conjunto.
Por ejemplo, pueden probar la interacción con una o múltples bases de datos, o asegurar
que los microservicios operen como se espera.
Functional tests
Las pruebas funcionales se centran en los requerimientos de negocio de una aplicación.
Estas pruebas verifican la salida (resultado) de una acción, sin prestar atención a los
estados intermedios del sistema mientras se lleva a cabo la ejecución.
End-to-end tests
Las pruebas de punta a punta replican el comportamiento de los usuarios con el software,
en un entorno de aplicación completo.
Estas pruebas verifican que los flujos que sigue un usuario trabajen como se espera, y
pueden ser tan simples como cargar una página web, iniciar sesión, o mucho más
complejas,
verificando notificaciones vía email, pagos en línea, etcétera.
Regression testing
Las pruebas de regresión verifican un conjunto de escenarios que funcionaron
correctamente en el pasado, para asegurar que continúen así.
Smoke testing
Las pruebas de humo son pruebas que verifican la funcionalidad básica de una aplicación.
Se pretende que sean pruebas rápidas de ejecutar, y su objetivo es asegurar que las
características más importantes del sistema funcionan como se espera.
Acceptance testing
Las pruebas de aceptación son pruebas formales, ejecutadas para verificar si un sistema
satisface sus requerimientos de negocio. Estas pruebas requieren que el software se
encuentre en funcionamiento y Verifican que las características de nuestro software estén
alineadas con todas las especificaciones iniciales y criterios de aceptación.
Performance testing
Las pruebas de rendimiento verifican cómo responde el sistema cuando éste se encuentra
bajo una alta carga.
Este tests es no-funcional ya que mide la fiabilidad, estabilidad y disponibilidad de la
plataforma.

Etapas involucradas en las pruebas de software.


Seleccionar qué es lo que debe medir la prueba, es decir, cuál es su objetivo, para qué
exactamente se hace la prueba.
1. Decidir cómo se va a realizar la prueba, es decir, qué clase de prueba se va a
utilizar para medir la calidad y qué clase de elementos de prueba se deben usar.
2. Desarrollar los casos de prueba. Un caso de prueba es un conjunto de datos o
situaciones de prueba que se utilizarán para ejecutar la unidad que se prueba o
para revelar algo sobre el atributo de calidad que se está midiendo.
3. Determinar cuáles deberían ser los resultados esperados de los casos de prueba y
crear el documento que los contenga.
4. Ejecutar los casos de prueba.

Evaluación de resultados
Comparar los resultados de la prueba con los resultados esperados. Cualquier
discrepancia entre ellos significa un error. Muchas veces el error está en el sistema o
unidad probada, pero también puede ser generado por algún aspecto del mismo proceso
de prueba.

Вам также может понравиться