Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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.
Calidad de Software
MTI-2013
Pgina 3
Desarrollo Parte I
Ejercicio 1
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
invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Sintaxis invlida Nivel seguro
Ejercicio 2
Condicin de Entrada
Tipo
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.
Valor
Valor
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
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
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
Pinchay La Florida
Carlos Ibaez Carlos Ibaez Arturo Merino Bentez Carrier sur Arturo Merino Bentez El Tepual Arturo Merino Bentez Maquehue Arturo Merino Bentez
Arturo Merino Bentez Carlos Ibaez Arturo Merino Bentez Carrier sur Arturo Merino Bentez El Tepual Arturo Merino Bentez El Tepual
Calidad de Software
MTI-2013
Pgina 8
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
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
1: En blanco 2: 100<= Cdigo banco <= 999 6: 1000 <= Cdigo sucursal <=9999 9: Cualquier nmero de cinco dgitos
Clave
Valor
Orden
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
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
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