lunes, 29 de septiembre de 2014

Los 7 principios de Testing

Aqui la lista de los 7 principios de Testing de acuerdo al libro de ISTQB.

1. Las pruebas muestran la presencia de defectos
Significa que las pruebas pueden demostrar que EXISTEN problemas, pero no que los problemas NO EXISTEN.
El objetivo principal de llevar a cabo una prueba es para detectar defectos. Trabajando bajo la premisa de que cada producto contiene defectos de algún tipo, una prueba que revela los errores es generalmente mejor que una que no lo hace. Todas las pruebas por lo tanto, deben ser diseñados para revelar tantos errores como sea posible.
2. Las pruebas exhaustivas son imposibles

Las pruebas exhaustivas tratan de cubrir todas las combinaciones posibles de datos en el software, a fin de garantizar que ninguna situación puede surgir, una vez probado el software se ha liberado. Excepto en aplicaciones muy simples, el número de combinaciones posibles de datos es demasiado alta, es más eficaz y eficiente que los ingenieros de pruebas se centren en las funcionalidades de acuerdo a riesgos y prioridades.

3. Pruebas tempranas.
Un producto (incluyendo los documentos, tales como la especificación del producto) se puede probar tan pronto como se ha creado. ISTQB recomienda probar un producto tan pronto como sea posible, corregir los errores más rápidamente posible. Los estudios han demostrado que los errores identificados al final del proceso de desarrollo por lo general cuestan más para resolver.
Por ejemplo: un error encontrado en las especificaciones puede ser bastante sencillo de solucionar. Sin embargo, si ese error se transfiere a la codificación de software, una vez descubierto el error puede ser muy costoso y consume tiempo.

4. Agrupamiento de Defectos
Los estudios sugieren que los problemas en un elemento de software tienden a agruparse en torno a un conjunto limitado de módulos o áreas. Una vez que estas áreas han sido identificadas, los administradores eficientes de prueba son capaces de enfocar las pruebas en las zonas sensibles, mientras que siguen buscando a los errores en los módulos de software restantes. Me recuerda al 80/20.

5. La paradoja del "Pesticida"
Al igual que el sobre uso de un pesticida, un conjunto de pruebas que se utilizan repetidamente en el  disminuirá en su eficacia. Usando una variedad de pruebas y técnicas expondrá una serie de defectos a través de las diferentes áreas del producto.

6. La prueba es dependiente del contexto
Las mismas pruebas no se deben aplicar en todos los ámbitos. Distintos productos de software tienen diferentes requisitos, funciones y propósitos. Una prueba diseñada para realizarse en un sitio web, por ejemplo, puede ser menos eficaz cuando se aplica a una aplicación de intranet. Una prueba diseñada para una forma de pago con tarjeta de crédito puede ser innecesariamente rigurosa si se realiza en un foro de discusión.
En general, cuanto mayor es la probabilidad y el impacto de los daños causados ​​por el software fallado, mayor es la inversión en la realización de pruebas de software.

7. La falacia de ausencia de errores
Declarar que una prueba no ha descubierto ningún error no es lo mismo que declarar que el software es “libre de errores”. Con el fin de garantizar que los procedimientos adecuados de software de prueba se lleva a cabo en todas las situaciones, los evaluadores deben asumir que todo el software contiene algunos (aunque disimulada) errores.

jueves, 18 de septiembre de 2014

10 razones para arreglar defectos tan pronto como se encuentran

Hace tiempo encontre una interesante infografia.

Concuerdo con las 10 razones listadas y tal vez se puedan agregar más, pero me parece bien para un listado de 10 razones.


  1. Defectos no arreglados camuflagean otros defectos.
  2. Defectos no arreglados hacen pensar que la calidad no es importante.
  3. Discutir defectos no arreglados es una perdida de tiempo.
  4. Defectos no arreglados llevan a duplicar esfuerzo.
  5. Defectos no arreglados  llevan a metricas no confiables.
  6. Defectos no arreglados distraen a todo el equipo.
  7. Defectos no arreglados provocan parches inmediatamente después de liberar.
  8. Defectos no arreglados llevan a estimaciones poco acertadas.
  9. Arreglar codigo con el que se esta familiarizado es más fácil que aquel ya olvidado (Que se trabajo hace mucho tiempo).
  10. Arreglar un defecto HOY cuesta menos que MAÑANA.
Como dije seguramente hay mas razones, pero estas 10 me parecen muy válidas para tratar de arreglar los defectos lo más pronto posible.

Saludos!!

Fuente

miércoles, 17 de septiembre de 2014

Bienvenida

Por la web encuentro muchos blogs de Software Testing, la mayoria en Ingles, asi que tratare de ir coleccionando informacion de preferencia en español dentro de este blog. Se que el idioma no es un problema en la industria pero no esta demás encontrarse con material en el idioma :)

Espero que sea de ayuda!