Cómo comienza la historia de las pruebas de software
Muchos conocerán sobre aquel famoso incidente de 1947. Ese año, un técnico de la computadora Mark II en la Universidad de Harvard reportó el primer defecto. Este fue causado, ni más ni menos, por un «bicho» real. Sin embargo, al mirar más atrás en la historia de las pruebas de software, descubrimos algo interesante. Nos encontramos con que el uso de la palabra «bug» ya era común. De hecho, Thomas Alva Edison la utilizaba para referirse a fallas técnicas. Esto ocurría en sus inventos electrónicos durante la década de 1870.
En esta historia de las pruebas de software, empezamos a contar sobre el «bug» porque es parte inmemorial del origen. Además, es fundamental para entender esta área de TI. Hoy en día, la conocemos como Testing.
Pruebas de Software ¿Qué es?
Según Glenford J. Myers reconocido informático y autor de libros reconocidos de Testing, entre ellos The Art of Software Testing, nos dice en su frase:
“Las pruebas de software son el proceso de ejecutar un programa con la intención de encontrar errores”
Según Cem Kaner profesor de ingeniería de software en el Instituto de Tecnología de Florida y director del Centro de Educación e Investigación de Pruebas de Software. Testing de Software la define como “una investigación técnica de un software con el fin de brindar información sobre la calidad de la misma, a las diferentes personas involucradas en su construcción.”
Las pruebas de software comprenden un conjunto esencial de actividades dentro del proceso de desarrollo. Estas acciones permiten establecer métodos de trabajo y herramientas específicas para identificar defectos de manera oportuna. Así, logramos la estabilidad del software.
El testing es el único instrumento capaz de precisar la calidad del software. Es decir, este procedimiento garantiza que un programa cumpla con todos los requerimientos solicitados por los usuarios. Esto asegura la satisfacción y el buen funcionamiento final.
Historia y evolución del Software Testing
Entremos a la historia de las pruebas de software y veamos su evolución. Aunque ha tenido un auge impresionante en los últimos años por la importancia adquirida, su inicio es de vieja data. Por lo que su evolución está subdividida en 5 períodos en la línea de tiempo.
Debugging (1947 – 1956)
Todas las pruebas realizadas se encontraban dirigidas a la corrección directa del código fuente de los programas. Los programadores las realizaban directamente y aun no tenían claro la diferencia que existía entre: checkout, debugging y testing.
Demostración (1957-1958)
En esta fase de la historia de las pruebas de software se encargaban de utilizar de forma masiva el tes. Esto con el fin de asegurar que se cumplía con la especificación. Se realizaban al finalizar el desarrollo del software.
Destrucción (1979 – 1982)
Los cambios en la metodología se hicieron notar, en este período pasaron de demostrar que un programa era correcto mediante pruebas y demostraciones teóricas a demostrar que el programa no funciona o tiene fallos. Con este cambio de óptica, se tiene una mayor posibilidad de encontrar los defectos. Los test se transforman en casos de prueba que se aplican a los programas de los desarrolladores para encontrar errores y corregirlos.
Evaluación (1983 – 1984)
Esta fue una etapa donde se comenzó a integrar las pruebas de software en el ciclo de vida del desarrollo del software.
Prevención (1985 – Actual)
Finalmente, en esta época se diversificaron las pruebas incorporándolas en todas las fases del desarrollo. Esto se hace para poder verificar todos los tipos de componentes y modelos. Además de los módulos, subsistemas y sistemas que conforman el software.
Las Pruebas de Software como carrera
La evolución de las pruebas, hace que se requiera cada vez más un personal con conocimientos y estudios sólidos. Con el fin de profesionalizarse, existen varias alternativas de cursos y certificaciones. Entre ellas la más reconocida a nivel mundial son las de ISTQB, sus siglas (International Software Testing Qualifications Board).
¿Qué significa ISTQB?
Es una organización internacional sin fines de lucro de certificación de la calidad del software. Está conformado por testers de todo el mundo con experiencia y gran experticia. Este equipo trabaja de manera voluntaria para consolidar la base necesaria y actualizada de conocimientos, técnicas y mejores prácticas en pruebas de software.
Según ISTQB, el testing de software es importante porque:
- Permite identificar errores durante las fases de desarrollo.
- Asegura la confianza del usuario final y su satisfacción al usar el software.
- Permite asegurar la calidad del producto y su correcto funcionamiento.
- Es necesario para mantener la reputación del negocio en el sector.
Además, puedes encontrar su página en español SSTQB, con las referencias de cada certificación.
¿Qué tan complicado es prepararse profesionalmente como Certified Tester?
Para certificarte con ISTQB cuentas con un esquema que ofrece 3 niveles y opciones especializadas como:
Nivel Fundamento o Básico (Foundation Level)
La certificación del nivel básico se encuentra orientada a profesionales que precisen probar su conocimiento práctico. También, poseer el conocimiento de los conceptos fundamentales de las pruebas de software. Este nivel cuenta con 3 módulos que consta de un plan de estudio.
Nivel Básico
Este nivel tiene como objetivo otorgarles a todos aquellos profesionales las capacidades necesarias para que logren desenvolverse con los conocimientos base. Entre estos están: Modelos, métodos, técnicas, niveles, terminología, gestión en pruebas de software.
Probador Ágil – Extensión de nivel básico
Para certificarse en este módulo debemos comprender inicialmente que es necesario el haberse certificado en el nivel básico. Debido a que este es una extensión donde estaría ampliando los conocimientos obtenidos.
Según ISTQB “un probador en un proyecto ágil trabajará de manera diferente a un probador de un proyecto tradicional”.
Probador basado en modelos – Extensión de nivel básico
Al igual que el probador ágil para obtener la certificación en este módulo es necesario haber obtenido la certificación del nivel básico.
Realizando la investigación en ISTQB “un probador basado en modelos en un proyecto, utiliza modelos para conducir el análisis y el diseño de la prueba, y mantiene la ventaja de los modelos para otras actividades de prueba, tales como la ejecución y presentación de informes de prueba”.
Nivel Avanzado
Este nivel se encuentra orientado a profesionales que ya han aprobado el nivel básico. Igualmente que quieran alcanzar una comprensión más profunda con respecto a las pruebas de software. Además de dar un paso adelante a su carrera como probador.
Este nivel cuenta con 3 planes de estudio diferentes:
- Jefe de Pruebas (Test Manager)
- Analista de Pruebas (Test Analyst)
- Analista Técnico de Pruebas (Technical Test Analyst)
La certificación en este nivel les concede a los profesionales de la carrera habilidades y conocimientos más amplios. De esta manera. extiende la comprensión alcanzada en el nivel básico.
Nivel Experto
En este nivel se amplían los conocimientos y experiencia obtenida en los 2 primeros niveles. Con ello, facilita certificaciones más profundas y dirigidas a la práctica en una variedad de diferentes asignaturas de pruebas.
ISTQB nos muestra que “un experto en pruebas es aquel que combina una amplia comprensión de las pruebas en general con una comprensión profunda en un área de prueba especial.»
Este nivel tiene 2 módulos:
- Mejorando el proceso de prueba.
- Gestión de pruebas.
En este punto ya sabes la importancia de las pruebas, su historia, evolución y de la posibilidad de hacer una gran carrera. Igualmente tienes una idea de qué hace el tester de software. Para ejercer en esta área es necesario tener conocimientos sobre los fundamentos de pruebas. Además de tener las mejores prácticas en creación y ejecución de pruebas.
Como pudiste observar, a lo largo de cada etapa, las pruebas de software han cobrado una relevancia innegable. Ya no son subestimadas; al contrario, se han vuelto altamente necesarias en todo proyecto de sistemas que aspire a la calidad. Así es como la historia de las pruebas de software nos enseña su valor fundamental.