Pregunta

Soy nuevo en el aseguramiento de la calidad del software. Me dijeron que por mi jefe para averiguar cómo podemos ir sobre ella en nuestra empresa. Por favor, podría alguien me diga lo que la garantía de calidad del software se trata y qué fuente abierta herramientas que podría utilizar para el aseguramiento de la calidad del software.

¿Fue útil?

Solución

Se podría tratar de leer los blogs de "los grandes y los buenos", la gente como Martin Fowler en hola 'Bliki' y Robert Martin el jeremiadas del tío Bob ... y ahora difunto Joel on Software de Joel Spolsky. Todo lo bueno para la calidad opiniones sobre qué se trata.

En la actualidad el uso de Java y herramientas como Macker y Findbugs para comprobar la corrección de código y adherencia a las guías.

Para la repetibilidad y para complacer a la gestión, las pruebas unitarias se ejecutan automáticamente por un servidor de compilación como Hudson o control de crucero en código extraído de un sistema de control de código fuente es una idea buena. También dará a los 'poderes fácticos' cierta métrica para que pueda mostrar cómo su código de construcción, pruebas, etc.

En última instancia, aunque sólo se reduce a buenas personas que se preocupan por lo que están haciendo.

Otros consejos

Se trata de pruebas, ensayos, pruebas. Hay muchas herramientas que pueden ayudar a lograr esto, como unidad de prueba marcos, analizadores de código, perfiladores de memoria, etc. Las herramientas que utilizaría dependen de la plataforma de lenguaje de programación y el desarrollo de sus usos de la empresa para su software.

Como los otros han dicho, la prueba es una parte esencial del control de calidad de software. Pero me sorprende que nadie ha mencionado las revisiones de código. Echar un vistazo cómo se puede integrar las revisiones de código de pares en su proceso de desarrollo; que es una gran manera de mejorar la calidad del código y compartir el conocimiento en todo el equipo. Cuanto antes se detecte un problema, más fácil y más barato es para solucionarlo, por lo que considerar una revisión de código para cada cambio de código fuente.

Si quieres una excelente y completa introducción al control de calidad, leen las partes II y V de código completo por Steve McConnell . De hecho, leer todos de la misma - que proporciona ejemplos prácticos de cómo mejorar la calidad del código y métricas (que se puede mostrar a la gestión) que explican los beneficios de las diferentes técnicas de control de calidad

.

Los capítulos que menciono incluyen temas tales como:

  • Diseño conceptos y prácticas para mejorar la calidad
  • rutinas de alta calidad
  • La programación defensiva
  • programación Pseudocódigo
  • Técnicas para mejorar la calidad del software (incluyendo una evaluación de la eficacia relativa)
  • Cuando hacer Garantía de Calidad
  • construcción Collaborative (incluyendo la programación en parejas, inspecciones de código)
  • pruebas de desarrollador
  • Depuración (incluyendo consideraciones psicológicas)
  • Refactoring
  • estrategias y técnicas Código de ajuste

Para la cita de McConnell principio general de Calidad de Software:

La mejora de la calidad reduce los costes de desarrollo

Se trata también el proceso de validación que se utiliza. Puede probar su software durante todo el día, pero si usted no sabe lo que se pretende hacer y lo que el resultado esperado es que podría estar probando algo equivocado por completo. Hay un libro muy bueno que establece un marco sólido para empezar (que también voy a cubrir todos los requisitos de la ISO si su empresa está certificada ISO): http://www.amazon.com/Computer-System-Management-Validation-Cycle/dp/1932828095

Como dice Bernard anterior, es necesario hacer la prueba. Si está desarrollando en Java, puede utilizar JUnit (NUnit funciona de manera similar en .Net). Prueba de la unidad es sólo el principio, sin embargo, lo podría hacer en herramientas de cobertura de código para darle una indicación de cómo completar su unidad de pruebas es (EMMA herramientas de código abierto y Cobertura proporcionan esta para Java). También puede utilizar Hudson a ejecutar estas pruebas de forma automática cada vez que un cambio se registró en el árbol de fuentes (Hudson le dará una indicación de qué tan estable sus desarrollos son, muchas de las fluctuaciones en las tasas de aprobación de casos de prueba indican que usted está haciendo un montón de ruptura cambia por ejemplo).

Después de eso, usted podría mirar a algo así como Findbugs para Java para detectar prácticas dudosas. Si está utilizando Eclipse para el desarrollo de Java puede obtener las métricas plugin para realizar varias otras piezas de análisis en su código, pero lo que necesita saber lo que estas cifras indican realidad.

En última instancia, la calidad de su producto se definirá en función de si se puede introducir de forma fiable los cambios que permitan alcanzar su objetivo sin causar regresiones. Las herramientas anteriores son sólo el comienzo, se necesita mucho tiempo para ser bueno en las pruebas (que no soy yo mismo), pero si se introduce las herramientas y prácticas para su organización puede trabajar en él desde allí.

En general, no haga caer en la trampa común de pensar que esto es un personal de TI único problema. Es evidente que usted no quiere errores en su código, y hay cualquier número de herramientas / procesos que ayudan con eso - QA es realmente un proceso de mayor alcance. Como se mencionó anteriormente por DBA_Alex, lo que necesita saber cuál es el problema que está resolviendo para el negocio con el software, y al final del día, los cuerpos de negocios tienen que participar para responder a esa pregunta. Asegúrese de que su solución final incluye a personas de TI y de negocio ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top