Un ejemplo de mala elección para automatizar, sería escoger componentes cuyas características son inestables o su proceso de desarrollo implica cambios continuos.
En el desarrollo contemporáneo de software existe una tendencia creciente a usar Frameworks como los denominados XUnit (por ejemplo JUnit y NUnit) que permiten la ejecución de pruebas unitarias para determinar cuándo varias secciones del código se comportan como es esperado en circunstancias específicas.
Los casos de prueba describen las pruebas que han de ejecutarse sobre el programa para verificar que este se ejecuta tal y como se espera.
Solo cuando el código pasa exitosamente las pruebas se considera completo.
Una variación más es la automatización sin scripts, que no usa grabación y reproducción de acciones sino que construye un modelo de la Aplicación Bajo Prueba ABP (AUT en sus siglas en inglés) que permite a la persona que verifica ("tester") crear pruebas simplemente editando parámetros y condiciones.