Según un estudio del Instituto Nacional de Estándares y Tecnología de Estados Unidos (NIST), publicado en el 2002, “los defectos de software le cuestan a la economía de Estados Unidos $59.500 millones al año. Aproximadamente $22.200 millones podrían ahorrarse si se mejoran los procesos de identificación y eliminación de defectos de software ”.
Determinar la calidad de algo implica evaluarlo. Es usual probar el software para determinar si hace lo que debería hacer, pero primero tienen que existir los programas. Evaluar calidad vía pruebas al final del desarrollo del software, es antieconómico, pues el origen de los defectos puede estar muy temprano y se incurre en costos enormes de detección y reparación (retrabajo). Es mejor práctica planear y diseñar las pruebas antes de ejecutarlas, y hacerlo incrementalmente: unidades, componentes integrados y el sistema. Esos niveles de prueba reflejan las características y los objetivos de la aplicación en momentos de definición.
Las pruebas y el mantenimiento de software son las cenicientas de la ingeniería del software. Prácticamente están ausentes de las carreras de Informática. Los profesionales han aprendido de esto ‘en la calle’: en capacitaciones, autoestudio o a golpe y porrazo. Se han creado algunos estándares, notablemente los del IEEE y de la Institución Británica de Estándares, con un impacto limitado. La Organización Internacional de Normalización (ISO) está desarrollando un nuevo estándar, 29119, amplio y ambicioso, sobre pruebas de software, que comprende 5 partes: conceptos y terminología, procesos de prueba, documentación de pruebas, técnicas de prueba y pruebas dirigidas por palabras clave. Aún hay tiempo de participar en las etapas finales de votación del estándar y conviene que Costa Rica lo entienda, lo critique y lo asimile vía Inteco, para hacer una difusión en empresas, gobierno y universidades.