La evolución de las pruebas de software como disciplina
El funcionamiento de los sistemas modernos de TI depende de nuestra habilidad de producir software en una forma costeable. El término “ingeniería de software” se usó por primera vez en el taller de la OTAN en 1968 en Alemania Oriental. ¡Este taller se enfocó en la crisis del software! Desde ese momento se observaba una crisis en la calidad, confiabilidad, altos costos, etcétera., de los proyectos de sistemas de software, es decir, comenzó mucho antes de que la mayoría de nuestros testers del día de hoy hubieran nacido.
La actitud respecto a las pruebas de software ha tenido una
evolución positiva e importante en los últimos años. En los 50’s las
pruebas no eran otra cosa que “debuggear” o depurar, en los 60’s al usar
compiladores, las pruebas se separaron de la actividad del “debugging” o
depuración. En los 70’s al introducir los conceptos de ingeniería de
software, las pruebas evolucionaron como una disciplina técnica. Al
tener una mayor relevancia los sistemas de software, ha crecido el
interés en la protección, seguridad y aceptación, hasta desarrollar la
disciplina como una profesión formal.
El perfil del tester
Si bien sabemos que un “probador de software” deberá de ser: curioso, perceptivo, inquisitivo, crítico, analítico, persistente, buen comunicador y negociador, estas características y habilidades son parte del perfil de un buen ingeniero, pero son en su mayoría implícitas a la profesión y difíciles de medir de forma concreta. Es por eso que se requiere de una formación estructurada y especializada que pueda ser validada para garantizar los conocimientos básicos y la experiencia.
Al día de hoy, la mayoría de los ingenieros de pruebas han aprendido
a desarrollar su profesión de forma empírica. Si bien algunos cuentan
con mayor o menor formación formal en términos de sistemas de software y
una carrera universitaria afín al área de TI, pocos han sido los que
han tenido entrenamiento formal y han logrado acreditar certificaciones
en la disciplina. Esta disciplina ha tomado una gran relevancia en las
últimas 3 décadas y al día de hoy ya se considera una profesión madura
que cuenta con diferentes ofertas para validar los conocimientos de sus
practicantes. A continuación describiremos las principales
certificaciones disponibles y comentaremos sus principales diferencias y
puntos clave.
Principales organizaciones certificadoras y su oferta
El International Software Testing Qualifications Board es una organización basada en Alemania pero con representación en distintas regiones del mundo. En el caso de América está el ASTQB (American Software Testing Qualifications Board) para Estados Unidos, CSTB (Canadian Software Testing Board) para Canada y HASTQB (Hispanic America Software Testing Qualifications Board) para países de habla hispana. Estos son los niveles y opciones de especialización para las certificaciones que ofrece ISTQB:
- Nivel de fundamentos (Foundation).
- Nivel avanzado (Advanced) con 3 opciones de especialización: Test Manager, Test Analyst, Technical Test Analyst.
- Nivel experto con 4 opciones de especialización: Improving Test Process, Test Management, Test Automation, Security Testing.
Asímismo, el IIST (International Institute for Software Testing) de Estados Unidos ofrece los programas:
- Certified Software Test Professional (Associate, Practitioner, Master Levels).
- Certified Agile Software Test Professional.
- Certified Test Manager.
- Certified Software Quality Manager.
- Certified Software Test Automation Specialist.
La American Society for Quality (ASQ) es un organismo bastante
importante en Estados Unidos, que ofrece programas de formación y
certificación para roles de gestión de calidad en distintos dominios. En
el caso específico del software, ofrece el programa CSQE (Certified
Software Quality Engineer).
También tenemos al iSQI (International Software Quality Institute)
en Alemania, que destaca por un lado por ofrecer un programa de
certificación para testing ágil y por otro por ofrecer un programa
específico para el modelo V. Estos son sus programas:
- CAT Certified Agile Tester (Foundation Level y Advanced Level)
- QAMP Quality Assurance Management Professional
- TTCN-3 Testing and Test Control Notation
- Certified V-Model XT Project and QA Manager
El British Computer Society / Information Systems Examinations Board
(BCS/ISEB) en el Reino Unido ofrece los siguientes programas de
certificación:
- Foundation, Advanced, Expert (en alianza con ISTQB)
- Intermediate Certificate in Software Testing. Este certificado se considera como un nivel intermedio entre los niveles Foundation y Advanced del ISQTB.
- Certified Agile Tester (en alianza ISQI)
Por último, el Instituto de Examinación para Ciencias Informáticas
en Holanda ofrece programas de certificación orientados a la metodología
TMap (Test Management Approach):
- TMAP NEXT Test Engineer
- TMAP NEXT Test Manager
En general podemos observar que la mayoría de las ofertas de pruebas
se orientan a un nivel básico y permiten la especialización como
administradores o líderes de pruebas. Son pocas las organizaciones que
validan diferentes niveles de dominio de la disciplina (niveles
intermedios, avanzados o expertos) y sólo un par ofrecen certificaciones
relacionadas a pruebas técnicas y automatización de pruebas.
Seguramente en los siguientes años veremos una mayor especialización
en términos de automatización de pruebas y pruebas no funcionales.
Además, se puede ver claramente que la profesionalización de la
disciplina se ha adoptado tanto en EUA y Europa. También se debe
considerar que además de la oferta de estas organizaciones, diferentes
compañías locales y regionales están comenzando a definir sus propios
esquemas de certificación y rutas de entrenamiento.
La tabla 1 muestra un comparativo de las opciones ofrecidas por las distintas organizaciones.
Algunos puntos a considerar:
- Todas las certificaciones mencionadas en la tabla, se acreditan por medio de examen, a excepción de IIST que se acredita simplemente por entrenamiento.
- Solamente ISTQB cuenta con representación regional en México (HASTQB).
- ISTQB contempla dos especializaciones técnicas: Technical Analyst, Test Automation
- IIST tiene la especialización técnica de: Test Automation Specialist.
Puntos importantes al decidir sobre una certificación
- Presencia a nivel mundial y reconocimiento. Es recomendable contar una certificación por parte de una organización con presencia mundial a través de capítulos o coordinaciones regionales. Aquí vale la pena revisar las organizaciones que tienen más tiempo en la industria y que han logrado formar vínculos con entidades gubernamentales u otras asociaciones similares.
- Tipo de Acreditación. Básicamente hay dos tipos, las que son basadas en exámenes y las que son basadas en entrenamientos. Para las primeras, únicamente se requiere acreditar un examen y pagar su costo. Para las segundas, además del examen es forzoso haber tomado el curso oficial asociado a la certificación.
- Vigencia. El tiempo que acredita la certificación, algunas no expiran y otras deben renovarse cada cierto tiempo (3 a 5 años).
- Niveles de Certificación. Normalmente las organizaciones con mayor madurez ofrecen más de un nivel y esto permite una ruta de desarrollo más robusta.
- Ramas de especialización. También hay algunas organizaciones que ofrecen más de un esquema de crecimiento, ya que uno puede especializarse en una rama de la disciplina de pruebas como es la Administrativa, Mejora de Procesos, Pruebas No Funcionales, Automatización, etc.
Conclusión
Hoy en día es difícil imaginar alguna empresa u organización que no
dependa de la tecnología, es por ello que los sistemas cada día deben de
aportar mayor calidad y fiabilidad a los usuarios finales. Con lo
anterior es evidente que en el día a día se necesitan Ingenieros de
Prueba con mayor preparación y experiencia para garantizar la
funcionalidad de los requerimientos solicitados, pero también para
robustecer los sistemas; es decir, que sean resistentes-confiables para
el público en general.
En México el HASTQB es uno de los organismos acreditados más importantes y cada día a nivel mundial mediante el ISTQB cobra mayor fuerza. Actualmente cuenta con más de 250,000 personas certificadas en diferentes niveles en más de 70 países. Claramente vemos el desarrollo y madurez de la profesión del ingeniero de pruebas y es por ello que la preparación y acreditación formal cobran mayor importancia.
No hay comentarios.:
Publicar un comentario