Diferencia entre revisiones de «Prueba y documentación de programas. Técnicas.»
| Línea 37: | Línea 37: | ||
* Facilitar un correcto desarrollo, realizar correcciones en los programas y permitir un mantenimiento futuro. | * Facilitar un correcto desarrollo, realizar correcciones en los programas y permitir un mantenimiento futuro. | ||
| − | == Guía de uso = | + | == Guía de uso == |
B)Guía de uso | B)Guía de uso | ||
Información que contiene: | Información que contiene: | ||
Revisión del 17:32 10 abr 2021
Sumario
- 1 Introducción
- 2 El testing
- 3 La documentación
- 4 Conclusiones
- 5 Anexo I - Herramientas Software para la realización de pruebas
- 6 Bibliografía
- 7 Referencias
Introducción
El testing
Qué es
Importancia
7 principios
Error, defecto y fallo
Niveles de testing
Test unitarios
Test de integración
Test de sistemas
Test de aceptación
Tipos de prueba
Funcionales
No funcionales
Técnicas de prueba
Caja blanca
Caja negra
Basadas en la experiencia - Alfa y beta testing
Organización de los casos de prueba y herramientas para su gestión
Automatización
La documentación
Todo el proceso de desarrollo de software debe quedar perfectamente documentado, para pasar así de una fase a otra de forma clara y definida. Además, es importante también para poder acometer futuras revisiones del proyecto.Se distinguen tres grandes documentos en el desarrollo de software:
Guía teécnica
A)Guía técnicaa. Información que contiene:
- El diseño de la aplicación.
- La codificación de los programas.
- Las pruebas realizadas.
Está dirigido a:
- Personal técnico en informática (analistas y programadores)
El objetivo es:
- Facilitar un correcto desarrollo, realizar correcciones en los programas y permitir un mantenimiento futuro.
Guía de uso
B)Guía de uso Información que contiene:
- Descripción de la funcionalidad de la aplicación.
- Forma de comenzar a ejecutar la aplicación.
- Ejemplos de uso del programa.
- Requerimientos software de la aplicación.
- Soluciones de los posibles problemas que se pueden presentar.
Está dirigido a:
- Usuarios que van a utilizar la aplicación (clientes).
El objetivo es:
- Dar a los usuarios finales toda la información necesaria para utilizar la aplicación.
Guía de instalacióna
Información que contiene:
- Toda la información necesaria sobre puesta en marcha, explotación y seguridad del sistema.
Está dirigido a:
- Personal informático responsable de la instalación, en colaboración con los usuarios que van a usar la aplicación (clientes).
El objetivo es :
- Dar toda la información necesaria para garantizar que la implantación de la aplicación se realice de forma segura, confiable y precisa.
Conclusiones
Se ha presentado una visión global de las tareas de prueba y documentación ya que son de vital importancia durante el desarrollo de software.
Las pruebas permiten verificar que el software que se está creando es correcto y cumple con las especificaciones impuestas por el usuario, garantizando así la calidad del producto entregado.
Y por otra parte, una correcta documentación durante el desarrollo de software influirá también positivamente en la calidad del software, su utilización, soporte y posterior mantenimiento y evolución.
Anexo I - Herramientas Software para la realización de pruebas
Se presenta a continuación una tabla con varias herramientas que permiten la gestión y automatización de ciertos tipos de pruebas de software
| Tipo de prueba | Herramienta | Lenguajes | Comentario |
|---|---|---|---|
| Unitaria | JUnit 5 | Java | |
| https://mochajs.org/ Mocha] | Javascript | Test framework que corre en Node.js y en el navegador | |
| PHPUnit | PHP | La versión 10 está en desarrollo | |
| NUnit | .NET | ||
| PyUnit | Python | ||
| Codeception | PHP | Realmente cubre más allá de pruebas unitarias: integración, aceptación, BDD.... | |
| BDD | Behat | PHP | Framework libre de Behavior-Driven Development para PHP |
| Cucumber | Herramienta utilizada para ejecutar pruebas de aceptación automáticas creadas en formato BDD. Destaca su capacidad de llevar a cabo descripciones funcionales de texto sin formato (escritas en un lenguaje llamado Gherkin) como pruebas automatizadas. | ||
| Chai | Javascript | ||
| Karma | Javascript | ||
| Funcional y de regresión | Selenium | ||
| Cypress | Framework de pruebas todo en uno que facilita la integración continua | ||
| Integración | SoapUI | Aplicación de prueba de API para tecnologías SOAP y REST, permite también pruebas funcionales y de rendimiento | |
| Postman | Utilizada principalmente para el testing de API REST | ||
| Carga y rendimiento | Apache JMeter | ||
| Gatling | Herramienta para pruebas de estrés | ||
| LoadRunner | |||
| Aceptación | FitNesse | Herramienta de automatización de test de aceptación mediante su documentación en wiki | |
| Concordion | Framework orientado al desarrollo de tests de aceptación. Funciona a través de tests escritos en HTML | ||
| Acunetix | Software de pruebas automáticas de seguridad web | ||
| Nessus | Programa de escaneo de vulnerabilidades que permite agilizar pruebas de seguridad | ||
| Gestión | TestLink |
Bibliografía
- Pressman, R. S. Ingeniería del Software: Un enfoque práctico. Editorial McGraw-Hill
- Sommerville, I. Ingeniería del software. Editorial Addison Wesley
- Norma ISO/IEC/IEEE 29119(Estándar para pruebas del software).
- Métrica versión 3. Metodología de planificación, desarrollo y mantenimiento de sistemas de información. Ministerio para las Administraciones Públicas.
- [www.istqb.org International Software Testing Qualifications Board]