sábado, 23 de agosto de 2014

1er Parcial | 1ra Tarea | Investigación Pruebas

Introducción:

         A continuación veremos lo que son las pruebas relacionadas al software, cuales son, y las razones por las cuales siempre se deben de llevar  acabo.

Desarrollo:

  • Prueba:

Se define como la acción o el efecto de probar, que esta a su vez es una muestra o indicio de algo que se hace para saber la eficacia de algo o alguien, como funciona o reacciona y el impacto que tendrá en su forma definitiva.

  • Ingeniería de Pruebas:

            Es  la ejecución de programas de software para detectar defectos y fallas, también su tarea es demostrar que un programa realiza las funciones para las cuales fue construido.
Es importante que el o los que hayan creado el programa no prueben sus propios desarrollos, aparte de esto una prueba debe de tener ya preestablecidos los resultados esperados, después de obtener los resultados, y en base a ellos corregir los fallos del sistema que no se desean en el producto final.

  • Ciclo de vida del software:

            Se describe como el desarrollo del software desde la fase de inicio hasta la fase final. El propósito de esto es definir las fases intermedias que se necesitan para validar el desarrollo de la aplicación (para garantizar que cumpla con los requisitos), ya que la rectificación de errores suele ser muy costoso, por lo que esto se hace por partes para evitar estos inconvenientes.
El ciclo de vida de un software tiene los siguientes procedimientos:

  1. Definición de objetivos: Definir el resultado del proyecto.
  2. Análisis de los requisitos: Recopilar, examinar y formular los requisitos del cliente.
  3. Diseño general y detallado: Requisitos generales de la aplicación y la definición precisa de cada subconjunto de esta.
  4. Programación: Implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  5. Prueba de unidad: Prueba de cada subconjunto de la aplicación para asegurar que se implementación de acuerdo a las especificaciones.
  6. Integración: Garantizar que los módulos se integren con la aplicación.
  7. Prueba beta(o validación): Garantizar que el software cumple con las especificaciones originales.
  8. Documentación: Sirve para documentar lo necesario para los usuarios del software y los desarrollos futuros
  9. Implementación del software.
  10. Mantenimiento: Procesos correctivos y actualizaciones secundarias del software.

  • Tipos de pruebas del software:

  1. Prueba Unitaria: Focalizada en ejecutar módulos individuales, para facilitar la integración de las unidades en componentes mayores.
  2. Prueba de Integración: Verificar que las interfaces entre las entidades externas y las aplicaciones funcionan correctamente.
  3. Prueba de Regresión: Determinar si un cambio reciente a una parte del programa tiene efecto adverso en otra(s) parte(s).
  4. Pruebas de Humo: Garantizar poco esfuerzo en la integración final del sistema, asegurar resultados de pruebas unitarias.
  5. Pruebas del Sistema: Asegurar la propia navegación dentro del sistema, ingreso de datos, procesamiento y recuperación.
  6. Prueba de Desempeño: Validar el tiempo de procesamiento de las funciones de la aplicación, bajo las condiciones: Volumen normal anticipado y Volumen máximo anticipado.
  7. Prueba de Carga: Verificar el tiempo de respuesta del sistema para casos de uso de negocios, bajo diferentes condiciones.
  8. Prueba de Stess: Verificar que el sistema funciona apropiadamente bajo estas condiciones de stress: Memoria baja o no disponible, máximo número de clientes conectados, múltiples usuarios realizando la misma transacción con los mismos datos, etc.
  9. Prueba Volumen: Verificar que la aplicación funciona correctamente bajo los siguientes escenarios  de volumen: Máximo número de clientes conectados, todos ejecutando la misma función, Máximo tamaño de base de datos y múltiples consultas ejecutadas simultáneamente.
  10. Prueba de Recuperación y Tolerancia de fallas: Verificar que los procesos de recuperación restauran apropiadamente la Base de datos, aplicaciones y sistemas. Y los llevan a un estado deseado.
  11. Prueba de Múltiples Sitios: Detectar fallas en configuraciones y comunicaciones de datos entre múltiples sitios.
  12. Prueba de Compatibilidad Y Conversión: Buscar problemas de compatibilidad y conversión en los sistemas.
  13. Prueba de Integridad de Datos y Base de Datos: Asegurar que los métodos de acceso y procesos funcionan adecuadamente y sin ocasionar corrupción de datos.
  14. Prueba de Seguridad y Control de Acceso: Nivel de seguridad de la aplicación y del sistema.
  15. Prueba del Ciclo del Negocio: Asegurar que el sistema funciona de acuerdo con el modelo de negocios emulando los eventos en tiempo y forma.
  16. Pruebas de GUI: Verifica la navegación a través de los objetos de la prueba reflejan las funcionalidades del negocio y los requisitos.
  17. Pruebas de Configuración: Validar y verificar que el cliente del sistema funciona apropiadamente en las estaciones de trabajo recomendadas.
  18. Prueba de Estilo: Comprobar que la aplicación sigue los estándares de estilo del cliente.
  19. Prueba de Aceptación: Determinar por medio del cliente la aceptación o rechazo del sistema desarrollado.
  20. Prueba de Instalación: Verificar que el sistema se instala apropiadamente en cada cliente.
  21. Pruebas Funcionales: Se asegura el trabajo apropiado de los requisitos funcionales incluyendo la navegación, entrada de datos, procesamiento y obtención de resultados.
  22. Pruebas de Documentación y Procedimiento: Evaluar la documentación del usuario.
  23. Prueba de Usabilidad: Determinar la usabilidad del sistema.
  24. Prueba de Campo: Correr el sistema en el ambiente real para encontrar errores y validar el producto contra sus especificaciones originales.
  25. Pruebas Alfa: Prueba de aceptación para detectar errores en el sistema bajo un ambiente controlado.
  26. Pruebas Beta: Realizar la validación del sistema por parte del usuario.

Conclusión:

           Como ya se vio, las pruebas en la programación de los sistemas es muy importante, ya sea para descubrir el impacto del producto, para saber si es lo que el cliente quería, o para saber si todo funciona correctamente bajo ciertas condiciones.
Obviamente si estas pruebas no se hacen antes de la implementación del producto final, solo se puede esperar un producto con varios fallos y que no sea satisfactorio para el cliente.


Bibliografía:

Anónimo. Definición de prueba. Recuperado de:
http://definicion.de/prueba/

Abad Londoño Jorge Hernán (2005). Tipos de pruebas de software. Recuperado de:
http://ing-sw.blogspot.mx/2005/04/tipos-de-pruebas-de-software.html

Anónimo. Ciclo de vida del software. Recuperado de:
http://es.kioskea.net/contents/223-ciclo-de-vida-del-software

No hay comentarios.:

Publicar un comentario