Diferencia entre revisiones de «Prueba y documentación de programas. Técnicas.»
| Línea 195: | Línea 195: | ||
|- | |- | ||
| [https://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/ Javadoc] | | [https://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/ Javadoc] | ||
| − | | Generador de documentación | + | | Generador de documentación para el lenguaje Java para generar documentación de API en formato HTML desde el código fuente de Java. |
|- | |- | ||
| [https://www.phpdoc.org/ phpDoc] | | [https://www.phpdoc.org/ phpDoc] | ||
Revisión del 18:04 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 Anexo II - Herramientas Software para la documentación
- 7 Bibliografía
- 8 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
Pasos
- Elegir la prueba
- Precondición
- Pasos
- Comprobaciones
- Reporte estado final
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 técnica
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
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ón
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 | |
| 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 | ||
| 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 | ||
| Múltiples | Codeception | PHP | Permite realización de pruebas unitarias, integración, aceptación, BDD.... |
| TestNG | Java | Framework para pruebas y testing que. Está basado en JUnit (para Java) y NUnit (para .NET) pero introduciendo nuevas funcionalidades que los hacen más poderosos y fáciles de usar. |
Anexo II - Herramientas Software para la documentación
| Herramienta | Comentario |
|---|---|
| Atlassian Confluence | Módulo de Jira que permite documentar los how-to y las referencias técnicas llegando a asociar Ticket de Jira - Documentación de código – Rama de Git (o Subversion). |
| Javadoc | Generador de documentación para el lenguaje Java para generar documentación de API en formato HTML desde el código fuente de Java. |
| phpDoc | Es una adaptación de javadoc para php que define un estándar oficial para comentar código php. |
| Read the Docs | Plataforma gratuita para el alojamiento de documentación de software con código fuente; facilita la redacción de documentación técnica al automatizar la creación y el control de versiones. |
| Huddle | Centro de colaboración todo-en-uno para tu equipo. Utilizado por empresas grandes que necesitan herramientas estar sincronizadas, incluidos el almacenamiento de archivos, la gestión de proyectos y las herramientas de colaboración. |
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]