Prueba y documentación de programas. Técnicas.
Revisión del 17:26 10 abr 2021 de Joselv (discusión | contribuciones)
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
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]