jueves, 5 de febrero de 2015

Pruebas de integración y de Sistema




Pruebas de Integración.

La prueba de integración es una técnica sistemática para construir la estructura del programa mientras al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interacción. El objetivo es tomar los módulos probados en unidad y estructurar un programa que esté de acuerdo con el que dicta el diseño. La integración puede ser descendente si se integran los módulos desde el control o programa principal, o bien, ascendente, si la verificación del diseño empieza desde los módulos más bajos y de allí al principal. La selección de una estrategia de integración depende de las características depende de las características del software y, a veces, del plan del proyecto, en algunos de los casos se puede combinar ambas estrategias.
Diseñadas para probar la interacción entre los distintos componentes de un sistema.
Tipos de errores:
·         Errores de programación entre componentes.
·         Errores de interoperabilidad.
Estrategias de pruebas:
·         Pruebas no incrementales (“Big Band Approach”):
Se integran todos los componentes y entices se prueba el Sistema como un todo. No es una técnica recomendada pues dificulta el aislamiento de errores.
·         Pruebas incrementales:
El programa es construido y probado en pequeños incrementos. Facilita el aislamiento de errores y las pruebas sistemáticas.
o    Integración descendente (Top-down).
§  En profundidad (Depth-first).
§  En anchura (Breadth-first).
o    Integración ascendente (Bottom-up).
Integración descendente.
·         Permite verificar los puntos de control o decisión al principio del proceso de prueba.
·         La integración en profundidad permite probar funcionalidades completas lo cual aumenta la confianza.
·         Puede requerir el uso de muchos stubs.
La integración se realiza partiendo del programa principal y moviéndolos hacia abajo por la jerarquía de control.
Integración descendente en profundidad.
La integración se realiza por ramas. Cada rama suele implementar una funcionalidad específica.
Integración descendente en anchura.
La integración se realiza por niveles moviéndose en horizontal por la estructura de control.
Integración ascendente.
·         Se elimina la necesidad de usar stubs.
·         Es necesario el uso de controladores de prueba (“drivers”) a fin de coordinar la entrada y salida de casos de prueba.
La integración se realiza partiendo de módulos atómicos situados en los nodos finales de la jerarquía de control. No suele necesitar el uso de stubs.

Pruebas de Sistema.

Diseñadas para probar el sistema en su totalidad como si de una caja negra se tratase.
Un clásico problema de la prueba del sistema es la delegación de culpabilidad. Esto ocurre cuando se descubre un error t cada uno de los creadores de cada elemento del sistema echa la culpa del problema a otros, para evitar esto se debe prever y tomar medidas correctivas tomando en cuenta lo siguiente:
  • Diseñar caminos de manejo de errores que prueben toda la información procedente de otros elementos del sistema.
  • Lleva a cabo una serie de pruebas que simulan la presencia de datos en mal estado o de otros posibles errores en la interfaz del software.
  • Registrar los resultados de las pruebas como “evidencias” en el caso de señalamientos informales.
  • Participar en la planificación y diseño de las pruebas del sistema para asegurarse de que el software es probado en forma adecuada.

La prueba del sistema se basa en otras técnicas de pruebas, aunque la finalidad de cada prueba es distinta, sirven para verificar que se hayan integrado correctamente cada uno de los elementos del sistema:
  1. Prueba de Recuperación: es una prueba que se hace al sistema forzando a que produzca fallas de software de muchas maneras y verificando que la recuperación se lleve a cabo, ya sea automáticamente o manual, tomando en cuenta los recursos que se requieran para efectuar la recuperación.
  2. Prueba de Seguridad: intenta verificar la aplicación de los mecanismos de protección incorporados en el sistema. Durante la prueba el encargado desempeña el papel de intruso tratando de violar la seguridad del sistema, intentando obtener las claves de acceso por cualquier medio externo; debe bloquear el sistema negando así el servicio a otras personas además de producir errores a propósito en el sistema o debe curiosear los datos públicos intentando encontrar una clave de acceso al sistema.
  3. Prueba de Resistencia: está diseñada para enfrentar a los problemas en situaciones anormales, es decir ejecutar el sistema en forma que demande recursos en cantidad, frecuencia o volúmenes anormales. El encargado de la prueba debe intentar tirar el sistema. Para lograr esto se puede tomar en consideración lo siguiente:

  •  Diseñar pruebas especiales que generen 10 o más interrupciones por segundo.
  • Incrementar la frecuencia de datos de entrada en un orden de magnitud con el fin de comprobar cómo responden las funciones de entrada.
  • Ejecutar casos de prueba que requieran al máximo de memoria o de espacio en disco.
  • Diseñar casos de prueba que produzcan excesivas búsquedas de datos almacenados en el disco.


jueves, 15 de enero de 2015

Diagrama de Nodos


Diagrama

Posibles Rutas

p1
p2-p7
p2-p7-p9
p3-p7
p3-p7-p9
p4-p5-p8-p9
p4-p5-p8...
p4-p6-p8-p9
p4-p6-p8...

Pruebas de Caja Negra & Blanca

Pruebas de Caja Negra: Realiza pruebas que comprueben que todas las funciones son operativas. (Externo). Demuestran que las funciones del software son operativas, que la entrada es aceptada y la salida es correcta, y la integridad de la información se mantiene. (Interfaz).
Intentan encontrar errores de Funciones incorrectas o ausentes, Errores en Interfaz, en Estructuras de Datos o Accesos a Bases de Datos, Rendimiento, Inicialización y Terminación.

Prueba de Partición Equivalente
Divide el dominio de entrada de un programa en clases de datos, y de estas se derivan los casos de prueba. Cada clase de equivalencia representa un conjunto de estados válidos o inválidos para las condiciones de entrada.

Prueba de Análisis de Valores Límites
Conduce a que para determinadas clases de equivalencia se genere más de un caso de prueba.

Pruebas de Caja Blanca: Realiza pruebas que comprueben que las operaciones internas son correctas y sean de acuerdo a las especificaciones. (Interno). En estas pruebas se comprueban que los detalles del programa sean correctos, es decir que los procedimientos sean los que corresponden.
·         Se ejecutan por lo menos una vez en cada camino de cada módulo.
·         Se utilizan todas las estructuras de datos internas.

Prueba del Camino Básico
Propuesto por McCabe, con este se obtiene una medida de la complejidad de un diseño procedimental, diseña casos de prueba que garanticen que todos los caminos se ejecuten por lo menos una vez.

Prueba de Bucles
Técnica de prueba de caja blanca que se enfoca en la validez de las construcciones de los bucles.
Hay cuatro tipos de bucles:
-Simples
-Concatenados
-Anidados
-No Estructurados

Referencias:

domingo, 31 de agosto de 2014

Tarea 2

CALIDAD

Se refiere a que un producto, servicio, etcétera, cumpla con las características que menciona y satisfaga y se sustenta en su habilidad las necesidades del cliente, existe calidad cuando las necesidades son cubiertas. También podemos mencionar que la calidad es un sinónimo de mejora continua.

ISO 9126

Establece un estándar internacional para la evaluación de la calidad de productos de software. Tiene seis características básicas:
·         Funcionalidad
·         Confiabilidad
·         Usabilidad
·         Eficiencia
·         Mantenibilidad
·         Portabilidad

BIBLIOGRAFÍA

http://www.gestiopolis.com/recursos/experto/catsexp/pagans/ger/No9/Que%20es%20calidad.htm
http://recursosbiblioteca.utp.edu.co/tesisd/textoyanexos/0053L864e_anexo.pdf



domingo, 24 de agosto de 2014

Tarea 1

INTRODUCCIÓN

Cuando se desarrolla un sistema es necesario realizar una serie de pruebas con el fin de que el sistema o software cumpla con el objetivo que tiene, además debe satisfacer las necesidades del cliente así como aspectos que requiere un sistema de calidad.

PRUEBA

Ensayos que se realizan para observar cual será el resultado de algo. También puede ser considerada como una evaluación, examen o experimento ya que evalúa diversos aspectos o características con el cual se puede saber si se cumplió el objetivo principal.

INGENIERÍA DE PRUEBAS

La ingeniería de Pruebas facilita la realización de éstas al seguir una serie de pasos para realizar las pruebas necesarias que el producto o software necesite, con la intención de que el producto cumpla con estándares y con el objetivo de éste.

CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Es el conjunto de fases por el que pasa un sistema, desde su inicio hasta que este se retira o se reemplaza. También se le conoce como paradigma. Se compone de fases sucesivas compuestas por tareas que se planifican. Las fases se pueden ejecutar más de una vez a lo largo de un proyecto.
Existen 6 modelos de ciclos de vida de desarrollo del software:
-Modelo en cascada
-Modelo en v
-Modelo iterativo
-Modelo de desarrollo incremental
-Modelo en espiral
-Modelo de prototipos

TIPOS DE PRUEBAS

·         Test de facilidad
·         Test de volumen
·         Test de Stress
·         Test de usabilidad
·         Test de seguridad
·         Test de performance
·         Test de configuración
·         Test de instabilidad
·         Test de fiabilidad
·         Test de recuperación
·         Test de documentación
·         Test de mantenibilidad

CONCLUSIÓN

Para realizar un software que pueda ser de calidad es indispensable realizar y seguir los procedimientos necesarios para poder demostrar que fue hecho para el mejor uso del usuario.

BIBLIOGRAFÍA

martes, 11 de marzo de 2014

Tarea 5 Modelo Relacional

El modelo relacional nos permite modelar las relaciones con ayuda del álgebra relacional, después de hacer los diagramas Entidad-Relación, los transformaremos al modelo relacional.


1.
Coches(Número de accidentes registrados)


2.
Cliente(DNI, Nombre, Apellidos, Dirección, Teléfono)
Coche(Matrícula, Modelo, Marca, Color)
Nuevo(Num. de unidades)
Usado(Km. recorridos)
Mecánico(DNI, Nombre, Apellidos, Fecha de contratación)
Compra(Matrícula, DNI)
Repara(DNI, Matrícula)

3.
Jugador(Estadísticas)
Partido(Núm. de partido, Resultado)

4.
Cliente(No. de Cliente, Direcciones de envio, Saldo, Descuento, Límite de crédito)
Pedido(No. de cliente. Direcciones de envio,No. de artículo)
Cabecera(Fecha del pedido)
Cuerpo(Cantidad)
Artículo(No. de Articulo,  Existencia, Fab. distribuidoras, Existencias en fab.)
Fábrica(No. de fábrica, Tel. de contacto,Artículos que provee)
Realiza(No. de cliente,No. de artículo)
Solicita(No. de cliente,No. de artículo)
Fabrica(No. de artículo, No. de Fábrica)

5.
Producto(ID, Nombre, Stock, Precio)
Categoría(ID,Nombre, Descripción)
Proveedor(RUT, Nombre, Dirección, Teléfono, Página web)
Cliente(RUT,Teléfono, Dirección, Nombre)
Venta(ID, Fecha, Cliente, Descuento, Monto final)
Organiza(ID,ID)
Provee(ID, RUT)
Compra(ID, RUT)
Tiene(ID, ID)





domingo, 16 de febrero de 2014

Tarea 3

Introducción

Los modelos de bases de datos determinan la estructura de ésta; afecta su forma de almacenar y de manipular los datos. Estos modelos se componen por entidades, atributos y relaciones.
Se pueden clasificar en 3 tipos: 
  • Modelos de datos de alto nivel o conceptuales.
  • Modelos de datos de bajo nivel o físicos.
  • Modelos de datos de representación o implementación.
Hay varios modelos de datos para bases de datos como los que explicaré a continuación.

Modelo Relacional

Este modelo muestra los datos y las relaciones entre estos datos mediante tablas, las tablas están compuestas por columnas que tienen nombres específicos para cada grupo de datos.

Modelo de Red

En este modelo los datos se muestran en colecciones de registros y las relaciones entre los datos se muestran mediante enlaces.

Modelo Jerárquico

Este modelo está orientado a registro, en este caso el modelo ve a la base de dato como una colección de registros organizada jerárquicamente. Los registros se organizan como colecciones de árboles.

Modelo Entidad-Relación

Este modelo se basa en una percepción del mundo real en la cual hay un conjunto de objetos llamados entidades y existen relaciones entre esos objetos que se implementan de forma gráfica.
Para entender mejor este modelo debemos conocer algunos conceptos:



  • Entidad: Es cualquier objeto, real o abstracto, que existe en algún contexto y del que se desea guardar información.
  • Ejemplares: Se refieren a una clase de objetos con características similares. Se agrupan en entidades.
  • Atributos: Son caracteristicas asociadas a la entidad de la que toman valor en alguna instancia.