Introducción al Testing: Diferencia entre falso positivo y falso negativo.

En relación al artículo de ayer, he estado investigando la diferencia entre un falso positivo y un falso negativo en la realización de pruebas. Este tipo de problemas nos pueden ocurrir, como ya comentamos, en entornos inestables o que no sean del todo herméticos.



La definición de falso positivo llevada a la informática es la siguiente:





"es un error por el cual un software de antivirus informa que un archivo o área de sistema está infectada, cuando en realidad el objeto está limpio de virus; Esto también ocurre en los navegadores de Internet cuando se descarga un archivo."





La definición de falso negativo para informática es la siguiente:






"es un error por el cual el software antivirus falla en detectar un archivo o área del sistema que está realmente infectada."





Estas definiciones se basan en los antivirus, pero si hablamos de pruebas, creo que el resultado es practicamente igual.






¿Cuando hablamos de falso positivo?



Un falso positivo en testing nos ocurre cuando probamos un módulo o sección de la aplicación del proyecto y detectamos defectos cuando en realidad no lo son, por inestabilidad del entorno, por datos de la BBDD corruptos o por alguna causa externa que haga que el entorno no esté funcionando como debería.



¿Cuando hablamos de falso negativo?



Un falso negativo llevado a pruebas nos ocurre cuando damos por válida una sección o módulo cuando en realidad está fallando. Este tipo de fallos suelen ocurrir más por la persona que está probando que a causa del propio entorno, aunque también nos pueden ocurrir, en la mayoría de los casos por que tengamos datos que no cubran todas las casuísticas posibles.





Este tipo de fallos que nos pueden ocurrir al realizar nuestras pruebas desvirtúan totalmente los resultados y pueden hacer que la calidad del proyecto descienda radicalmente. Es uno de los problemas más graves a los que nos podemos enfrentar los que nos dedicamos al testing.





No hay demasiadas maneras de evitar estos problemas pero os voy a dar dos soluciones que si que pueden disminuir el riesgo de que ocurran.





Para los falsos positivos, tendremos que tener un entorno totalmente hermético, que sepamos que hasta que nosotros no demos la orden de subir algo o de que la versión cambie, tengamos la certeza de que estamos probando siempre con una BBDD correcta y con nuestros datos bloqueados. También que sepamos que la versión que tenemos desplegada en nuestro entorno no ha cambiado ni cambiará hasta que la demos el visto bueno.





Para los falsos negativos, una de las pocas soluciones que os puedo dar es tener preparados de antemano unos datos coherentes, correctos y sólidos, además de unos casos de prueba estudiados, bien organizados y sobre todo estructurados para que nuestras pruebas puedan ser todo lo buenas que deben de ser. Si tenemos un módulo bien cubierto, con todas las casuísticas posibles contempladas y sin dejar ningún agujero, casi al 100% estamos salvándonos de estos falsos negativos tan impactantes en el proyecto.





Seguro que se os ocurren mil maneras más de evitar estos falsos positivos y negativos, al fin y al cabo, el día a día es el que marca nuestras soluciones.

0 Comentarios