Organización de los equipos de pruebas funcionales

Organización de los equipos de pruebas funcionales

Generalidades

Las pruebas son una actividad que se distribuye durante el proceso de desarrollo completo, desde el primer componente hasta la aceptación. Las pruebas comienzan ya con la elaboración de los primeros documentos (en forma de revisiones).En cada fase del desarrollo se dispone de diferentes objetos de prueba para los que a su vez se deben implantar diferentes procedimientos de pruebas, pruebas de componentes, pruebas de integración, etc.

Para cada uno de estos pasos deben formarse probadores o equipos de pruebas, equilibrando los costes y el aprovechamiento y escogiendo al equipo de pruebas en base a las áreas.

Beneficios y desventajas de la independencia

Entre los beneficios de la independencia se incluyen:

  1. Los probadores independientes ven diferentes defectos y son imparciales
  2. Un probador independiente puede verificar suposiciones que ha hecho la gente durante la especificación e implementación

Entre las desventajas se incluyen:

  1. Aislamiento del equipo de desarrollo (si la independencia es total)
  2. Los probadores de pruebas pueden ser el cuello de botella en tanto en cuanto son el último punto de control
  3. Los desarrolladores pueden perder sensación de responsabilidad respecto de la calidad

Perfiles

Para proyectos grandes, complejos o críticos desde el punto de vista de las seguridad de las personas, suele ser mejor tener múltiples niveles de prueba, siendo realizados algunos o todos ellos por probadores independientes. El personal de desarrollo puede participar en las pruebas, especialmente en los niveles mas bajos, pero su falta de objetividad suele limitar su efectividad. Los probadores independientes pueden tener autoridad para requerir y definir procesos y reglas de pruebas pero los probadores sólo deberían asumir roles relacionados con el proceso sólo cuando hay un claro mandato al respecto.

Los probadores típicos a nivel de componente y de integración serían los desarrolladores, en las pruebas de aceptación, expertos en negocio y usuarios y en la aceptación operativa los operadores. Las pruebas de sistema suelen ser llevadas a cabo por equipos independientes de prueba.

En el marco de las pruebas se necesitan muchos colaboradores diferentes. Para diferentes tareas se requieren diferentes cualificaciones

Se distinguen dos perfiles básicos:

  1. Responsable de pruebas
  2. Probador

En los proyectos grandes de puede diferenciar entre responsable de las pruebas y gestor de las pruebas

Respecto a los probadores, en función del grado de especialización, se puede hablar de:

  1. Diseñador de prueba
  2. Automatizador de pruebas
  3. Administrador de pruebas
  4. Ejecutor de prueba

Se pueden diferenciar otros roles

Perfil del responsable de pruebas

Entre las tareas típicas de un responsable de las pruebas se pueden incluir:

  1. Coordinar la estrategia y el plan de pruebas con los jefes de proyecto y otros responsables
  2. Escribir o revisar una estrategia de pruebas para el proyecto, así como una política de pruebas para la organización
  3. Contribuir con la perspectiva de prueba en otras actividades del proyecto, como la integración de la planificación
  4. Planificar las pruebas – considerando el contexto y comprendiendo los objetivos y riesgos de las pruebas – incluyendo la selección de enfoques de prueba, la estimación de tiempo, esfuerzo y coste de las pruebas, adquisición de recursos, definición de los niveles y ciclos de prueba y planificación de la gestión de incidencias
  5. Iniciar la especificación, preparación, implementación y ejecución de las pruebas, monitorizar sus resultados y comprobar los criterios de finalización
  6. Adaptar la planificación en base a los resultados y progresos de las pruebas (documentado en ocasiones en informes de estado) y tomar cualquier acción necesaria para compensar los problemas
  7. Establecer una gestión de configuración del software relacionado con las pruebas, para asegurar la trazabilidad
  8. Introducir métricas adecuadas para la medición del progreso de pruebas y evaluar la calidad de las pruebas y del producto
  9. Decidir que debería automatizarse, hasta donde y cómo
  10. Seleccionar herramientas para dar soporte a las pruebas y organizar la formación de los probadores en su uso
  11. Decidir sobre el levantamiento del entorno de pruebas
  12. Escribir informes resumen de las pruebas basadas en la información recopilada durante éstas.

Se necesitan experiencias especiales en las áreas de:

  1. Pruebas de sw y gestión de la calidad
  2. Planificación y dirección de pruebas
  3. Experiencia en dirección de proyectos
  4. Capacidad para dirigir

Tareas del probador

Entre las tareas típicas de un probador se pueden incluir:

  1. Revisar y contribuir en los planes de prueba
  2. Analizar, revisar y evaluar los requisitos de usuario, las especificaciones y los modelos, para valorar qué tanto pueden ser probados
  3. Crear especificaciones de pruebas
  4. Montar el entorno de prueba (frecuentemente coordinándose con la administración del sistema y de la gestión de red)
  5. Preparar y adquirir datos de prueba
  6. Implementar pruebas a todos los niveles, ejecutar y registrar resultados de las pruebas, evaluar los resultados y documentar las desviaciones respecto de los resultados esperados
  7. Usar herramientas de administración o gestión de las pruebas y probar herramientas de monitorización según se necesite
  8. Automatizar pruebas (puede ser soportado por un desarrollador o por un experto de automatización de las pruebas)
  9. Medir las prestaciones de componentes y sistemas (si aplica)
  10. Revisar las pruebas desarrolladas por otros

Perfiles

Diseñador de pruebas

  • Propone las pruebas necesarias y establece el orden de su ejecución
  • Conocimientos:
    • Conocimiento (know-how) de desarrollo y pruebas
    • Conocimientos de ingeniería de SW
    • Conocimientos sobre métodos de especificación

Automatizador de pruebas

  • Comprueba las posibilidades de automatización y las lleva a cabo
  • Conocimientos:
    • Experiencia como probador
    • Conocimiento (know-how) en diseño de pruebas y automatización
    • Experiencia en programación
    • Muy buenos conocimientos de las herramientas implantadas

Administrador del sistema de pruebas

  • Implanta el entorno de las pruebas y lo gestiona
  • Conocimientos:
    • Administración de sistemas (o acceso a un administrador de sistemas)
    • Herramientas de desarrollo y pruebas
    • Sistemas de bases de datos, Redes en caso de ser necesario
    • Instalación y gestión del entorno del sistema

Ejecutor de las pruebas de software

  • Ejecuta las pruebas en función de los supuestos / especificaciones
  • Conocimientos:
    • Conocimientos generales de TI y básicos de pruebas
    • Manejo / parametrización de la herramienta implantada
    • Experiencia en la ejecución de pruebas
    • Conocimientos acerca del objeto de prueba

Experto técnico

  • Completa el equipo de pruebas en caso de necesidad
  • Pueden ser:
    • Administradores o diseñadores de bases de datos
    • Expertos en interfaces de usuario
    • Especialistas en redes

Otros perfiles

Según el planteamiento del problema, el entorno de pruebas, etc, pueden incorporarse otros especialistas al equipo de pruebas,
Aquí se necesitan conocimientos especiales en materias que no tengan relación con las pruebas, p.ej. Expertos en usabilidad o psicólogos

Perfiles Soft

  • A las cualificaciones técnicas referidas se añaden factores como:
    • Capacidad de trabajo en equipo, habilidad política o diplomática
    • Disponibilidad para consultar acerca de hechos evidentes
    • Capacidad para imponerse, apariencia de seguridad
    • Exactitud y creatividad
    • Manejar con seguridad situaciones complejas

Comentario

Sin estas características añadidas un probador sólo tendrá un éxito condicional aunque sea muy competente en la materia


Trabaja con nosotros

Tanto si estás buscando trabajar full time, como suplementar tus actuales ingresos con desarrollos adicionales a los que estás haciendo en tu actual trabajo, o quieres implicarte en el desarrollo de proyectos opensource y apoyar a la comunidad, rellena el formulario que hay a continuación y nos pondremos en contacto contigo para ver los proyectos en los que podemos colaborar.

Scroll al inicio