Resumen de pruebas de software
Enviado por moiseshomero01 • 11 de Marzo de 2019 • Apuntes • 3.918 Palabras (16 Páginas) • 76 Visitas
1. INTRODUCCIÓN A LA CALIDAD DE SOFTWARE
El trabajo de un ingeniero del software es entregar productos software de alta calidad a los costos establecidos y en un plazo determinado. Hay así, tres aspectos que hacen efectivo un trabajo de ingeniero del software: producir productos de calidad, hacer el trabajo a los costos esperados y completar el trabajo de acuerdo con la planificación establecida (Humphrey, 2001),
De acuerdo a (Humphrey, 2001), muchos ingenieros de software han aprendido que para hacer un trabajo efectivo necesitan:
- Planificar su trabajo.
- Hacer su trabajo de acuerdo con el plan.
- Esforzarse en construir productos de máxima calidad
Con el fin de garantizar la calidad de un producto software, los expertos en el desarrollo de sistemas han desarrollado técnicas cada vez más efectivas en cada uno de los procesos o áreas de conocimiento de lo que se conoce como ingeniería de software. La IEEE Computer Society define la Ingeniería del Software como la aplicación de un enfoque sistemático, disciplinado y cuantificable para el desarrollo, operación y mantenimiento de software; que es la aplicación de la ingeniería al software
La ingeniería del software es organizada en 10 Áreas del Conocimientos (IEEE Computer Society, 2014):
• Requisitos de software
• Diseño de software
• Construcción de software
• Pruebas de software
• Mantenimiento de software
• Administración de la configuración de software
• Administración de la Ingeniería de Software
• Proceso de Ingeniería de Software
• Instrumentos y Métodos de la Ingeniería de Software
• Calidad del software
Cada una de estas áreas de conocimiento no está aislada de las demás y se traslapan en varias actividades entre ellas, pero se identifican procesos y objetivos individuales y sobre todo el objetivo común que es el logro de sistemas de software con la calidad que requieren los usuarios y clientes.
A continuación resumiremos el objetivo general de cada una de las 10 áreas de la ingeniería de software con base en (IEEE Computer Society, 2014):
Requisitos de software
Esta área de conocimiento tiene que ver con todo lo relacionado a la recopilación de las necesidades del usuario, las cuales se verán reflejadas en los requisitos (o requerimientos) del software, especificándolos de manera concisa y clara, para ser analizados y así determinar su costo de desarrollo, además de sus vulnerabilidades con el propósito de evitar problemas a lo largo del desarrollo.
Diseño de software
En este proceso se analizan los requerimientos de software, que son escritos en lenguaje natural o en lenguajes de alto nivel. Como resultado del análisis se obtiene una descomposición de todas las partes que constituirán al producto final, su organización y la comunicación entre cada componente. El nivel de detalle que deben tener cada parte o componente, debe ser suficiente para poder implementarlo. El diseño del software es un paso muy importante durante el desarrollo de un proyecto de software, ya que es aquí donde se construye la solución a los requerimientos, seleccionando el modelo más apropiado para definir las actividades subsecuentes en el proceso de desarrollo.
Construcción de software
La construcción de software, está íntimamente ligada con el diseño de software, ya que esta área del conocimiento toma como entrada el análisis realizado previamente en el diseño de software, para refinarlo mejor y llevarlo a un nivel mucho más detallado para dar como resultado software operativo, por medio de la codificación. Esta área también está relacionada con las pruebas del software, ya que durante la construcción se realizan pruebas unitarias y pruebas de integración. Al realizar las pruebas es evidente que se marcan parámetros de configuración con los que el software cuenta, por tal razón la construcción también está relacionada con la administración de la configuración del software.
Pruebas del software
Las pruebas se realizan para verificar la calidad del software desarrollado, las actividades de pruebas deben ser diseñadas para garantizar que el producto resultante satisface los requerimientos del usuario y que el software tiene el comportamiento esperado en casos de prueba específicos. Las pruebas del software han evolucionado y hoy en día se consideran parte del proceso de construcción y no solo un paso posterior a la finalización de la codificación para detectar errores. Poco a poco la planificación de las pruebas está comenzando a incluirse desde etapas tempranas del proyecto, para identificar debilidades potenciales.
Mantenimiento de software
El mantenimiento de software se refiere a las modificaciones que se realizan al software después de que se ha liberado y está siendo usado por los clientes, los cuales encuentran fallas que requieren ser corregidas o necesidades nuevas. Las modificaciones se realizan al código y a la documentación. También las modificaciones se realizan no con el propósito de corregir fallos, sino para mejorar el software, por ejemplo, mejorar el rendimiento del sistema o agregar alguna nuevas tecnologías. Todas las modificaciones que se realicen deben ser documentadas y deben llevar un seguimiento para mantener un control sobre el software.
Administración de la configuración de software
Esta área se enfoca en determinar la configuración de un sistema, para que su funcionamiento se adapte a alguna situación determinada. Se debe llevar una relación entre el tipo de configuración de un sistema y los resultados esperados en el comportamiento del mismo al aplicar dicha configuración, así como también una bitácora de cambios en la configuración, con el objetivo de mantener la consistencia, estabilidad y seguridad del sistema.
Administración de la Ingeniería de Software
Esta área se encarga de la planeación, organización, ejecución y control de las actividades de Ingeniería de Software. En otras palabras, se encarga de administrar las cuestiones relacionadas con los proyectos de software tales como la relación con los clientes , los procesos de ingeniería usados durante el proyecto, los resultados esperados, mantener el balance entre creatividad y disciplina , el grado de novedad y complejidad del software, mantenerse al tanto de los cambios en la tecnología, de relaciones con el personal, establecimiento de políticas y procedimientos internos, gestión de la comunicación , medición del avance del desarrollo, entre otros.
...