Todos los que nos dedicamos al aseguramiento de la calidad nos hemos cuestionado, en muy diversos momentos, qué verdades absolutas hay en nuestro mundo y qué principios descansan en los orígenes de nuestra profesión.
Como ahora mismo estaréis pensando que este es un tema de difícil resolución, ya que cada uno de nosotros podríamos dar respuestas de muy diferente calado. No obstante, la mayoría de nosotros habremos experimentado, de una manera u otra, con lo que se ha definido como los siete principios fundamentales del Software Testing, y que pasaremos a nombrar a continuación:
- Ejecutar pruebas nos desvela la presencia de defectos
¿Es posible demostrar, con total certeza, que NO hay defectos en un software? La respuesta es un no rotundo. Testing puede demostrar la existencia de incidencias en un producto, que una vez solventadas, reducen la probabilidad de que defectos no descubiertos permanezcan en nuestro sistema. ¡Cuántas veces nos habremos asombrado con los bugs más inverosímiles que los usuarios finales del software que hemos probado son capaces de encontrar! - El testing exhaustivo es imposible
Probar absolutamente todas las permutaciones posibles de un sistema no es factible, excepto para casos muy triviales. De aquí nace parte de una de las máximas de nuestra profesión: al no poder asumir la verificación de todas las combinaciones a probar, asumimos un cierto nivel de riesgo, el cual debemos manejar como parte de nuestra estrategia de pruebas. - La verificación de la calidad de un sistema debe empezarse lo antes posible
O lo que es lo mismo, el trabajo de QA debe empezar de manera paralela al inicio del ciclo de vida del desarrollo del software, con el objetivo de detectar las incidencias en una fase temprana de la construcción de nuestro producto. Aquí debemos recordar la máxima que nos dice que un defecto es más costoso de arreglar, cuanto más tarde es hallado. - La mayoría de defectos relevantes suelen concentrarse en un grupo muy determinado de módulos de nuestro producto
En base a la experiencia y al conocimiento de los productos que verificamos, podemos asumir que habitualmente hay partes de éstos que son más proclives a contener los errores más prioritarios (desde el punto de vista del negocio). Esta información es uno de los inputs más valorables a la hora de elaborar nuestra estrategia de pruebas. - La paradoja del pesticida
Imaginaros que ejecutamos los mismos tests una y otra vez sobre una parte ciertamente estable de nuestro sistema. Estas pruebas tenderán a no encontrar nuevos defectos, lo que nos debe conducir a una constante revisión y actualización de nuestro catálogo de tests, con el objetivo de ejercitar diferentes partes del software, y por lo tanto, haciendo crecer la posibilidad de hallar nuevas incidencias. - El testing es totalmente dependiente del contexto
¿Cuántos de vosotros habréis seguido una estrategia de pruebas diferente, en función del sistema a probar? ¿Probamos de la misma manera un software médico que un portal de e-commerce? Los servicios de testing se adaptan completamente al sistema y entornos que vamos a verificar. - La falacia de la ausencia de errores
Arreglar todos los defectos que seamos capaces de encontrar en nuestro sistema, de manera que un nuevo ciclo de testing no desvele nuevos defectos, no quiere decir que el producto sea útil, si este no cumple las expectativas del cliente.
El conocimiento y puesta en consideración de estos principios nos permitirá ser más eficaces en la confección de nuestra estrategia de pruebas, lo que decididamente debe revertir en el objetivo común de entregar un producto de la mayor calidad posible, que al fin y al cabo, es el alma de nuestra profesión. Alma que ha quedado dañada por la irreparable y dolorosísima pérdida de un extraordinario ser humano como Patrice Marillier, que nos dejó inesperadamente la semana pasada, dejando un hueco imposible de llenar para los que tuvimos la suerte de poderlo conocer.
Descansa en paz, mi querido amigo.
Isaac Álvarez Diz
Innovation Lead | Digital Assurance & Testing | SOGETI ESPAÑA
Pingback: Cuéntame cómo probé – QA:news