Você está na página 1de 14

CALIDAD DE SOFTWARE - TRABAJO GRUPAL

Alumnos: Mauricio Figueroa / Luis Gatica / Luis Guzmn Universidad Tcnica Federico Santa Mara MTI-2013 04 de mayo de 2013

Calidad de Software

MTI-2013

Pgina 1

Parte I (65 pts.)


Considere las siguientes especificaciones y utilice la estrategia caja negra (es decir, clases de equivalencia; valores frontera; adivinanza de errores) para derivar un conjunto apropiado de casos de prueba. Indique cualquier supuesto que haga. 1. Suponga que queremos probar un sistema de monitoreo del nivel del agua de una represa que le informa a una agencia involucrada en control de inundaciones. La definicin de requerimientos para una de las funciones del sistema dice lo siguiente: el sistema enva un mensaje al operador de la represa respecto a la seguridad del nivel del lago. A esta definicin de requerimiento le corresponde el siguiente diseo: Input: la sintaxis de la funcin es NIVEL(A,B), donde es A es la altura en metros del agua tras la represa, y B es el nmero de centmetros de lluvia de las ltimas 24 horas. Procesamiento: la funcin calcula si el nivel del agua est dentro de un rango seguro, o es muy bajo, o es muy alto. Output: La pantalla muestra uno de los siguientes mensajes: NIVEL = SEGURO cuando el resultado es seguro o bajo NIVEL = ALTO cuando el resultado es alto SINTAXIS INVLIDA dependiendo del resultado del clculo. 2. Al sistema se ingresan ciudades de origen y destino y fecha de viaje (suponga que el sistema ya cuenta con tablas de informacin indicando vuelos y asientos disponibles). Si no hay vuelo se imprime el mensaje 1 no hay vuelo; si hay vuelo pero no hay asi entos se despliega el mensaje 2 copado; si hay vuelo con asientos disponibles se despliega la informacin del vuelo. Si las ciudades o fecha que se ingresa no es correcta se indica un mensaje de error.

3. Un usuario puede conectarse al banco por Internet y realizar una serie de operaciones bancarias. Una vez accedido al banco con las consiguientes medidas de seguridad (clave de acceso y dems), se requiere la siguiente entrada: Cdigo del banco. En blanco o nmero de tres dgitos. En este ltimo caso, el primero de los nmeros tiene que ser mayor que 1. Cdigo de sucursal. Un nmero de cuatro dgitos. El primero de ellos mayor de 0 Nmero de cuenta. Nmero de cinco dgitos Clave personal. Valor alfanumrico de cinco posiciones. Este valor se introducir segn la orden que se desee realizar Orden. Puede estar en blanco o ser una de las dos cadenas siguientes: Talonario Calidad de Software MTI-2013 Pgina 2

Movimientos En el primer caso el usuario recibir un talonario de cheques, mientras que en el segundo recibir los movimientos del mes en curso. Si este cdigo est en blanco, el usuario recibir los dos documentos.

Parte II (35 pts.)


Investigue sobre Web Testing y describa en no ms de 3 pginas conceptos fundamentales, estado del arte y de la prctica, herramientas disponibles, y principales desafos futuros desde la perspectiva de aseguramiento de calidad de software.

Calidad de Software

MTI-2013

Pgina 3

Desarrollo Parte I
Ejercicio 1

Supuestos: Mxima altura de agua tras la represa en metros = 100


Mnima altura de agua tras la represa en metros = 0 Mximo nmero de centmetros de agua lluvia cados = 500 Mnimo nmero de centmetros de agua lluvia cados = 0 Funcin, suma la altura del agua con el agua lluvia cada. Nivel Seguro = <= 300 >=100 Nivel Muy bajo= <100 >=0 Nivel muy alto= >301 <=600 CLASES de equivalencia:
Condicin de entrada TIPO Clase de equivalencia vlida 0 hasta 100 metros Clase de equivalencia no vlida Valor no numrico Valor negativo Valor mayor a 100 B Rango 0 hasta 500 centmetros Valor no numrico Valor negativo Valor mayor a 500 Seguro Rango 100 hasta 300 Valor no numrico Valor negativo Valor menor a 100 Valor mayor a 300 Muy Bajo Rango 0 hasta 99 Valor no numrico Valor negativo

Rango

Calidad de Software

MTI-2013

Pgina 4

Valor mayor a 99 Muy Alto Rango 301 hasta 600 Valor no numrico Valor negativo Valor menor a 301 Valor mayor a 600 Nivel Seguro Valor Seguro o Muy Bajo Valor numrico Valor que no sea Seguro o muy bajo Nivel Alto Valor Muy Alto Valor numrico Valor que no sea muy alto

Prueba de valores frontera Anlisis de valor frontera Los errores generados por los programadores tienden a agruparse alrededor de las fronteras. Por ejemplo, si un programa debera aceptar una secuencia de nmeros entre 1 y 10, el error ms probable ser que los valores justo fuera del rango sean aceptados de forma incorrecta o que los valores justo en los lmites del rango sean rechazados. El anlisis del valor frontera est basado en probar los valores frontera de las particiones. Al hacer comprobaciones de rango, probablemente se est usando de forma inconsciente el anlisis del valor frontera. En esta tcnica, tambin, se cuenta con fronteras vlidas (en las particiones vlidas) y fronteras no vlidas (en las particiones no vlidas).
Clase A B Seguro Muy bajo Valores frontera 0-100 1-101 0-500 1-501 100-300 101-301 0-100 1-101

Calidad de Software

MTI-2013

Pgina 5

Muy alto

301-600-302-601

Adivinanza de errores Enfoque ad hoc basado en intuicin y experiencia, para identificar pruebas que probablemente expondrn defectos Idea bsica: lista de defectos posibles o situaciones propensas a error, desarrollo de pruebas basadas en la lista Historias de los defectos pueden ser muy tiles

Clase A B

Adivinanza de error Negativo, nulo, Letras, decimales Negativo, nulo, Letras, decimales

Casos de prueba: Se escriben los casos de prueba tal que cubran la mayor cantidad de clases de Equivalencia vlidas. (Podra escribirse slo uno que cubriera todo todas las cev.) Se escribe un caso de prueba por cada clase de equivalencia invlido
N Caso Clase de equivalencia Altura (A) 1 2 3 4 5 6 0 100 99 Blanco 100 101 Lluvia cada 24 hrs (B) 0 200 400 200 Blanco 200 Nivel Seguro Nivel Bajo Nivel alto Resultado

X X X

Nivel seguro Nivel seguro Nivel alto Sintaxis invlida Sintaxis invlida Sintaxis

Calidad de Software

MTI-2013

Pgina 6

7 8 9 10 11 12

100 -100 80 &/ 20 30,5

501 400 -200 100 Hola 100,40 X

invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Nivel seguro

Ejercicio 2

Condicin de Entrada

Tipo

Clase Equivalencia Vlida

Clase Equivalencia No Vlida

Ciudad / Aeropuerto de origen

Valor

01: Ciudad / Aeropuerto validos como origen. 02: Asientos Disponibles (A320-A319 - B737)

03: En blanco 04: Ciudad / Aeropuerto origen igual a la ciudad de destino. 05: Ciudad / Aeropuerto no consideradas validas como origen. 07: En blanco 08: Ciudad / Aeropuerto de destino igual a la ciudad de origen. 9: Ciudad / Aeropuerto de destino no validas como destino. 11: En blanco 12: Formato fecha no valida 13: Fecha de vuelo no valida. 14: fecha fuera de programa.

Ciudad / Aeropuerto destino

Valor

06: Ciudad / Aeropuerto validos como destino.

Fecha de salidas de vuelos

Valor

10: Fecha validas considerando fechas especiales.

Calidad de Software

MTI-2013

Pgina 7

Casos de prueba de ciudades o fecha que se ingresa no sean correctas, rutas vlidas y disponibilidad de asientos, donde se indica un mensaje para cada caso. Ciudades disponibles Antofagasta Concepcin La Serena Pueto Montt Punta Arenas Santigo Valdivia

Caso

1 2

Clase de Equivalenci a 01;06;13 04;08

Ciudad Origen

Asientos

Aeropuerto

Ciudad Destino Concepcin Punta Arenas Valdivia La Serena "" Punta Arenas Punta Arenas Santiago Concepcin Santiago Pueto Montt Santiago Temuco Santiago

Aeropuerto

Fecha

Mensaje

Santiago Punta Arenas

Arturo Merino Bentez Carlos Ibaez

Carrier sur Carlos Ibaez

29-02-2013 01-09-2013

Fecha no valida La Ciudad de Origen y destino iguales Fecha en Blanco Fecha de formato no valido Ciudad destino incorrecto Ciudad de origen no corresponde 2 Copado Informacin del vuelo Informacin del vuelo 2 Copado 2 Copado Informacin del vuelo No hay vuelos ruta no existe No hay vuelos programados

4 5 6 7 8 9 10 11 12 13 14 15

01;06;11 01,06,12 01;07;10 03;06;10 02;06;10 01;06;10 01;06;10 02;06;10 02;06;10 01;06;10 05;09 01;06;10;14

Santiago La Serena Santiago "" Santiago Punta Arenas Santiago Concepcin Santiago Pueto Montt Santiago Pueto Montt

Copado Disponible Disponible Copado Copado Disponible Disponible

Arturo Merino Bentez La Florida Arturo Merino Bentez

Pinchay La Florida

"" 06-31-2012 23-07-2013

Carlos Ibaez Carlos Ibaez Arturo Merino Bentez Carrier sur Arturo Merino Bentez El Tepual Arturo Merino Bentez Maquehue Arturo Merino Bentez

15-08-2013 20-07-2013 21-07-2013 22-07-2013 23-07-2013 24-07-2013 25-07-2013 20-06-2016

Arturo Merino Bentez Carlos Ibaez Arturo Merino Bentez Carrier sur Arturo Merino Bentez El Tepual Arturo Merino Bentez El Tepual

Anlisis de valor frontera


Clase Valores frontera

Calidad de Software

MTI-2013

Pgina 8

Capacidad de asientos Fechas programada

A737 120 aisentos; B319 156 asientos B320 -168 asientos Mximo 12 meses

Adivinanza de errores
Clase

Ciudad origen destino Ciudades dentro de la rutas Formato Fechas Fecha especiales

Adivinanza de error No deben ser iguales Vuelos en ciudades de los viajes ofrecidos

Formato dd/mm/aaaa Aos bisiestos

Ejercicio 3 Para este ejercicio se han definido las siguientes clases de equivalencia, cada clase ha sido numerada para facilitar despus la realizacin de los casos de prueba.
Condicin de Entrada Tipo Clase Equivalencia Vlida Clase Equivalencia No Vlida

Cdigo banco

Cdigo sucursal N Cuenta

Lgica (puede estar o no) Si est, es Rango Rango Valor

1: En blanco 2: 100<= Cdigo banco <= 999 6: 1000 <= Cdigo sucursal <=9999 9: Cualquier nmero de cinco dgitos

Clave

Valor

Orden

Conjunto, con comportamiento distinto

12: Cualquier cadena de caracteres alfanumricos de 5 posiciones 15: 16: Talonario 17: Movimientos

3: Un valor no numrico 4: Cdigo banco < 100 5: Cdigo banco > 999 7: Cdigo sucursal < 1000 8: Cdigo sucursal >= 9999 10: Nmero de menos de cinco dgitos 11: Nmero de menos de cuatro dgitos. 13: Cadena de menos de cinco posiciones 14: Cadena de ms de cinco posiciones 18: Cadena distinto blanco y de las vlidas 19: Talonarios 20: Movimiento

Para generar los casos de prueba, consideremos la tcnica de Anlisis de Valores Lmite. Esta tcnica conduce a que para determinadas clases de equivalencia se genere ms de un caso de Calidad de Software MTI-2013 Pgina 9

prueba. Este es el caso por ejemplo, de la clases de equivalencia 2 y 6 que representan un rango de valores y para los que la tcnica de Anlisis de Valores Lmite indica que se generen dos casos de prueba con el lmite inferior y el superior del rango respectivamente (para identificar estos casos de prueba se ha aadido el sufijo a y b a las clases de equivalencia correspondientes). Los casos de prueba resultantes se muestran a continuacin:
N Caso Clase de equivalencia Banco Sucursal Cuenta Clave Orden Resultado

1, 6a, 9a, 2a, 15 2a, 6b, 9b, 12b, 16 2b, 6, 9, 12, 17 3, 6, 9, 12, 15 4, 6, 9, 12, 15 5, 6, 9, 12, 15 1, 7, 9, 12, 15 1, 8, 9, 12, 16 1, 6, 10, 12, 16 1, 6, 11, 12, 16 1, 6, 9, 13, 16 1, 6, 9, 14, 16 1, 6, 9, 12, 18 1, 6, 9, 12, 19 1, 6, 9, 12, 20

1000

00000

00000

2 3

100 999

9999 1001

99999 12345

zzzzz Hyu56

Todos los movimientos y talonarios. Talonario Envo de talonario. Movimientos Envo de movimientos Talonario Talonario Talonario Talonario Talonario 988 Talonarios Movimiento Cdigo banco errneo Cdigo banco errneo Cdigo banco errneo Cdigo sucursal errneo Cdigo sucursal errneo Nmero cuenta errneo Nmero cuenta errneo Clave errnea Clave errnea Orden errnea Orden errnea Orden errnea

4 5 6 7 8 9 10 11 12 13 14 15

30A 99 1000 -

1989 1989 1989 999 10000 2345 7863 6754 9998 8765 7654 8769

12347 12347 12347 12347 12345 9999

Kuh98 Kuh98 Kuh98 Kuh98 Hyu56 Jkgy5

100000 Jut8 89765 89765 89765 89765 89765 Jut890 hy78 Ghy78 Ghy78 Ghy78

Calidad de Software

MTI-2013

Pgina 10

Desarrollo Parte II
Web Testing Para contextualizar debemos indicar que en estos momentos hay miles de sitios web en marcha y en desarrollo todos los aos, por lo cual resulta interesante clasificar en alguna estructura que permite determinar que pruebas son aplicables. Thomas A. Powell, 1988, propuso la siguiente clasificacin basada en el tipo de interaccin usuario-sistema ([RYD00]): 1. Sitios Web Estticos: Corresponde al tipo ms simple de sitio web, esto es, un documento HTML sin dinamismo donde la nica opcin de pgina es efectuando clicks. 2. Sitios Web Estticos con Formularios: Formularios son utilizados para recopilar informacin del usuario, por ende, est orientado a mecanismos de recoleccin de informacin. 3. Sitios Web con Acceso Dinmico de Datos: Se utiliza el sitio web simplemente como un front-end de datos, los cuales estn almacenados en un repositorio externo. Los resultados son archivos HTML generados por algn motor especfico. 4. Sitio Web Dinmicamente Generado: La interfaz grfica, y cada una de las pginas retornadas por el servidor son generadas dinmicamente. Esto es, no se retorna un archivo sino que un simple flujo de cdigo interpretable por el navegador. 5. Aplicaciones de Software Web: Conjunto de funcionalidad y componentes que utilizan ambientes web (mediante mtodos estndar) como medio de difusin.

Estos sitios o aplicaciones web deben evitar un mal funcionamiento, por lo cual existen algunas medidas de calidad que deben ser usadas con el fin de entregar un experiencia satisfactoria a los usuarios: 1. Puntualidad - pginas web tienen que ser actualizadas constantemente. Cundo fue la ltima vez de actualizacin? Cun consistente es la noticia o informacin de hoy en da? 2. Calidad estructural - Todas las partes de la web tienen que estar funcionando bien. Son todos los enlaces (dentro o fuera) de trabajo? Se estn cargando todas las imgenes? 3. Contenido - Esto no chequeando solo demuestra despreocupacin en la coherencia de los contenidos con todas las otras pginas, o bien con la solicitud del usuario, especialmente con las pginas web dinmicas. El contenido de las pginas crticos coincidir con lo que se supone que es all? Calidad de Software MTI-2013 Pgina 11

4. La precisin y la consistencia - Las pginas es coherente con lo que el usuario solicito? Cun consistente es la pgina web con la pgina web de ayer? 5. Tiempo de respuesta y latencia - Esto es lo ms esencial ya que el tiempo de respuesta del servidor debe ser rpido despus de hacer clic en Enviar. El Servidor web responde a una peticin del navegador dentro de ciertos resultados parmetros? Hay partes de un sitio que son tan lentos los interrumpe usuario trabajo? 6. Performance - Se trata de rendimiento de carga o uso. La pgina web carga en menos de ocho segundos? Puede su sistema de manejar 10.000 transacciones por minuto?

Como se puede apreciar, crear un sitio o aplicacin web no termina al finalizar el desarrollo y puesta en produccin, este debe ser probado y revisado, para asegurar la calidad antes de enviarlo a la World Wide Web y evitar problemas derivados de la incompatibilidad por el uso de mltiples navegadores, tiempo de descarga de los grficos, componentes de Flash, o medios de transmisin, requisitos de hardware, requisitos de tamao de la memoria, velocidad de conexin del usuario, la carga por el nmero de usuarios, vnculos rotos, faltas de grficos, comandos mal escritos, etc., lo cual busca como objetivo revisar todos los aspectos que aseguren al usuario la mejor experiencia posible y evitar todo defecto que pueda crear una mala impresin, obteniendo como resultado que el usuario no visite o ingrese nunca ms. Debido a lo anterior Web testing es el nombre para las pruebas de software de aplicaciones o sitios web, y que de forma automatizada abordan de forma completa aspectos como Seguridad, Funcionalidades Bsicas, Accesibilidad (Usuarios capacitados y discapacitados), Cantidad de Usuarios, Aumento Masivo de Usuarios, Optimizacin, Repercusin Social, otros., que permitan comprobar la verdadera calidad del sitio o aplicacin web. De acuerdo a lo investigado el proceso de testing debe tener en consideracin ciertos aspectos como: 1. Reunir el equipo de testing. 2. Preparar documentacin que incluya: requerimientos que fueron aceptados por el cliente y el equipo de testing, el completo diseo funcional y especificaciones internas del diseo. 3. Creacin de un plan de proyecto, con la identificacin de los aspectos de alto riesgo. 4. Diseo del mbito del testing, en el cual se determina los tiempos para cada fase as como una priorizacin de los elementos a ser probados. 5. Verificar el ambiente de testing: hardware y software. 6. Crear test scripts. 7. Desarrollar un mtodo para el seguimiento de un problema. 8. Decidir el nmero de iteraciones a realizar. Calidad de Software MTI-2013 Pgina 12

9. Establecimiento de requerimientos de negocio, que ayudarn a entender la funcionalidad de la aplicacin Web.

Este tipo de testing se realiza se desarrolla en forma paralela al ciclo de desarrollo, ya que en cada una de las etapas se debe realizar alguna prueba, como lo muestra la siguiente tabla:

Para apoyar las pruebas de aplicaciones y sitios web existen herramientas de rendimiento de las aplicaciones web (WAPT) que se utiliza para probar aspectos de funcionamiento, carga sitio web, carga servidores web y otros interfaces web, simulando usuarios virtuales y el nmero de iteraciones que estos tendrn que repetir, de esta manera la herramienta es til para comprobar si hay fugas de cuello de botella y rendimiento, por lo que deben ser capaces de llevar a cabo pruebas de: Deteccin Errores de programacin. Pruebas de Rendimiento. Pruebas funcionales. Calidad de Software MTI-2013 Pgina 13

Compatibilidad del navegador. Compatibilidad del sistema operativo. Compatibilidad de aplicaciones de Windows en caso necesario. Etc.

Algunas de estas herramientas son: Cdigo Abierto: Apache JMeter: programa Java para pruebas de carga y medicin del desempeo. Curl-loader: Poderosa herramienta para pruebas de carga en diferentes escenarios. Selenio: Conjunto de herramientas para la automatizacin de los navegadores web. Disponible en varios idiomas. Watir: Automatizacin de Pruebas Web en Ruby para la automatizacin de los navegadores web. Basados en Windows: HP LoadRunner: Rendimiento automatizada y pruebas de carga fromHP software. HP Quick Test Professional: Software automatizado para pruebas funcionales y regresin. IBM Rational Functional Tester NeoLoad: Herramienta de pruebas de rendimiento de Neotys. Ranorex: Software de pruebas funcionales automatizado de Ranorex. Silk Performer: Herramienta de pruebas de rendimiento de Borland. SilkTest: Herramienta de automatizacin para probar la funcionalidad de las aplicaciones empresariales. TestComplete: Herramienta de prueba automatizada, desarrollada por SmartBear Software y que posee muchos tipos de pruebas, como por ejemplo: Unitarias, Funcionales, Keyword-Driven, Caja Blanca, Data-Driven, Regresin, Distribucin, Paralelo, Cobertura, Funcionales, Sistemas Operativos y Carga. Testing Anywhere: Herramienta de prueba de automatizacin de todo tipo de pruebas de Automation Anywhere. TOSCA Testsuite: Herramienta de software para la realizacin de pruebas de software funcionales y de regresin. Basadas en la Nube: Blitz: Herramienta para pruebas de carga y rendimiento de sitios web, aplicaciones web, mviles y APIs REST. Calidad de Software MTI-2013 Pgina 14

Você também pode gostar