lunes, 12 de noviembre de 2012
martes, 6 de noviembre de 2012
martes, 23 de octubre de 2012
Evaluación de Pruebas
EVALUACIÓN DE PRUEBAS
- Debemos tomar en cuenta que cuando una prueba ya se realizó –ya se obtuvieron resultados– eso no implica que ya concluyó, el ciclo de vida de pruebas se concluye con la evaluación, en donde se especifica la comparación entre los resultados esperados y los obtenidos con la prueba determinando si ésta fue o no exitosa.
JMeter
- Los reportes generados con JMeter nos proporcionan información que podemos agrupar en tablas o cuadros comparativos o en un resumen respecto a lo que arrojaron las pruebas efectuadas, indicando cuál fue el objetivo.
Tipos de Resumenes
JMeter proporciona un resumen de los reportes que se generaron. Éstos pueden ser de tres tipo:
- Un resumen de las pruebas realizadas.
- Una estadística de cada llamada.
- Todos los componentes que se llamaron.
Mètricas
- Se debe tener métricas de calidad establecidas para calcular las cifras y hacer la comparación con los resultados arrojados por las pruebas elaboradas con la herramienta.
Pruebas Cliente-Servidor
Un aspecto
que debes de tomar en cuenta es que la arquitectura del software afecta el
rendimiento, la robustez y el mantenimiento del software a desarrollar
Retomando lo observado en Programación web,
recordemos que una arquitectura cliente-servidor es una manera de organizar el
sistema, en el cual se tiene, por un lado, un conjunto de servicios y
servidores; por otro lado, un conjunto de clientes que utilizan y acceden a los
servicios.
Los
componentes principales son el cliente, el servidor y la red de comunicación de
la arquitectura cliente- servidor.
Los clientes pueden conocer los nombres de los
servidores y los servicios asociados, en cambio para los servidores no es
indispensable conocer a los clientes. El protocolo a usar es http.
Las
pruebas se deben realizar al servidor, a la base de datos y a las
comunicaciones.
·
En el servidor se comprueban las funciones de coordinación y administración de datos,
así como su desempeño en cuanto a tiempo de respuesta y procesamiento completo
de datos.
·
En la base de datos se comprueban la exactitud e integridad de los mismos; se inspeccionan
las transacciones. También debemos cerciorarnos de que se guardan, modifica y
recuperan los datos
·
En las pruebas de comunicación de red hay que verificar la comunicación entre los
nodos, el paso de mensajes, transacciones y que el tráfico de la red se efectúe
sin errores. “Para las Comunicaciones, hay que incluir algunas cuestiones:
JMeter es
ApacheJakarta. Se puede usar para pruebas de carga; es una herramienta para
analizar y medir el funcionamiento de varios servicios. También se puede
emplear para las pruebas de unidad para JDBC, conexiones de la base de datos,
Ftp, LDAP, Webservices, JMS y conexiones genéricas del TCP.
Conclusión:
Las pruebas que se elaboran en cliente-servidor, son de gran
importancia, puesto que, forman parte del ciclo de vida del software y mediante
las distintas herramientas que se nos son proveídas por el protocolo HTTP;
tales como el JMeter y las herramientas de edición en XML –y cumpliendo con los
requisitos que las mismas demandan- , podemos detectar errores en nuestro
código para así proceder a corregirlos y posteriormente, asegurar la calidad de
nuestro software y como consecuencia de esto, asegurar la satisfacción del
cliente.
Manual de pruebas
Un manual es una guía para resolver dudas comunes. Nos
explica cómo realizar o desarrollar cierta actividad.
Deben ser elaborados por la misma empresa ya que
posteriormente se van requerir para la capacitación del personal o simplemente
para salir de alguna duda.
Nos va a permitir hacer ágil el desarrollo de nuestro
proyecto, pues tendremos una guía de cómo hacer las pruebas adecuadamente o
seguir un proceso paso a paso.
Apache JMeter es una herramienta de carga diseñada para realizar
Pruebas de Rendimiento y Pruebas Funcionales sobre Aplicaciones Web. Hoy en día
su arquitectura ha evolucionado, ahora no sólo puede llevar a cabo pruebas en
componentes típicos de Internet (HTTP), sino también puede realizar pruebas
sobre Bases de Datos, scripts Perl, servlets, objetos java, servidores FTP y
prácticamente cualquier medio de los que se pueden encontrar en la red.
La mejor forma de desarrollar un manual es llevar un orden
en su estructura por lo cual se requieren los siguientes puntos:
·
Nombre del manual
·
Logotipo de la empresa
·
Nombre de la empresa
·
ID del documento
·
Lugar y fecha de la elaboración
·
Número de revisión
·
Nombre de quien lo elaboró
·
Nombre de quien lo revisó y autorizó
·
Tabla de contenidos
·
Introducción
·
Objetivo
·
Desarrollo
·
Glosario de términos
·
Bibliografía
Conclusión:
El Plan de Pruebas es una parte fundamental en la fase de
pruebas con base a que está es una guía de lo que se debe hacer, asimismo el
diseño de un proceso para determinar los pasos a seguir para conseguir un
resultado determinado.
El manual siempre será indispensable en nuestra área de
trabajo ya que pueden surgir dudas que podremos aclarar con él. También nos
puede servir para capacitar al personal.
Error e Incidencia
Error: Forman
parte de los “Artefactos y entregables” para la automatización de pruebas. Un error es algo
equivocado o desacertado. Puede ser una acción, un concepto o una cosa que no
se realizó de manera correcta.
Tipos de errores:
- · De sintaxis (sintácticos).
- · De ejecución.
- · De lógica (lógicos).
Es el
proceso para encontrar y reducir los errores, en este proceso se lleva a cabo
la detección de las causas que provocan los errores a partir de los resultados
dados al aplicar las pruebas.
Cuando se detecta
un error es necesario realizar un archivo donde se deben registrar los datos
que sirven para evidenciar que las pruebas se han realizado adecuadamente y se
han detectado errores
Incidencia: El
primer objetivo de la gestión de incidentes es recuperar el nivel habitual de
funcionamiento del servicio y minimizar en todo lo posible el impacto negativo
en la organización de forma que la calidad del servicio y la disponibilidad se
mantengan.
El proceso habitual para encontrar incidentes es:
- · Detección y registro del incidente.
- · Clasificación y soporte inicial.
- · Investigación y diagnóstico.
- · Resolución y recuperación.
- · Cierre del incidente.
- · Monitorización, seguimiento y comunicación del incidente.
Conclusión:
Básicamente seria que el error es a causa de una falta
humana, entonces siempre existirán errores por el hecho de que los
programadores son humanos, entonces siempre existirán incidencias, que se
necesitaran registrar, para llevar a cabo el proceso de depuración que es el
cual le dará calidad al software.
Plan de Pruebas
Tema 1 Plan de pruebas
Un plan de
pruebas sirve para definir hasta dónde abarcará el proceso de calidad, cuáles
son los objetivos a cumplir, las personas y recursos con los que se debe
contar, las fechas de entrega y los responsables de cada fase del proceso; en
él se basa todo el equipo de pruebas.
También es
necesario determinar qué software se debe utilizar para realizar cada prueba e
indicar las herramientas a utilizar para cada una de ellas: se deben describir
en la sección “descripción de pruebas”.
·
Las
herramientas pueden ser:
·
El
diseño de casos de prueba.
·
Registro
y reporte de defectos (vistos en la unidad de aprendizaje Técnicas de
administración de calidad).
- · Check list.
- · Gráficas.
- · Métricas.
El
propósito del plan de pruebas es reunir la información necesaria para planear y
controlar el esfuerzo de pruebas al sistema. Describe el enfoque de las pruebas
de software, y es el plan de alto nivel generado y usado por los
administradores del proyecto para dirigir el esfuerzo de pruebas.
El documento
debe contener:
- · OBJETIVOS
- · PROPOSITO
- · ALCANCE
- · ABREVIACIONES, DEFINICIONES Y ACRÓNIMOS
- · REFERENCIAS
- · GENERALIDADES
Así se diseña el proceso de pruebas y estos son los tipos:
·
Prueba
Funcional: identifica que el sistema cumpla con los requerimientos definidos
·
Prueba
de Interfaz de Usuario: Verifica la interacción con el software, asegurando que
el usuario cuenta con el acceso y navegación adecuada para las funciones de la
aplicación.
·
Pruebas
de rendimiento: verifica el desempeño de
la aplicación para cumplir con los requerimientos establecidos
·
Pruebas
de carga: verifica la funcionalidad del sistema, en diferentes situaciones de
carga de trabajo esperada o más allá del límite.
·
Pruebas
de estrés: verifica la funcionalidad del sistema bajo condiciones de recursos
que no se presentan de manera normal.
·
Pruebas
de control de acceso y seguridad: Pruebas de niveles de acceso a la aplicación,
a fin de verificar que el nivel de acceso es adecuado para los datos o
funciones de negocio, según se requiera.
·
Pruebas
de falla y recuperación: Permiten asegurar que el sistema es capaz de
recuperarse ante una falla de software o hardware con la consecuente pérdida de
integridad en los datos.
·
Pruebas
de configuración: Verifican que la aplicación se comporta adecuadamente en
diferentes plataformas de hardware o software para las cuales fue realizada.
·
Pruebas
de Instalación: Verifica que la aplicación y sus actualizaciones sean
instaladas adecuadamente.
Conclusión:
Un guión
de pruebas no es más que la lista de los casos de prueba con los cuales vamos a
experimentar.
Los casos
de prueba dependerán del tipo de examen que apliquemos, pues cada prueba tiene
un objetivo distinto.
Ciclo de Pruebas
CICLO DE PRUEBAS
El ciclo de vida de la
automatización comienza en la etapa de diseño del modelo de desarrollo en
cascada del software, para plantear en principio los casos de prueba y
elaborarlos en la herramienta correspondiente, concluyendo en la etapa de
mantenimiento del software, de acuerdo a esta arquitectura, teniendo en
consideración los requerimientos con su respectiva gestión.
En cada desarrollo de software
tenemos un ciclo de pruebas y varios ciclos de vida de las pruebas, lo cual,
normalmente, está determinado por el modelo de desarrollo del software. En cada
uno de estos ciclos se tiene que
planear, diseñar, ejecutar las pruebas, obtener resultados y evaluar estos
resultados.
En el
ciclo de prueba manual no hay variantes en cuanto a sus procesos, y en un
proceso automatizado sí debido al uso de herramientas automatizadas podemos
tener distintas pantallas, incluso orden u omisión de algunos elementos porque
la herramienta así lo determina.
Requerimientos de Prueba
Los requerimientos de prueba del
software son todos los recursos que necesitamos para ejecutar una prueba. Para
ello establecemos un ambiente de pruebas, en el cual se considera: software,
hardware, configuración, personal y documentos.
Para una prueba es necesario
tenerlos requerimientos del sistema, sobre todo los funcionales que son
indispensables para diseñar los casos de prueba.
Administración
de Requerimientos
Para gestionar apropiadamente los
requerimientos es necesario controlar y da un seguimiento a las pruebas. Con
JMeter se pueden obtener distintos tipos de informes que de alguna manera nos
permiten administrar lo que se está llevando a cabo.
En los informes que configuremos
evaluaremos los resultados porque allí estarán reflejados, listos para ser
analizados.
Clientes de Prueba
Clientes De Prueba
El
cliente de prueba deja a los usuarios establecer parámetros de prueba ,
mandar la entrada al servicio y observar la respuesta que este
devuelve; provee un servicio de prueba sin dificultades cuando se mezcla
con el servidor que proporciona el trabajo que se requiere.
Prueba de carga
Esta es una de las pruebas que se puede realizar y donde podemos simular la petición de 50 usuarios al servidor, esto se lleva a cabo con una herramienta de software (JMeter)
Problemas que se pueden presentar
- Interfaz grafica de usuario.
- Entornos distintos atendiendo a las plataformas usadas.
- Procesamiento distribuido.
- Base de datos distribuida.
- Relaciones de rendimiento.
Otro
enfoque para la aplicación de pruebas a esta arquitectura es: probar
en paralelo, en el cliente de prueba y en el servidor de prueba, sin
ejecutar operaciones de red, probándose, de esta manera , la
arquitectura completa debes tener en cuenta los métodos que tienes
disponibles en los usuarios del paquete.
Errores más frecuentes de Interfaz
Abusos de interfaces |
Donde
existen parámetros de tipo erróneo, en orden
incorrecto o con numero de parámetros erróneos
|
|
Mal entendimiento de Interfaces |
El
comportamiento invocado no se comporta como se esperaba.
| |
Errores de tipo |
En
sistemas de tipo real en el que se usa memoria
compartida o una interfaz que pasa mensajes, la fuente de datos y el cliente de
datos operan a distintas velocidades
|
JMeter
puede simular peticiones de usuarios con parámetros únicos para cada uno, como por ejemplo, el
usuario y el pasword, los cuales son diferentes para cada usuario que inicia
una sesión en la aplicación a través de un navegador.
Para
que esto se lleva a cabo se debe crear
un archivo llamado users.xml, dentro de la carpeta “bin” de JMeter. Así pues, la herramienta tiene
elementos necesarios para llevar a cabo la simulación de peticiones, creando a
nuestros clientes
de prueba.
Servidor de pruebas
Uno
de los elementos necesarios en la arquitectura cliente-servidor, es el
servidor. Paran realizar las pruebas del lado del servidor necesitamos crear un
servidor de pruebas, el cual simulara el real.
La herramienta se llama WAMP, y nos crea y habilita un servidor de pruebas, otra es XAMPP.
La herramienta se llama WAMP, y nos crea y habilita un servidor de pruebas, otra es XAMPP.
Suscribirse a:
Entradas (Atom)