El International Software Testing Qualifications Board (ISTQB) nació en 2002 en Edimburgo con el objetivo de definir un esquema de certificación internacional para la calidad del software. Permite formarse y certificarse en tres niveles: Foundation, Advanced y Expert.
El ISTQB International Software Testing Qualifications Board propone los siete principios del testing:
- El testing muestra la existencia de errores, no su ausencia. Es muy importante partir de esta base, porque el objetivo principal de las pruebas es la identificación y resolución de errores. Esto reduce la posibilidad de que los usuarios finales encuentren errores no descubiertos.
- El testing exhaustivo es imposible. Sin embargo, el desconocimiento hace que en muchos casos se pronuncie la famosa frase «¡probadlo todo!» Probar todas las combinaciones de un software es imposible excepto en productos extremadamente sencillos. Por eso es importante evaluar y delimitar qué y cómo se debe probar.
- El testing en fases tempranas de desarrollo ahorra tiempo y dinero. Cuanto más se avanza en el ciclo de vida del producto, más costoso es solucionar los errores.
- Los defectos se pueden aglutinar en clusters. Existen grupos funcionales que por su complejidad o especificidad de negocio reúnen a su alrededor la mayor parte de defectos sotfware.
- Se da la paradoja del pesticida que pierde efectividad a largo plazo: si se repiten siempre los mismos test llegará un momento en el que no se encontrarán defectos. Por eso es importante mantener y nutrir las baterías de pruebas con nuevos casos de manera regular.
- El testing depende del contexto. Las pruebas deben realizarse teniendo en cuenta el escenario, entorno y caso de uso. ¿El usuario tendrá prisa? ¿Usará la aplicación en dispositivo móvil o escritorio? ¿La usará para si mismo o para atender a otra persona? ¿Es una aplicación profesional o lúdica? Cuántas personas utilizarán al mismo tiempo la aplicación cuando esté en producción?
- La ausencia de errores es una falacia. Aunque es el sueño de cualquier usuario, programador o responsable de proyecto, ¡el software siempre tiene errores! 😊 Por eso es importante diseñar una buena estrategia QA.
QA y Testing de Software en Hiberus
En Hiberus te ayudamos a diseñar, construir y mantener tu gobierno QA y a diseñar e implementar tu política de testing. Basamos nuestros procesos y metodologías en diversos estándares y buenas prácticas de la industria. Uno de ellos es el esquema de certificación de ISTQB, del que se realiza formación continua y se certifica a nuestros equipos.
Desde Hiberus apostamos por un Quality Management (QA + QC) personalizado, adaptado a sector y a producto, escalable, con objetivos marcados y medibles mediante indicadores. Todo esto llevado a cabo mediante metodologías ágiles, con equipo transectorial, protocolos y flujos estandarizados; documentación y trazabilidad de quality manegement por releases y sprints; interacción continua sobre diseño de test plan, test cases y test suites.
Se suele utilizar el concepto QA para referirse indistintamente a Quality Assurance y a Testing, pero realmente no son lo mismo. Ambos forman parte de un concepto mayor, la Gestión de la Calidad o Quality Management.
- QA: prevenir defectos a través de Análisis de requisitos, Análisis estático o Code testing, entre otros.
- QC: detector de defectos a través de Testing plan, Plan de releases y mantenimiento
QA Quality Assurance + QC Quality Control (incluye testing) = QM Quality Management
Uno de los apartados del Quality Control, contiene en su interior el testing, además de otras técnicas. Por otro lado, el testing es mucho más complejo que ejecutar una serie de pruebas y observar los resultados. Incluye la planificación, el análisis, el diseño, la implementación y la evaluación de los tests, además de la generación de los informes de progreso y resultados.
Según el estándar ISTQB, los objetivos del testing son mucho más amplios de los que habitualmente se plantean:
- Prevenir defectos y verificar que los requisitos se cumplen.
- Comprobar que el producto está completo y se comporta como esperan los stakeholders
- Generar confianza en el nivel de calidad reduciendo el riesgo de calidad inadecuada
- Proveer información a los stakeholders para tomar decisiones informadas
- Cumplir con requisitos contractuales, legales, regulatorios y standards.
Si tienes interés en los servicios de QA y de Testing, escríbenos y nuestro equipo se pondrá en contacto contigo para analizar tu proyecto e indicar siguientes pasos.