Nota del editor: Bienvenido a la serie "Liderazgo en Pruebas" del gurú y consultor de pruebas de software Paul Gerrard. La serie está diseñada para ayudar a testers con algunos años de experiencia—especialmente a quienes forman parte de equipos ágiles—a sobresalir en sus roles de liderazgo y gestión de pruebas.
Este artículo comienza desde el principio: ¿de qué se trata realmente el testing de software? Aprenderás los conceptos básicos de pruebas de software que enmarcarán tu pensamiento al abordar el arte y la ciencia de la ingeniería de calidad.
Suscríbete al boletín de The QA Lead para recibir notificaciones cuando nuevas partes de la serie estén disponibles—y profundiza más en el curso de Liderazgo en Pruebas de Paul. Si lo haces, usa nuestro código exclusivo QALEADOFFER para obtener $60 de descuento en el curso.
Cuando eres gerente de pruebas en un proyecto, es muy probable que la gente asuma que eres el experto en todo lo relacionado con pruebas. Es posible que otros miembros del equipo tengan puntos de vista propios—bien fundamentados o excéntricos—sobre el testing; algunos pueden tener (o al menos decir que tienen) más experiencia que tú.
Las expectativas sobre las pruebas suelen ser poco realistas e incluso personas con experiencia se posicionan de forma cómoda respecto a lo que las pruebas pueden lograr. Algunos dudarán de tu competencia, de tu valor dentro del equipo o incluso de tus motivaciones. Puede ser difícil.
En tu carrera en la gestión de pruebas, tendrás que adaptarte a circunstancias nuevas y cambiantes. Te toparás con stakeholders empresariales y seniors de proyectos. Te unirás a equipos de diversos tamaños, integrados por personas con antecedentes muy variados. Puede que tengan amplia experiencia, o en realidad, muy poca.
Tu rol podría variar desde ser quien realiza las pruebas hasta dirigir un equipo grande o brindar supervisión a las pruebas de un proyecto, asesorar a un equipo Ágil o averiguar cómo encajan las pruebas en un régimen de entrega continua.
Antes de empezar a usar términos como testing, stakeholder y objetivos de los stakeholders, será mejor que tengamos muy claro de qué estamos hablando.
Definición de “Prueba”
La palabra prueba (test) se usa como sustantivo y como verbo. Se trata tanto de la actividad de probar como de su resultado. Trata sobre las personas u organizaciones que solicitan esa actividad y de quienes utilizan los resultados. También sobre quienes se llaman testers y los sistemas complejos en los que trabajamos.
Si queremos hablar de testing neutral al contexto necesitaremos una definición neutral al contexto de una prueba. Así que busqué la definición de test en el sitio dictionary.com. De las muchas páginas de referencias a la palabra test y sus aplicaciones en múltiples ámbitos, la definición del American Heritage Dictionary es la más apropiada:
Test: (sustantivo) un procedimiento para la evaluación crítica; un medio para determinar la presencia, calidad o verdad de algo; un ensayo
No hay una sola definición; hay tres variantes. Bueno, no está tan mal, creo, ya que las tres juntas nos dan las bases que necesitamos. Veamos cada una más de cerca.
Un procedimiento para la evaluación crítica
La evaluación crítica implica emitir un juicio hábil sobre la verdad o el mérito de algo. Una prueba es un procedimiento, usualmente con una serie de pasos que incluyen algún tipo de preparación, ejecución, recolección de resultados, análisis e interpretación. Esta no es una descripción definitiva de un procedimiento de pruebas. Puede haber más pasos y los principales también podrían desglosarse aún más.
El procedimiento no requiere necesariamente documentación previa, aunque algunas pruebas sí la tienen (y las pruebas automatizadas siempre están guionizadas de alguna manera). Lo importante es que en el núcleo de una prueba existe un proceso de pensamiento perspicaz.
Este proceso de pensamiento está motivado por la necesidad de evaluar el sistema bajo prueba respecto a su adecuación, coherencia, comportamiento, precisión, fiabilidad u otro aspecto o propiedad significativa.
Un medio para determinar la presencia, calidad o verdad de algo
Una prueba podría determinar fácilmente la presencia (o ausencia) de algo, pero la calidad ya es otro asunto: el término está cargado de connotaciones emocionales, pero la misma definición del diccionario nos ayuda. Calidad puede ser "una característica, propiedad o atributo esencial o distintivo". Ahora vemos que una prueba puede revelar estas propiedades.
Observa que no estoy usando el término calidad para reflejar la relación entre un usuario o stakeholder y un producto. La calidad es como la belleza – depende de quien la mira. No entres en debates sobre cómo se mide la calidad (con pruebas). Yo tiendo a evitar la palabra con Q por completo.
Observa que no estoy usando el término calidad para reflejar la relación entre un usuario o stakeholder y un producto. La calidad es como la belleza – depende de quien la mira. No entres en debates sobre cómo se mide la calidad (con pruebas). Yo tiendo a evitar la palabra con Q por completo.
¿Puede una prueba determinar la verdad de algo? Bueno, esto también tiene mucho sentido. Normalmente, necesitamos probar una afirmación como "este sistema cumple algún requisito" o "este sistema se comporta de cierta manera" o "este sistema es aceptable", y así sucesivamente. Hay una cierta cantidad de juicio subjetivo involucrado, pero podemos ver que una prueba o pruebas podrían proporcionar evidencia para que alguien ejerza ese juicio y tome una decisión.
Un juicio
La noción de un juicio implica que el proceso de probar un sistema nos ayudará a evaluarlo respecto a sus cualidades. El propósito de tal evaluación normalmente es tomar una decisión.
La decisión podría ser aceptar o rechazar el sistema, pero también podría ser exponer sus deficiencias para que puedan remediarse de alguna manera. Una prueba también podría influir en un individuo u organización a cambiar de dirección: repensar un diseño; relajar o modificar un requisito; descartar un componente y empezar de nuevo; comprar en vez de construir o construir en vez de comprar.
Una manera natural de ver un sistema bajo prueba es considerarlo como si estuviera en juicio y será juzgado de alguna manera.
Definición de Prueba
A partir de nuestra definición del sustantivo prueba, podemos derivar fácilmente el verbo.
Prueba: (verbo) evaluar críticamente; determinar la presencia, calidad o veracidad de algo; realizar un juicio.
Hasta aquí todo bien.
Pero, en realidad, no tan bien. Desafortunadamente, la profesión de pruebas está plagada de problemas terminológicos. No hay manera de presentar aquí un glosario definitivo. En tus proyectos, para evitar malentendidos, te sugiero que preguntes cuál es el objetivo de cualquier tipo de prueba definida en lugar de confiar en una definición asumida que te lo diga.
Tipos Comunes de Pruebas de las que Oirás Hablar
Dar un tutorial sobre cada uno de estos tipos de pruebas de software va más allá del alcance de este artículo, pero como tester de software, escucharás mucho sobre estos (de algunos probablemente ya habrás leído):
- Prueba de caja negra
- Pruebas de regresión
- Pruebas unitarias
- Pruebas beta
- Pruebas manuales
- Pruebas automatizadas o automatización de pruebas
- Pruebas de extremo a extremo
- Pruebas de estrés
- Pruebas de seguridad
- Pruebas de rendimiento
- Prueba de caja blanca
- Pruebas de aceptación
- Pruebas de integración
- Pruebas de carga
- Pruebas de sistema
- Pruebas no funcionales
No importa de qué tipo de prueba estés hablando, mi consejo es que siempre preguntes cuál es el objetivo de la prueba, incluso si parece un nombre comúnmente aceptado como prueba unitaria o de aceptación. La interpretación de lo que significan puede variar de un equipo a otro.
Suscríbete al boletín The QA Lead para recibir notificaciones cuando se publiquen nuevas partes de la serie—y obtén un análisis más profundo en el curso de Liderazgo en Pruebas de Paul. Si lo haces, usa nuestro código de cupón exclusivo QALEADOFFER para conseguir $60 de descuento en el curso!
Lectura relacionada: LAS 7 HERRAMIENTAS BÁSICAS DE INGENIERÍA DE CALIDAD Y POR QUÉ LAS NECESITAS
