Más contenido relacionado La actualidad más candente (20) Similar a Ingeniería de pruebas en arquitectura cliente-servidor (20) Más de Mauro Parra-Miranda (20) Ingeniería de pruebas en arquitectura cliente-servidor1. Ingenieria de pruebas en
arquitecturas cliente-servidor
Daniel Herrera Salgado
Mauro Parra Miranda
ZLM QA
Novell Inc
3. Ciclo de vida del software
Análisis
Diseño
Codificación
Pruebas
© Julio 2004 Novell Inc.
3
4. Ciclo de vida del software
Análisis
Diseño
Codificación
Pruebas
© Julio 2004 Novell Inc.
4
7. Métodos de pruebas
•Creación y gestión de jaulas automática.
•Servidores de procedimientos remotos para lanzar
comandos a máquinas y jaulas en la misma red, incluso
simultáneamente.
•Programas que despliegan archivos de instalación, a
partir del estado en cierta fecha de los repositorios de
código fuente.
•Pruebas automatizadas que ejecutan comandos y
guardan los resultados en bitácoras para su posterior
análisis.
© Julio 2004 Novell Inc.
7
8. Ventajas de las jaulas
•Disponer de máquinas caprichosamente es costoso.
•Linux, al ser una plataforma abierta, es muy extensible
y configurable.
•Linux permite simular múltiples sistemas completos
dentro de una misma máquina, a los cuales les llamamos
jaulas.
•Una sola máquina puede hospedar cientos de jaulas,
siendo cada jaula usada como un cliente del servidor.
© Julio 2004 Novell Inc.
8
11. Seguimiento de bugs
Cuando un bug aparece, normalmente es reportado
por los usuarios.
Para hacer mas fácil la comunicación se utiliza una
aplicación de web llamada bugzilla.
Básicamente, el hacker lee el nuevo bug, lo reproduce
y luego lo resuelve, notificando al usuario o QA que lo
reportó para que lo vuelva a probar en la última versión
del software.
© Julio 2004 Novell Inc.
11
12. Pruebas de funcionalidad
Se realizan pruebas exahustivas sobre el sistema, para
detectar errores o comportamientos anómalos.
Se han desarrollado programas que automatizan una
gran cantidad de estas pruebas, si el programa detecta
un error, se reporta al ingeniero de QA, para que este
les dedique especial atención.
En el caso de interfaces de usuario como la aplicación
web, se realizan pruebas manuales para asegurar su
correcto funcionamiento.
© Julio 2004 Novell Inc.
12
14. Plan de Pruebas
Escrito en que paso a paso se precisan los detalles para
realizar las pruebas.
Diseñados a partir de las especificaciones, de las
lecciones aprendidas y buenas prácticas.
Son diseñados por el equipo de QA y los desarrolladores
en etapas tempranas del ciclo de vida del software.
© Julio 2004 Novell Inc.
14
15. Objetivos
•Asegurar el correcto proceso de prueba.
•Normalizar las pruebas.
•Garantizar la calidad del producto.
© Julio 2004 Novell Inc.
15
16. Revision de los planes de prueba
Los planes de pruebas son revisados continuamente
para que las pruebas incluídas sigan siendo útiles y
confiables, es decir, que cumplan con el objetivo de
garantizar la calidad del producto final para los
usuarios.
© Julio 2004 Novell Inc.
16
18. ¿Que es una jaula?
● Una maquina virtual a la mano, sin
software extra.
● Un sistema *nix completo, incluyendo
privilegios, que no afectara el sistema
base.
●
Varios sistemas corriendo en la misma
maquina, compartiendo recursos.
© Julio 2004 Novell Inc.
18
19. Creando el tarball
● Instalar un sistema base
● Instalar el sistema objetivo en una de las
particiones del sistema.
● Reiniciar con el sistema base
● Montar la particion que contiene el sistema
objetivo.
● Hacer el tarball del sistema.
© Julio 2004 Novell Inc.
19
21. Uso de jaulas
• Pueden correr tantas jaulas como se deseen
en una misma maquina, dado que basta con
hacer desempaquetarlas y entrar en ellas
usando chroot.
•Dependiendo el software que se este
ejecutando, se requieren cambios en
configuraciones de red.
•Una de las mejores formas de comunicacion
entre las jaulas es el uso de llamadas a
procesos remotos sobre xml (xml-rpc)
© Julio 2004 Novell Inc.
21
22. Uso de jaulas
xml-rpc
Sistema base
© Julio 2004 Novell Inc.
22
23. Uso de jaulas
No solo podemos usar varias jaulas en la
misma maquina, podemos hacer una granja
que corran jaulas. Se comunicaran de la
misma forma.
xml-rpc
© Julio 2004 Novell Inc.
23
24. Slaves
Podemos correr jaulas como si fueran
sistemas base. Para hacerlo, necesitamos:
•Copiar el tarball a una particion vacia
•Desempaquetar el tarball en esa particion.
•Configurar grub para que arranque desde la
particion con la jaula.
•Reiniciar la maquina.
© Julio 2004 Novell Inc.
24
25. Automatizacion de pruebas
Ya que tenemos varias jaulas, es posible
hacer pruebas automatizadas sobre ellas.
•Ejecutar un demonio en cada jaula que
ejecute pruebas predefinidas.
•Hacer pruebas rapidas con scripts en bash,
viendo la salida de cada uno.
Usualmente los casos de pruebas son
expresados en xml y un demonio los ejecuta y
reporta.
© Julio 2004 Novell Inc.
25
27. Conclusiones
•Podemos probar software sobre varias
distribuciones de linux
•No necesitamos una gran inversion para
tener todo un laboratorio de pruebas.
•Los tarballs solamente se tienen que crear
una ocasion.
•Se pueden hacer pruebas de estres
automatizadas.
•Se minimiza el tiempo perdido por
reinstalacion.
© Julio 2004 Novell Inc.
27
29. Recursos
•Juega con Novell Linux Desktop:
http://www.novell.com/linux/download_linux.html
•xml rpc
http://www.xmlrpc.com/
•Corriendo bind en un jail
http://sxs.thexdershome.com/internet_serving/bind9_chroot.html
•man chroot
© Julio 2004 Novell Inc.
29
31. General Disclaimer
This document is not to be construed as a promise by any participating company to
develop, deliver, or market a product. Novell, Inc., makes no representations or
warranties with respect to the contents of this document, and specifically disclaims any
express or implied warranties of merchantability or fitness for any particular purpose.
Further, Novell, Inc., reserves the right to revise this document and to make changes to
its content, at any time, without obligation to notify any person or entity of such revisions
or changes. All Novell marks referenced in this presentation are trademarks or registered
trademarks of Novell, Inc. in the United States and other countries. All third-party
trademarks are the property of their respective owners.
No part of this work may be practiced, performed, copied, distributed, revised, modified,
translated, abridged, condensed, expanded, collected, or adapted without the prior
written consent of Novell, Inc. Any use or exploitation of this work without authorization
could subject the perpetrator to criminal and civil liability.