Viernes, 13 Julio 2007

En estas páginas, y en general en toda la documentación que escribimos en el grupo SQUaC, solemos utilizar los anglicismos test/testeo y testear (eso sí, contemplados por la RAE ) cuando nos referimos al software, en vez de los más habituales prueba y probar. El principal motivo para hacerlo así es evitar ambiguedades; expliquemos por qué.

El objetivo del testeo de software: encontrar errores

Podría pensarse que el objetivo de testear software es demostrar que no contiene errores, y que se ajusta a sus especificaciones originales. Sin embargo, los sistemas reales son tan complejos que tal demostración resulta imposible en la práctica; puede conseguirse mediante la comprobación de todos los valores posibles de entrada y salida (en módulos muy sencillos), o mediante técnicas como los lenguajes de especificación formales. Pero estas técnicas no son perfectas ni aplicables en la inmensa mayoría de sistemas que encontramos en el mundo real.

Tal como Dijkstra ya afirmó hace varios años, "el testeo de programas puede usarse para mostrar la presencia de errores, ¡pero nunca para demostrar su ausencia!"

Probar es un verbo ambiguo (en español)

En efecto, el verbo "probar" en español puede utilizarse en dos sentidos:

  1. Hacer examen y experimento de las cualidades de alguien o algo (como en “probar un coche”; en inglés, “to test”). Tal como dice Dijkstra, ese debe ser el propósito del software testing.
  2. Demostrar, hacer patente la certeza de un hecho o la verdad de algo (como en la expresión “probar un teorema”; en inglés, “to prove”). En el ámbito del testeo significaría “demostrar que el software hace lo que tiene que hacer”; ¡justo eso es lo que casi nunca es posible!

Por tanto, para evitar esa ambiguedad, preferimos usar los términos test/testeo y testear: examinamos el software para encontrar errores ya que casi nunca es posible demostrar formalmente que funciona correctamente. Quizá siendo más puristas deberíamos utilizar "testar" en vez de "testear", pero francamente, la primera nos suena algo extraña y más propia de "hacer testamento".

Algo similar (en inglés) ocurre con el término "free software" ; en inglés "free" puede significar "gratuito" (como en "free beer") y también "libre" (que es su sentido en este caso). El uso alternativo del término "open source" resulta menos ambiguo, aunque parece no ser del todo equivalente a "free software".

1 comentario sobre “¿Por qué "testeamos" software en vez de "probarlo"?”

  1. meneame.net dijo:

    ¿Por qué se testea software (en vez de "probarlo")?…

    ¿Por qué se utiliza la expresión "testear software" en vez de "probar software", si son equivalentes?…

Deje un comentario

*
Teclea la palabra del recuadro, por favor, para comprobar que eres una persona y no un proceso de spam. << Anti-Spam Image



Blog del grupo SQUaC. ¿Conoces nuestros servicios? testeo de software; etc.

SQUaC, una web del ITI