Está en la página 1de 11

METODOS Y TECNICAS DE PRUEBAS

Las pruebas de software se componen de diferentes metodologías y requiere la consideración


de muchos aspectos diferentes para ofrecer soluciones de alta calidad a los clientes o usuarios.
Sin embargo, el éxito o el fracaso de los esfuerzos de prueba dependen de la selección
correcta del tipo de metodología de prueba.

Hasta ahora las pruebas de carácter funcional, de reportes o rendimiento no han sido capaces
de minimizar el error humano de forma sustancial; lo que ha derivado en la generación de
herramientas de automatización de pruebas que consolidan y mejoran la efectividad de las
mismas.

¿Por qué son necesarias las pruebas?

Si un sitio web o una aplicación móvil tarda 3 segundos más en cargarse, es molesto. Vivimos
en una época en la que nadie es paciente con software de mala calidad.

Es por que las pruebas calidad debe ser parte integral en cualquier proyecto de software. La
ciencia detrás de las pruebas está en identificar con precisión la calidad del software con el
objetivo de asegurar que el software funcione como se espera que funcione en todo
momento. El término se refiere a diferentes métodos y procesos para probar software y
garantizar su calidad.
1.-le ahorra dinero y muchos dolores de cabeza.

¿Cuánto dinero le cuesta un proyecto de software defectuoso? Les cuesta usuarios y a los
clientes. Y es bien sabido que cuanto más tiempo pasa inadvertido un error en su software,
más difícil y costoso se vuelve solucionarlo. Al emplear pruebas de aseguramiento de la
calidad durante todo el proceso de desarrollo del software, ahorrará tiempo y dinero después
de la implementación.

2.- Previene emergencias corporativas catastróficas.

Con el software corporativo, lo que está en juego es aún más importante. Los errores en el
software corporativo pueden ocasionar apagones del sistema, datos faltantes y fallas de
comunicación. Si va a utilizar software en una empresa o para manejar información sensible,
entonces debe asegurarse de que el software funcionará exactamente como debe funcionar.
No hay margen de error.

3.-Inspira confianza del cliente

Al hacer que las pruebas tengan una clara prioridad para el desarrollo de software, está
enviando un mensaje a sus clientes indicando que desea que su software tenga el mayor éxito
posible. Esto es extraordinariamente importante cuando se trata de ofrecer calidad y forjar
relaciones a largo plazo.

4.-Trae más ganancias

Si está creando un software que va a comercializar o vender, entonces invertir en QA


significará que puede vender su producto a una tasa mayor. No hay nada peor que un usuario
enojado que pagó por un producto que no funciona bien.

PRUEBAS DE SOFTWARE 2
I. TECNICAS O METODOS DE PRUEBA DE SOFTWARE
 Métodos : Es la forma de desarrollar y/o hacer algo, haciendo un
seguimiento de un orden o de ciertos principios
 Técnicas: Se refiere a las herramientas que vamos a utilizar para poder
desarrollar y llegar a lo que deseamos.
 Pruebas de software: Son las investigaciones cuyo objetivo es proporcionar
información sobre la calidad de los productos a los usuarios.

A. Objetivos:
 Detectar un error:
 Tener un buen caso de prueba
 Descubrir un error no descubierto antes

B. Principios de Prueba:
Principio 1: Las pruebas revelan la presencia de bugs, no la ausencia de ellos
Principio 2: Es imposible probarlo todo
Principio 3: Cuanto antes se comience a probar…mejor
Principio 4: Las aglomeración de defectos. ¡Los bugs siempre van en
pandilla!
Principio 5: La paradoja del pesticida
Principio 6: Las pruebas se deben adaptar a necesidades específicas

C. Objetivos de la prueba:
El objetivo principal de las pruebas es descubrir errores y/o defectos.

PRUEBAS DE SOFTWARE 3
D. Clasificación de los métodos de prueba:

 Prueba de caja negra:


Es una técnica de pruebas de software en la cual la funcionalidad se verifica
sin tomar en cuenta la estructura interna de código, ya que no nos
preocuparnos en tener conocimiento de la estructura interna del programa,
solo nos enfocamos en las entradas y salidas del sistema.
Prueba de caja blanca:
También conocidas como pruebas de caja de cristal o pruebas estructurales,
son pruebas de software que se realiza sobre las funciones internas de un
módulo, estas se centrar en los detalles procedimentales del software, por lo
que su diseño está fuertemente ligado al código fuente.

PRUEBAS DE SOFTWARE 4
PRUEBAS DE CAJA NEGRA Y PRUEBAS FUNCIONALES

En los estándares para Software Testing definidos por ISTQB, las técnicas de pruebas de caja
negra son utilizadas para realizar pruebas funcionales, basadas en las funciones o
características del sistema y su interacción con otros sistemas o componentes.

Técnicas de pruebas de caja negra

I. Partición de equivalencias

 Consiste en clasificar las entradas de datos del sistema en grupos que


presentan un comportamiento similar, por lo cual serán procesados de la
misma forma.
 Se pueden definir particiones tanto para datos válidos como no válidos (datos
que deben ser rechazados por el sistema).
 Las particiones también pueden definirse en función de las salidas de datos,
valores internos, valores relacionados antes o después de ciertos eventos, y
también para los valores que reciben las interfaces.

EJEMPLO:

Disponemos de un modulo software de una aplicación bancaria con los


siguientes datos de entrada con su tipo:

*CODIGO DE ÁREA: Número de 3 dígitos que no empieza por 0 ni por 1


*CLAVE IDENTIFICATIVA DE LA OPERACIÓN: 6 Caracteres alfanuméricos

PASOS
I) IDENTIFICACION Y ETIQUETADO DE LAS CLASES

PRUEBAS DE SOFTWARE 5
II) DISEÑO DE CASOS DE PRUEBA PARA CUBRIR TANTAS CLASES DE EQUIVALENCIAS –VALIDAS

III) DISEÑO DE CASOS DE PRUEBA PARA CUBRIR TANTAS CLASES DE EQUIVALENCIAS -


INVALIDAS

PRUEBAS DE SOFTWARE 6
II. VALORES LÍMITES
 Parte del principio que el comportamiento al borde de una partición de datos
tiene mayores probabilidades de presentar errores (bugs).
 Los valores máximos y mínimos de una partición son sus valores borde.
 Aplican tanto para datos inválidos como inválidos.

II) DISEÑO DE CASOS DE PRUEBA PARA CUBRIR TANTAS CLASES DE


EQUIVALENCIAS -VALIDAS

PRUEBAS DE SOFTWARE 7
III) DISEÑO DE CASOS DE PRUEBA PARA CUBRIR TANTAS CLASES DE
EQUIVALENCIAS -VALIDAS

CONCLUSIONES

Gracias a la técnica de partición equivalente y el análisis de valores limites podemos


garantizar que estamos verificando:

*Todas las clases de equivalencia validas e inválidas con unos valores suficientemente
representativos de cada clase que, además, explotan los límites operacionales.

*Para comparar si los resultados coinciden con los respaldos.

*Aun así, no podemos garantizar que el modulo esté libre de errores

III. TABLA DE DECISIÓN

 Las tablas de decisión son una herramienta útil para documentar reglas de
negocio de alta complejidad que el sistema debe cumplir.
 Las condiciones de entrada y acciones se expresan a menudo en términos de
verdadero o falso.
 Cada columna de la tabla corresponde con una regla de negocio que
representan la combinación de condiciones, y las acciones que resultan

PRUEBAS DE CAJA BLANCA O ESTRUCTURALES

PRUEBAS DE SOFTWARE 8
Este método se centra en cómo diseñar los casos de prueba atendiendo al
comportamiento interno y la estructura del programa. Se examina así la lógica interna del
programa sin considerar los aspectos de rendimiento.

Por ello se han definido distintos criterios de cobertura lógica, que permiten decidir qué
sentencias o caminos se deben examinar con los casos de prueba.

Estos criterios son:

Cobertura de Sentencias: Se escriben casos de prueba suficientes para que cada sentencia en
el programa se ejecute, al menos, una vez.

Cobertura de Decisión: Se escriben casos de prueba suficientes para que cada decisión en el
programa se ejecute una vez con resultado verdadero y otra con el falso.

Cobertura de Condiciones: Se escriben casos de prueba suficientes para que cada condición
en una decisión tenga una vez resultado verdadero y otra falso.

Cobertura Decisión/Condición: Se escriben casos de prueba suficientes para que cada


condición en una decisión tome todas las posibles salidas, al menos una vez, y cada decisión
tome todas las posibles salidas, al menos una vez.

PRUEBAS DE SOFTWARE 9
CARACTERÍSTICAS DE LAS PRUEBAS DE CAJA BLANCA

En las pruebas de Caja Blanca, se pretende indagar sobre la estructura interna del código,
omitiendo detalles referidos a datos de entrada o salida. Su objetivo principal es probar la
lógica del programa desde el punto de vista algorítmico.

Las pruebas de Caja Blanca son consideradas entre las más importantes que se aplican a los
sistemas, con la que se obtienen como resultados la disminución en un gran porciento el
número de errores existentes en el software y por ende una mayor calidad y confiabilidad en
la codificación.

PRINCIPALES TÉCNICAS DE DISEÑO DE PRUEBAS DE CAJA BLANCA

 Pruebas de flujo de control.


En estas pruebas se quiere encontrar errores en la parte lógica del programa, utilizando las
condiciones simples operador-relación o con condiciones complejas.
 Pruebas de flujo de datos.
Por medio de esta herramienta se hace la selección más adecuada del flujo de datos-
 Pruebas de bifurcación (branch testing).
Como lo dice su título, es ligado a una bifurcación o para bucles. Con ella podemos definir si
algún bucle está correctamente implementado y si las líneas de código donde exista una
condición es la mejor opción o si debiese ser cambiada.
 Pruebas de caminos básicos:
Esta prueba lo que demuestra es el conjunto de pasos base del programa, lo que quiere
lograr es que cada sentencia de código se ejecute mínimo una vez.

Al incremento de las tecnologías se vincula el desarrollo de aplicaciones, y en este caso nos


interesan a aquellas que son creadas con la meta de poder automatizar el proceso de pruebas
de código que se realizan sobre el software. Dentro del almacén de programas con este
objetivo podemos encontrar las que están relacionadas con las pruebas de Caja Blanca. A
continuación, se mencionan algunas de estas herramientas.

Junit: Es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck


que son utilizadas en programación para hacer pruebas unitarias de
aplicaciones Java.

PRUEBAS DE SOFTWARE 10
PHPUnit: Es un entorno para realizar pruebas unitarias en el lenguaje de
programación PHP.

NUnit: Es un framework open source de Pruebas de unidad para


Microsoft .NET.

PRUEBAS DE SOFTWARE 11

También podría gustarte