0% encontró este documento útil (0 votos)
28 vistas32 páginas

Pruebas de Diseño y Calidad de Software

Cargado por

Leonard 911
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas32 páginas

Pruebas de Diseño y Calidad de Software

Cargado por

Leonard 911
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Enero – Mayo 2024

Ingeniería en Sistemas
Computacionales

Mtra. Ana Cecilia


Ruiz Calvillo

CALIDAD DE SOFTWARE
Tipos de Pruebas

Pruebas de Diseño
¿Qué es el Diseño?

• El diseño es el primer paso de la fase de desarrollo


de cualquier producto o sistema.
• “Es el proceso de aplicar distintas técnicas y
principios con el propósito de definir un dispositivo,
proceso o sistema con los suficientes detalles como
para permitir su realización física”
Tipos de Diseño

• El diseño de datos transforma el modelo del campo


de información, creado durante el análisis, en las
estructuras de datos que se van a requerir para
implementar el software.
• El diseño arquitectónico define las relaciones entre
los principales elementos estructurales del programa.
• El diseño procedimental transforma los elementos
estructurales en una descripción procedimental del
software.
¿Cómo probar el diseño?

• Se pueden realizar revisiones formales e informales


del diseño.
• Depende de la metodología de diseño seleccionada.
• Independiente de la metodología seleccionada existe
un conjunto de características deseables en el
diseño.
Características de un buen diseño

• Debe exhibir una organización jerárquica que haga


uso inteligente del control entre los componentes de
software.
• Debe ser modular; esto es, el software debe estar
dividido de forma lógica en elementos que realicen
funciones y subfunciones específicas.
• Debe contener representaciones distintas y
separadas de los datos y los procedimientos.
• Debe llevar a módulos que exhiban características
funcionales independientes.
• Debe llevar a interfaces que reduzcan la complejidad
de las conexiones entre los módulos y el entorno
exterior.
• Debe obtenerse mediante un método que sea
reproducible y que esté conducido por la información
obtenida durante el análisis de los requisitos de
software.
Revisiones de Diseño

• Generalmente se pueden realizar dos tipos


de revisiones al diseño.
– Revisión del diseño preliminar, que confirma la
traducción de los requisitos al diseño y se centra
en la arquitectura del software.
– Inspección del diseño, que centra su atención en
la corrección procedimental de los algoritmos, tal
como están implementados en los módulos del
programa.
Consideraciones del Diseño

• El diseño representa también un insumo para la


prueba.
• Nos permitirá refinar los casos de prueba iniciados en
la fase de requerimientos y diseñar las pruebas de
subsistema y de integración.
• Representa un insumo para la prueba de la
construcción.
Tipos de Pruebas

Pruebas Unitarias
• Todos los pasos de la ingeniería de software tienen
como objetivo final traducir las representaciones del
software a una forma que pueda ser “comprendida”
por la computadora.
• Las características del lenguaje de programación y el
estilo de programación pueden afectar
profundamente a la calidad y al mantenimiento del
software.
Etapa de Construcción (codificación)

• El paso de construcción traduce una representación


de software, dada por un diseño detallado, a una
realización en un lenguaje de programación.
• El paso inicial de traducción es un punto fundamental
dentro del contexto de la ingeniería del software.
• En el proceso de traducción puede aparecer “ruido”
en muchas formas:
– La interpretación equivocada de las
especificaciones del diseño detallado.
– La complejidad o restricciones de un lenguaje de
programación pueden conducir a un código fuente
confuso que resulte difícil de probar y mantener.
¿Como probar el código?

• Para la construcción (codificación) aplican algunas


técnicas que se utilizan en las revisiones de diseño y
requerimientos.
• Por ejemplo: revisiones entre colegas e inspecciones.
¿Qué son las pruebas unitarias?

• Prueba una unidad del código (objetos y clases).


• Realizadas generalmente por el desarrollador de la
unidad en un laboratorio.
• Valida que la unidad funcione según el diseño.
• Se aplican técnicas de caja blanca.
Tipos de Pruebas

Pruebas de Integración
¿Qué son?

• Prueba de módulos o unidades de código


relacionadas.
• Realizada generalmente por testers.
• Valida que las diferentes partes del sistema se
comuniquen según el diseño del sistema.
• Se aplican técnicas de caja blanca y negra.
Tipos de Pruebas

Pruebas de Sistema
¿Qué son?

• Se buscan diferencias entre la especificación


funcional del sistema y su comportamiento real.
• Debe verificarse la operación del software como un
todo.
• Realizada generalmente por testers.
• Se aplican técnicas de caja negra como pruebas de:
– Interfaz gráfica.
– Validación.
– Funcionamiento.
– Base de datos.
– Performance:
 Carga: usuarios.
 Volumen: datos.
 Stress:concurrencia (usuarios haciendo lo mismo al
mismo tiempo), desempeño (funcione con tiempos
de respuesta adecuados al sistema.
– Seguridad: red, vulnerabilidad interior y exterior,
corromper contraseñas.
– Usabilidad.
– Recuperación.
– Instalación.
Base de datos

• Es un conjunto de datos relacionados entre sí.


• Por datos entendemos hechos conocidos que pueden
registrarse y que tienen un significado implícito.
• Una base de datos tiene las siguientes propiedades
implícitas:
– Representa algún aspecto del mundo real, en
ocasiones llamado minimundo.
– Es un conjunto de datos lógicamente coherente,
con cierto significado inherente.
– Se diseña, construye y prueba con datos para un
propósito específico.
• Un sistema de gestión de base de datos (DBMS):
– Conjunto de programas que permite a los usuarios
crear y mantener una base de datos.
– Software de propósito general que facilita el
proceso de definir, construir y manipular bases de
datos para diversas aplicaciones.
• Definir una base de datos implica especificar los tipos
de datos, las estructuras y las restricciones de los
datos mismos.
• Construir una base de datos es el proceso de guardar
los datos en algún medio de almacenamiento.
• Manipular una base de datos es realizar diversas
funciones tales como consultar los datos,
actualizarlos y generar informes.
¿Qué se debe probar de una BD?

• Validar Estructura: en general, se verifica si esa


base de datos no imposibilita llegar a satisfacer los
requerimientos, y si no hay inconsistencias entre los
requerimientos, el diseño lógico y el diseño físico.
– Arquitectura:
 Si la estructura arquitectónica es apropiada; en
particular, si la elección de la plataforma tecnológica
(SO, DBMS, lenguaje de programación) no fuera
inapropiada desde el punto de vista de los
requerimientos.
– Rendimiento y normalización:
 Si se está cargando, innecesariamente la capa de la
aplicación con validaciones que podrían o deberían
hacerse en la capa de base de datos (triggers,
stored procedures, etc).
 Si existe redundancia en las tablas.
 Si no existen las llaves apropiadas.
 Si ocurre que las llaves generan ineficiencias.
 Si los índices generados son adecuados.
– Seguridad:
 Si hay problemas de integridad referencial (datos).
 Si hay huecos en el acceso a la información
(usuarios).
 Si el sistema para replicar y recuperar la
información es apropiado.
• Validar la documentación: en general, se verifica si
se siguieron estándares de diseño de base de datos,
y si se cuenta al menos con el mínimo de
documentación (al menos el diccionario de datos, la
estructura lógica de la base de datos y su
implementación:
– Si se siguieron los estándares de nomenclatura.
– Si hay inconsistencias o falta de actualización en
la documentación de la base de datos.
– Si los documentos están actualizados y completos,
si son consistentes, legibles y fácil de ser
mantenidos.
– Si existe y está actualizado el diccionario de datos.
Tipos de Pruebas

Pruebas de Aceptación
¿Qué son?

• Se buscan diferencias entre el sistema y la necesidad


del usuario.
• Realizada generalmente por usuarios con apoyo de
los testers.
• Se aplican técnicas de caja negra.
REFERENCIAS

• Kit, E. (1995), Software Testing in the real World:


Improving The Process. ACM Press. New York, NY,
USA.
• Myers, G. (2004), The Art of Software Testing.
(Second Edition). John Wiley & Sons, Inc. Hoboken,
New Jersey, USA.
• Gao, J. (2003), Testing and Quality Assurance for
Computer-Based Software. Artech House Pub., New
York, USA

También podría gustarte