Pruebas de Software (Final)
Pruebas de Software (Final)
Pruebas de Software (Final)
INTEGRANTES:
RUBEN ALZATE
WILSON ARGUELLO
FABIAN CASTRO
FREDY JIMENEZ
CARLOS RODRIGUEZ
DOCENTE:
ING. ALFONSO LPEZ PALACIO
INGENIERA DE SOFTWARE II
UNIVERSIDAD COOPERATIVA DE COLOMBIA
FACULTAD DE INGENIERA DE SISTEMAS
BOGOT
2015
TABLA DE CONTENIDO
Introduccin
1. Conceptos bsicos
Las pruebas de software
Pruebas como proceso
2. Objetivos de las pruebas de software
3. Principios y fundamentos de las pruebas de software
En qu consisten las pruebas de software
Evaluacin de resultados
4. Metodologa de las pruebas de software
Planeacin de pruebas
Diseo de pruebas
Implementacin y ejecucin de pruebas
Evaluacin de criterios
Cierre del proceso
5. Niveles de las pruebas de software
6. Pruebas de software
Pruebas del Sistema
Pruebas funcionales
Pruebas unitarias
Tcnica caja blanca
Tcnica caja negra
Tcnica caja gris
Validacin y verificacin
Pruebas de integracin
Pruebas de humo
Pruebas de regresin
Pruebas de entrega
Pruebas No funcionales
Pruebas de comunicacin
Pruebas de rendimiento
Pruebas de volumen
Pruebas de integridad de datos y BD
Pruebas de operacin
Pruebas de entorno o ambiente
Pruebas de seguridad y control de acceso
Pruebas de almacenamiento
Pruebas de configuracin
Pruebas de desempeo
2
Pruebas de implantacin
Pruebas de instalacin
Pruebas de la documentacin
Pruebas de recuperacin y tolerancia a fallas
Pruebas de resistencia
Pruebas de tensin
Pruebas de usabilidad
Pruebas de compatibilidad y conversin
Pruebas de estrs o esfuerzo
Pruebas GUI
Pruebas de estilo
Pruebas de mltiples sitios
Pruebas de ciclo de negocio
Pruebas de aceptacin
Pruebas alfa y beta
Pruebas alfa
Pruebas beta
7. Conclusiones
8. Web grafa
INTRODUCCION
Las pruebas se rigen por una serie de principios, una buena comprensin
de estos facilitar el posterior uso de los mtodos en un efectivo diseo
de casos de prueba.
A continuacin se citan:
La prueba puede ser usadas para mostrar la presencia de errores,
pero
nunca su ausencia.
La principal dificultad del proceso de prueba es decidir cundo
parar.
Evitar casos de pruebas no planificados, no reusables y triviales a
menos que el programas
sea verdaderamente sencillo.
Una parte necesaria de un caso de prueba es la definicin del
resultado esperado.
Los casos de pruebas tienen que ser escritos no solo para
condiciones de entrada vlidas y esperadas sino tambin para
condiciones no vlidas e inesperadas.
El nmero de errores sin descubrir es directamente proporcional al
nmero de errores descubiertos.
Estas leyes que definen bsicamente la aplicacin de las pruebas
de software ayudan a refinar el producto de software a travs de
las etapas involucradas.
En Que Consisten Las Pruebas De Software
1.
2.
3.
4.
5.
Evaluacin De Resultados
Comparar los resultados de la prueba con los resultados esperados.
Cualquier discrepancia entre ellos significa un error. Tpicamente el error
est en el sistema o unidad probada, pero tambin puede ser generado
por algn aspecto del mismo proceso de prueba.
Caracterstic Observacin
7
a
Operatividad Cunto mejor funcione, ms eficientemente se puede
probar
Se informa
internos
automticamente
de
los
errores
Simplicidad
Simplicidad funcional
Simplicidad estructural
Caracterstic Observacin
a
Estabilidad
Planeacin de pruebas.
Diseo de pruebas.
implementacin de pruebas.
Evaluacin de criterios de salida.
Cierre del proceso.
Planeacin de pruebas
Es la etapa en donde se ejecutan las primeras actividades
correspondientes al proceso de pruebas y tiene como resultado un
entregable denominado plan de pruebas el cual debe estar conformado
en cuando menos por aspectos tales como:
Diseo De Pruebas
Una vez elaborado y aprobado el plan de pruebas, el equipo de trabajo
debe iniciar el anlisis de toda la documentacin existente con respecto
al sistema, con el objeto de iniciar el diseo de los casos de prueba. Los
entregables claves para iniciar este diseo pueden ser: casos de uso,
historias de usuario, arquitectura del sistema, diseos, manuales de
usuario (si existen), manuales tcnicos (si existen).
El diseo de los
casos, debe considerar la elaboracin de casos positivos y negativos.
Los casos de prueba negativos permiten validar cmo se comporta el
sistema ante situaciones atpicas y permite verificar la robustez del
sistema, atributo que constituye uno de los requerimientos no
funcionales indispensable para cualquier software. Por ltimo, es
necesario definir cules son los datos de prueba necesarios para la
ejecucin de los casos de prueba diseados.
Implementacin Y Ejecucin De Pruebas
La ejecucin de pruebas debe iniciar con la creacin de los datos de
prueba necesarios para ejecutar los casos de prueba diseados. La
ejecucin de estos casos, puede realizarse de manera manual o
automatizada; en cualquiera de los casos, cuando se detecte un fallo
en el sistema,
este debe ser documentado y registrado en una
herramienta que permita gestionar los defectos (Bug Tracker). Una vez
el defecto ha sido corregido por la firma desarrolladora en su respectivo
proceso de depuracin, es necesario realizar un re-test que permita
11
12
6. PRUEBAS DE SOFTWARE
PRUEBAS DEL SISTEMA
Las Pruebas de sistemas buscan discrepancias entre el programa y el
objetivo o requerimiento, enfocndose en los errores hechos durante la
transicin del proceso al disear la especificacin funcional. Esto hace a
las pruebas de sistema un proceso vital de pruebas, ya que en trminos
del producto, nmero de errores hechos, y severidad de esos errores, es
un paso en el ciclo de desarrollo generalmente propenso a la mayora de
los errores.
Las Pruebas de sistemas no son procesos para probar las funciones del
sistema o del programa completo, porque esta seria redundante con el
proceso de las pruebas funcionales. Las pruebas del sistema tienen un
propsito particular: para comparar el sistema o el programa con sus
objetivos originales (Requerimientos funcionales y no funcionales). Dado
este propsito, se presentan dos implicaciones.
13
Todo sistema tiene una serie de objetivos que le dan sentido. Esos
objetivos estn asociados con indicadores de xito que
permiten determinar si los objetivos se cumplen y en qu medida.
Todo sistema tiene una serie de elementos que lo forman y
la interaccin de tales elementos se orienta a satisfacer los
objetivos.
14
15
PRUEBAS UNITARIAS
Es el proceso de hacer pruebas sobre los componentes individuales
(subprogramas o procedimientos) de un programa. El propsito es
encontrar discrepancias entre la especificacin de la interfaz del mdulo
y su comportamiento real.
La base de este mtodo es el hacer pruebas en pequeos fragmentos de
nuestro programa. Estos fragmentos deben ser unidades estructurales
de nuestro programa encargados de una tarea especfica, en
programacin orientada a objetos podemos afirmar que estas unidades
son los mtodos o las funciones que tenemos definidos.
Tras realizar estas pruebas sobre los elementos unitarios de nuestro
programa podremos eliminar gran parte de los errores de los que podra
adolecer. Como ya sabemos cualquier prueba demuestra no la ausencia
de errores sino que revela la presencia de ellos. Las pruebas unitarias no
revelan errores en la integracin de las partes unitarias ni tampoco otros
problemas como el bajo rendimiento de las aplicaciones o problemas
derivados del sistema sobre el que est ejecutndose nuestro programa.
El objetivo de las pruebas unitarias es el aislamiento de partes del
cdigo y la demostracin de que Estas partes no contienen errores.
Una vez creados el conjunto de pruebas unitarias sobre un fragmento de
cdigo los beneficios obtenidos, incluso antes de ejecutar ninguna
prueba, son mltiples. Pasar a enumerarlos:
21
22
23
ejemplos son:
Modelo arquitectnico
Modelo de Diseo UML
Modelo de Estados
VALIDACION Y VERIFICACION
Objetivos
Valorar rpidamente
consecuencias.
los
cambios
propuestos
sus
PRUEBA DE INTEGRACIN
El proceso de integracin del sistema implica construir este a partir de
sus componentes y probar el sistema resultante
para encontrar
problemas que pueden surgir debido a la integracin de los
componentes. Los componentes que se integran pueden ser
componentes comerciales, componentes reutilizables que han sido
26
27
Se combinan los mdulos para formar los grupos 1,2 y 3. Cada uno de
los grupos se somete a prueba mediante un controlador (mostrado como
un bloque punteado). Los mdulos de los grupos 1 y 2 son subordinados
Ma. Los controladores D1 y D2 se eliminan y los grupos interaccionan
directamente con Ma. De forma similar, se elimina el controlador D3 del
grupo 3 antes de la integracin con el mdulo Mb. Tanto Ma como Mb se
integraran finalmente con el mdulo Mc y as sucesivamente.
En la prctica, para muchos sistemas, la estrategia de integracin es
una mezcla para ambas, aadiendo en incrementos componentes de
infraestructura y componentes funcionales. En ambas aproximaciones
de integracin, normalmente tiene que desarrollarse cdigo adicional
para simular otros componentes y permitir que el sistema se ejecute.
La principal dificultad que surge durante las pruebas de integracin es la
localizacin de los errores. Existen interacciones complejas entre los
componentes del sistema, y cuando se descubra una salida anmala,
puede resultar difcil identificar donde ha ocurrido el error. Para hacer
ms fcil la localizacin de errores, siempre debera utilizarse una
aproximacin incremental para la integracin y pruebas del sistema.
La prueba de Integracin tiene dos enfoques:
Integracin No-Incremental
28
Integracin Incremental
PRUEBAS DE HUMO
Esta prueba es utilizada cuando se ha desarrollado un producto software
empaquetado. Es diseado como un mecanismo para proyectos
crticos por tiempo, permitiendo que el equipo de software valore su
proyecto sobre una base slida. La prueba de humo comprende las
siguientes actividades:
29
PRUEBAS DE REGRESION
La prueba de regresin consiste en volver a ejecutar un subconjunto de
pruebas que se han llevado a cabo anteriormente para asegurarse de
que los cambios no han propagado efectos colaterales no deseados. La
prueba de regresin es la actividad que ayuda a asegurar que los
cambios no introducen un comportamiento no deseado o errores
adicionales.
El conjunto de pruebas de regresin contiene tres clases diferentes de
casos de prueba:
1. Una muestra representativa de pruebas que ejercite todas las
funciones del software.
2. Pruebas adicionales que se centran en las funciones del software
que se van a ver probablemente afectadas por el cambio.
3. Pruebas que se centran en los componentes del software que han
cambiado.
PRUEBA DE ENTREGA
Las pruebas de entrega son normalmente prueba de caja negra en las
que el equipo de prueba se ocupa simplemente de demostrar si el
sistema funciona o no correctamente.
Las Pruebas de Entrega son el proceso de probar una entrega del
sistema que ser distribuido a los clientes. El principal objetivo de este
proceso es incrementar la confianza del suministrador en que el sistema
satisface sus requerimientos. Si es as este puede entregarse como un
producto o ser entregado al cliente. Para demostrar que el sistema
satisface sus requerimientos, tiene que mostrarse que ste entregue la
funcionalidad especificada, rendimiento y confiabilidad, y que no falla
durante su uso normal.
Las pruebas de entregas son normalmente un proceso de pruebas de
caja negra en las que las pruebas se derivan a partir de la especificacin
del sistema. El sistema se trata como una caja negra cuyo
comportamiento solo debe ser determinado estudiando su entradas y
30
PRUEBAS NO FUNCIONALES
Las Pruebas no funcionales se realizan para verificar que el software
desarrollado cumple con los requerimientos no funcionales establecidos
por el cliente y se centran ms en como trabaje el sistema.
El trmino de las pruebas no funcionales describen las pruebas
requeridas para medir las caractersticas de sistemas y software que
pueden ser cuantificadas en una escala variable como tiempos de
respuesta para las pruebas de rendimiento.
PRUEBAS DE COMUNICACIONES
Determinan que las interfaces entre los componentes del sistema
funcionan adecuadamente, tanto a travs de dispositivos remotos,
como locales. As mismo, se han de probar las interfaces
hombre/mquina.
PRUEBA DE RENDIMIENTO
Se centra en determinar la velocidad con la que el sistema bajo pruebas
realiza una tarea en las condiciones particulares del escenario de
pruebas. Este servicio ayuda a su organizacin a detectar los cuellos de
31
Planificacin
Preparacin
Ejecucin
Cierre
Como se puede apreciar en el grfico, cada una de estas fases tiene una
serie de acciones que tienen, como ltimo fin, validar que el sistema
bajo pruebas funcionar a una velocidad aceptable por sus usuarios, una
vez que sea puesto en produccin.
32
PRUEBAS DE VOLUMEN
Consisten en examinar el funcionamiento del sistema cuando est
trabajando con grandes volmenes de datos, simulando las cargas de
trabajo esperadas
Capacidad de Almacenamiento.
Capacidad de procesamiento.
Mximo (actual o fsicamente posible) nmero de clientes
conectados (o simulados), todos ejecutando la misma funcin
(peor caso de desempeo) por un perodo extendido.
Mximo tamao de base de datos (actual o escalado) y mltiples
consultas ejecutadas simultneamente
33
funcionan
34
36
Errores lgicos
Procesamiento ineficiente
Diseo pobre: muchas interfaces, instrucciones y entradas/salidas.
Cuellos de botella en discos, CPU o canales de entrada/salida
Salidas del sistema
Tiempos de respuesta
Capacidad de almacenamiento
Tasa de entrada/salida de datos
Nmero
de transacciones que pueden ser manejadas
simultneamente.
Las pruebas de desempeo utilizan las tcnicas de caja blanca y
caja negra.
PRUEBAS DE IMPLANTACIN
El objetivo de las pruebas de implantacin es comprobar el
funcionamiento correcto del sistema integrando el hardware y software
en el entorno de operacin, y permitir al usuario que, desde el punto de
vista de operacin, realice la aceptacin del sistema una vez instalado
en su entorno real y en base al cumplimiento de los requisitos no
funcionales especificados.
PRUEBAS DE INSTALACION
Las pruebas de instalacin tienen dos propsitos. El primero es asegurar
que el sistema puede ser instalado en todas las configuraciones
posibles, tales como nuevas instalaciones, actualizaciones, instalaciones
completas o personalizadas, y bajo condiciones normales o anormales;
37
PRUEBAS DE RESISTENCIA
39
PRUEBAS DE TENSION
La prueba de tensin es poner al programa a grandes cargas o
tensiones. Esto no se debe confundir con la prueba de volumen; una
gran tensin es volumen mximo de datos, o de actividad, en un tiempo
corto. Una analoga sera evaluar a un mecangrafo. Una prueba de
volumen se determinara si el mecangrafo hiciera frente a un bosquejo
de un informe grande; una prueba de tensin se determinara si el
mecangrafo puede mecanografiar a un ndice de 50 palabras por
minuto.
PRUEBAS DE USABILIDAD
Otra categora importante de casos de prueba de sistema es la tentativa
de encontrar problemas de factores humanos, o usabilidad. Sin
embargo, un anlisis de factores humanos sigue siendo una cuestin
altamente subjetiva.
40
Verifica lo siguiente:
PRUEBAS DE ESTILO
Se entienden como tales el formato de las ventanas, colores
corporativos, tipos de letra etc. Comprobar que la aplicacin sigue los
estndares de estilo propios del cliente
PRUEBAS DE MULTIPLES SITIOS
42
Pruebas Alfa
Se lleva a cabo, por un cliente, en el lugar de desarrollo. Se usa el
software de forma natural con el desarrollador como observador del
usuario y registrando los errores y problemas de uso. Las pruebas alfa se
llevan a cabo en un entorno controlado.
Las pruebas -alfa consisten en invitar al cliente a que pruebe el
sistema en el entorno de desarrollo. Se trabaja en un entorno controlado
y el cliente siempre tiene un experto a mano para ayudarle a usar el
sistema. El desarrollador va registrando los errores detectados y los
problemas de uso.
Pruebas Beta
A en el entorno del cliente. En este caso, el cliente se queda a solas con
el producto y trata de encontrarle fallos de los que informa al
desarrollador.
Se llevan a cabo por los usuarios finales del software en los lugares de
trabajo de los clientes. A diferencia de la prueba alfa, el desarrollador no
est presente normalmente. As, la prueba beta es una aplicacin en
vivo del software en un entorno que no puede ser controlado por el
desarrollador. El cliente registra todos los problemas que encuentra
durante la prueba beta e informa a intervalos regulares al desarrollador.
7. CONCLUSIONES
8. WEBGRAFIA.
https://jummp.wordpress.com/2011/05/21/testing-de-caja-blancawhite-box-testing/
http://many-how.com/articulos/computadoras/programacionordenadores/article-158.html
http://docsetools.com/articulos-educativos/article_11483.html
https://leonardosc.files.wordpress.com/.../
verificacion-y-validacionde-software..doc
http://juankenny.blogspot.com/2012/08/vvs-la-verificacion-yvalidacion-de.html
http://datateca.unad.edu.co/contenidos/301404/301404_ContenidoEn
Linea/leccin_43__prueba_de_integracin.html
http://ing-sw.blogspot.com/2005/04/tipos-de-pruebas-desoftware.html
http://es.slideshare.net/abnergerardo/pruebas-de-sistemas-yaceptacion-23663195
http://www.calidadysoftware.com/testing/pruebas_funcionales.php
http://www.novanebula.net/blog/archives/99-Unit-testing-pruebasunitarias.html
http://www.globetesting.com/2012/08/pruebas-de-caja-negra/
http://docsetools.com/articulos-educativos/article_11753.html
https://prezi.com/t1ucw_krvvqu/pruebas-no-funcionales/
http://www.globetesting.com/pruebas-de-rendimiento/
http://www.carlosfau.com.ar/nqi/nqifiles/QA4%20Pruebas%20del
%20Software%20Parte%20B.pdf
http://www.klpsolutions.com/pages/services/control_calidad_pruebas_entorno.htm
45
http://indalog.ual.es/mtorres/LP/
https://crowdsourcedtesting.com/es/faq-clients/article/metodologiapruebas-de-software
http://www.ecured.cu/index.php/Pruebas_de_software
https://pruebasdelsoftware.wordpress.com
http://es.slideshare.net/GuillermoLemus/tipos-de-pruebas-de-software
http://www.lsi.us.es/~javierj/cursos_ficheros/02.SR.pdf
http://www.tamps.cinvestav.mx/~ertello/swe/swTestingTecZacatecas.
pdf
http://materias.fi.uba.ar/7548/Pruebas-Intro.pdf
https://pruebasdelsoftware.wordpress.com/tag/metodologia-depruebas/
46