Una sola distinción, y las decisiones que se ordenan solas cuando el equipo la tiene.
Es la página más importante del hub, porque casi todas las discusiones improductivas sobre QA vienen de que dos personas están usando la misma palabra para dos actividades distintas.
Son de James Bach y Michael Bolton, y se citan textuales porque la traducción las rompe:
Testing: "the process of evaluating a product by learning about it through experiencing, exploring, and experimenting, which includes to some degree: questioning, study, modeling, observation, inference, etc."
Checking: "the mechanistic process of verifying propositions about the product."
Y la relación entre las dos:
"Testing encompasses checking (if checking exists at all), whereas checking cannot encompass testing."
Se dejan en inglés a propósito. En español las dos se dicen "probar" o "verificar", y la distinción se pierde exactamente al traducirla.
Un check presupone que ya sabes qué verificar. Alguien tuvo que descubrir antes que esa proposición valía la pena.
El testing es la actividad que produce esas proposiciones. El checking es la que las repite barato para siempre.
Dicho de otro modo: el testing empieza sin saber la respuesta; el checking empieza sabiéndola.
Recibes un departamento nuevo.
Checking. Entras con una lista hecha de antes. ¿Tiene tres dormitorios? Sí. ¿El calefón es de 10 litros? Sí. ¿Todas las llaves abren? Sí. ¿Hay corriente en los doce enchufes? Sí.
Cada pregunta tiene respuesta sí o no. Estaban escritas antes de que entraras. Cualquier persona con esa lista llega al mismo resultado. Un robot con esa lista llegaría al mismo resultado.