stringtranslate.com

Pruebas de desarrollo

Las pruebas de desarrollo son un proceso de desarrollo de software que implica la aplicación sincronizada de un amplio espectro de estrategias de prevención y detección de defectos para reducir los riesgos, el tiempo y los costos del desarrollo de software.

Dependiendo de las expectativas de la organización para el desarrollo de software, las pruebas de desarrollo pueden incluir análisis de código estático , análisis de flujo de datos , análisis de métricas , revisiones de código por pares , pruebas unitarias , análisis de cobertura de código , trazabilidad y otras prácticas de verificación de software.

Descripción general

Las pruebas de desarrollo las realiza el desarrollador o ingeniero de software durante la fase de construcción del ciclo de vida del desarrollo del software . [1]

En lugar de reemplazar los enfoques tradicionales de control de calidad , los amplía. [2] Las pruebas de desarrollo tienen como objetivo eliminar errores de construcción antes de que el código sea promovido a control de calidad; esta estrategia tiene como objetivo aumentar la calidad del software resultante, así como la eficiencia del proceso general de desarrollo y control de calidad. [3]

Propósitos y beneficios

Las pruebas de desarrollo se aplican para los siguientes propósitos principales:

Los informes de investigación de VDC indican que la implementación estandarizada de procesos de prueba de desarrollo dentro de un proceso estandarizado general no solo mejora la calidad del software (al alinear las actividades de desarrollo con las mejores prácticas comprobadas), sino que también aumenta la previsibilidad del proyecto. [4] Los informes de investigación de Voke indican que las pruebas de desarrollo hacen que el software sea más predecible, rastreable, visible y transparente durante todo el ciclo de vida del desarrollo del software. [2]

Principios clave

En cada una de las aplicaciones mencionadas anteriormente, las pruebas de desarrollo comienzan definiendo políticas que expresen las expectativas de la organización en cuanto a confiabilidad, seguridad, rendimiento y cumplimiento normativo. Luego, una vez que el equipo recibe capacitación sobre estas políticas, se implementan prácticas de pruebas de desarrollo para alinear las actividades de desarrollo de software con estas políticas. [5] Estas prácticas de pruebas de desarrollo incluyen:

El énfasis en la aplicación de un amplio espectro de prácticas de prevención y detección de defectos se basa en la premisa de que las diferentes técnicas de prueba de desarrollo están ajustadas para exponer diferentes tipos de defectos en diferentes puntos del ciclo de vida del desarrollo de software, por lo que la aplicación de múltiples técnicas en conjunto disminuye el riesgo de que los defectos pasen desapercibidos. [3] La importancia de aplicar un conjunto amplio de prácticas está confirmada por Boehm y Basili en la frecuentemente citada "Lista de los 10 principales métodos para la reducción de defectos de software". [7]

Análisis estático

El término "pruebas de desarrollo" se ha utilizado ocasionalmente para describir la aplicación de herramientas de análisis estático. Numerosos líderes de la industria han cuestionado esta confusión porque el análisis estático no es técnicamente una prueba; incluso el análisis estático que "cubre" cada línea de código es incapaz de validar que el código hace lo que se supone que debe hacer, o de exponer ciertos tipos de defectos o vulnerabilidades de seguridad que se manifiestan solo cuando el software se ejecuta dinámicamente. Aunque muchos advierten que el análisis estático por sí solo no debe considerarse una bala de plata o una panacea, la mayoría de los expertos de la industria coinciden en que el análisis estático es un método probado para eliminar muchos defectos de seguridad, confiabilidad y rendimiento. En otras palabras, si bien el análisis estático no es lo mismo que las pruebas de desarrollo, se lo considera comúnmente un componente de las pruebas de desarrollo. [8] [9]

Actividades adicionales

Además de las diversas implementaciones del análisis estático, como el análisis de flujo y las pruebas unitarias, las pruebas de desarrollo también incluyen la revisión del código por pares como una actividad de calidad primaria. La revisión del código se considera ampliamente uno de los métodos de detección y prevención de defectos más eficaces en el desarrollo de software. [10]

Véase también

Referencias

  1. ^ McConnell, Steve (2004). Código completo (2.ª edición). Microsoft Press. ISBN 0-7356-1967-0.
  2. ^ ab voke Informe de Market Mover Array: Pruebas de plataformas por Theresa Lanowitz, Lisa Dronzek, voke, 5 de junio de 2012
  3. ^ abcd Kolawa, Adam; Huizinga, Dorota (2007). Prevención automatizada de defectos: mejores prácticas en la gestión de software. Wiley-IEEE Computer Society Press. ISBN 0-470-04212-5.
  4. ^ "Prevención automatizada de defectos para la calidad del software integrado" informe técnico de VDC Research
  5. ^ Grandes expectativas para el desarrollo: la automatización de políticas por Wayne Ariola, SD Times, 28 de julio de 2011
  6. ^ Replanteamiento del desarrollo, las pruebas y la inspección de software Archivado el 7 de mayo de 2013 en Wayback Machine por Matthew Heusser, CIO, 1 de febrero de 2012
  7. ^ Lista de los 10 principales métodos para reducir los defectos de software, por Barry Boehm y Victor R. Basili, Computer, enero de 2001
  8. ^ Analizadores estáticos en ingeniería de software Archivado el 15 de octubre de 2012 en Wayback Machine por el Dr. Paul E. Black, CrossTalk: The Journal of Defense Software Engineering, marzo/abril de 2009
  9. ^ Los 3 errores principales en el análisis estático para el desarrollo integrado y crítico para la seguridad, por Arthur Hicken, EE Catalog, 25 de septiembre de 2012
  10. ^ Cumplimiento de los requisitos SIL: garantía de la seguridad funcional de los sistemas relacionados con la seguridad E/E/PE Archivado el 4 de marzo de 2016 en el artículo Wayback Machine en DevelopmentTesting.com