• No se han encontrado resultados

ORGANIZACIÓN PRUEBA

Gestión de Pruebas

5.1 ORGANIZACIÓN PRUEBA

1 Reconocer la importancia de las pruebas independientes. (KL)

2 Enumerar las ventajas y los inconvenientes de las pruebas independientes dentro de una organización. (K2)

3 Reconocer los diferentes miembros del equipo para ser considerado para la creación de un equipo de pruebas. (KL)

4 Recordemos las tareas de los líderes y los testers de prueba típicos. (KL)

En esta sección, vamos a hablar de la organización de un esfuerzo de la prueba dentro de un proyecto. Vamos a ver el valor de pruebas independientes, y discutir los beneficios y riesgos potenciales asociados con las pruebas independientes. Nosotros examinaremos los diversos tipos de diferentes miembros del equipo de prueba de lo que se quiere en un equipo de prueba. Y bueno familiarizarnos con las tareas típicas realizadas por los líderes de la prueba y los testers.

A medida que avanzamos a través de esta sección, mantener los ojos abiertos para los términos del glosario

tester, el líder de la prueba y director de pruebas. 5.1.1 Las pruebas independientes e integradas

En el capítulo 1 hablamos de pruebas independiente desde la perspectiva psicológica del individuo tester. En este capítulo, vamos a ver en la organización e implicaciones para la gestión de la independencia.

Los enfoques para la organización de un equipo de pruebas varían, así como los lugares en la organización, estructura donde el equipo de prueba se ajusta. La prueba es una evaluación de calidad, y ya que la evaluación no siempre es positiva, muchas organizaciones se esfuerzan por crear un clima organizacional donde los testers pueden ofrecer una independencia, objetiva a la evaluación de la calidad.

Cuando se piensa en la forma independiente del equipo de pruebas es, reconocer que independencia no es un bien / o estado, sino un proceso continuo. En un extremo de lo continuo se encuentra la falta de independencia, donde el programador realiza pruebas dentro del equipo de programación.

Avanzando hacia la independencia, se encuentra un tester o grupo de testers integrado al equipo de trabajo junto a los programadores, e informan al gerente de desarrollo. Es posible encontrar un equipo de testers que están independientes y fuera del equipo de desarrollo, pero la presentación de informes de gestión de proyectos.

Cerca del otro extremo de la escala estaría completa independencia. Podría haber un equipo de prueba separado en la organización en un punto igual al equipo de desarrollo o proyecto. Usted puede encontrar especialistas en el negocio de dominio (por ejemplo, los usuarios del sistema), especialistas en la tecnología (por ejemplo, expertos de bases de datos), y especialistas en las pruebas (tales como testers de seguridad, certificación testers, o expertos de automatización de pruebas) en un equipo de prueba separado, como parte de un equipo de pruebas más grande e independiente o como parte de un contrato, el equipo de prueba externalizado. Vamos examinar los beneficios y riesgos potenciales de la independencia, a partir del beneficio.

Organización independiente a menudo puede ver más, y otros defectos diferentes que un tester de trabajo dentro de un equipo de programación o un tester que es de profesión un programador. Mientras que los analistas de negocios, personal de marketing, diseñadores y programadores traen sus propias suposiciones sobre la especificación y ejecución del programa bajo prueba, organización independiente aportan un conjunto diferente de hipótesis a las pruebas y a los comentarios, que a menudo ayuda a exponer los defectos ocultos y los problemas relacionados con la manera de pensar del grupo, como hemos comentado en Capítulo 3. Un tester independiente trae una actitud escéptica, sensación de pesimismo en los profesionales, si hay alguna duda sobre la conducta observada, se debe preguntar: ¿Esto es un defecto?

A nivel de equipo, un equipo de pruebas independiente que informa a una persona mayor o gerente puede disfrutar de (una vez que se lo han ganado) más credibilidad en la organización que un supervisor de la prueba o el tester que forma parte del equipo de programación. un tester independinete que reporta a la alta dirección puede reportar sus resultados con honestidad y sin preocuparse por las represalias que pudieran derivarse de señalar los problemas de compañeros de trabajo o, peor aún, el trabajo del gerente. Un equipo de pruebas independiente a menudo tiene un presupuesto separado, lo que ayuda a garantizar la inversion adecuado del dinero que es dedicado a la formación del tester, herramientas de prueba, equipos de prueba, y así sucesivamente. En algunas organizaciones, los testers en un equipo de prueba independiente puede resultar más fácil de tener una carrera que conduce en más puestos de alto rango en las pruebas.

Equipos de pruebas independientes no están exentos de riesgos. Es posible que los testers y el equipo de pruebas estén aislados. Esto puede tomar la forma de aislamiento interpersonal a partir de los programadores, los diseñadores y el equipo del proyecto en sí, o puede tomar la forma de aislamiento de la visión más amplia de la calidad y la objetividad de negocios (por ejemplo, el enfoque obsesivo sobre los defectos, a menudo acompañado de una negativa a aceptar priorización de los defectos de negocio). Esto conduce a problemas de comunicación, sentimientos de alineación y la antipatía, la falta de identificación con apoyo para los objetivos del proyecto, festivales culpa espontáneas y puñaladas por la espalda político.

Incluso los equipos de pruebas bien integrados pueden sufrir problemas. Otros grupos de interés del proyecto titulares podrían llegar a ver al equipo de pruebas independiente con o sin razón como un cuello de botella y una fuente de retraso. Algunos programadores deponen de sus responsabilidades de calidad, diciendo, 'Bueno, tenemos este equipo de pruebas ahora, para ¿Por qué necesito hacer pruebas unitarias a mi código?

Debido al deseo de los beneficios de un equipo de pruebas independientes, las empresas los establecen a veces, sólo para separarlos de nuevo más tarde. ¿Por qué suele ocurrir eso? Una causa común es el hecho de que el director de pruebas de eficacia gestiona los riesgos de la independencia enumerados anteriormente. Algunos equipos de prueba sucumben a la tentación de adoptar una actitud de "no se puede hacer", sabiendo que el proyecto debe plegarse a sus necesidades y ser flexible cada lado a fin de permitir el éxito del proyecto. Algunos Testers llegan a actuar como líderes de procesos o como auditores sin un mandato de gestión y el apoyo adecuados.

El resentimiento y la presión aumenta, hasta que por fin la organización decide que el equipo de pruebas independiente causa más problemas de los que resuelve. Es especialmente importante para que los evaluadores y gestores de prueba entiendan a la misión que sirven y las razones por las que la organización quiere una prueba independiente del equipo. A menudo, todo el equipo de prueba debe darse cuenta de que, son parte del equipo de proyecto independientes, que existen para proporcionar un servicio al equipo de proyecto.

No hay un solo enfoque correcto para la organización de pruebas. Para cada proyecto, debe tener en cuenta si va a utilizar un equipo de pruebas independiente, basado en el proyecto, el dominio de aplicación, y los niveles de riesgo, entre otros factores. A medida que el tamaño, la complejidad y la criticidad del proyecto aumenta, es importante tener independencia en los niveles posteriores de las pruebas (como prueba de integración, prueba del sistema y la prueba de aceptación), aunque algunas pruebas a menudo es mejor que se hagan por otras personas, tales como directores de proyectos, gerentes de calidad, desarrolladores, expertos en negocios y de dominio o infraestructura o expertos en operaciones de TI.

5.1.2 Trabajando como un líder de la prueba

Hemos visto que la ubicación de un equipo de pruebas dentro de una organización del proyecto puede variar ampliamente. Del mismo modo hay una amplia variación en los roles que juega la gente dentro del equipo de prueba. Algunas de estas funciones se producen con frecuencia, algunos con poca frecuencia. Dos roles que se encuentran dentro de muchos equipos de prueba son los del tester y el líder tester, aunque las mismas personas pueden desempeñar ambos papeles en varios puntos durante el proyecto. Vamos a echar un vistazo a los trabajos realizados en estos papeles, a partir de la prueba líder.

Los líderes de prueba tienden a estar involucrados en la planificación, el seguimiento y control de las actividades de prueba y las tareas se discuten en la Sección 1.5 en la prueba fundamental proceso. Al inicio del proyecto, los líderes de la prueba, en colaboración con otras partes interesadas, diseñar los objetivos de la prueba, las políticas de la organización de la prueba (si no ya en el lugar), las estrategias de prueba y planes de pruebas. Se estiman las pruebas que hay hacer y negocian con la dirección para adquirir los recursos necesarios.

Reconocen cuando la automatización de pruebas es adecuada y, si lo es, planean el

esfuerzo, seleccionar las herramientas, y garantizar la formación del equipo. Pueden consultar con otros grupos, por ejemplo, los programadores para ayudarles con sus pruebas. Conducen, orientan y supervisan el análisis, diseño, implementación y ejecución de los casos de prueba, procedimientos de prueba. Aseguran configuración adecuada la gestión del testware producido y la trazabilidad de las pruebas para la prueba base.

A medida que se acerca la ejecución de pruebas, se aseguran de que el entorno de prueba este en su lugar antes de la ejecución de pruebas y administrado durante la ejecución de la prueba. Ellos programan las pruebas para la ejecución y luego monitorean, meden, controlan e informan sobre el progreso de la prueba, el estado de la calidad del producto y los resultados de las pruebas, adaptar el plan de pruebas y compensando como sea necesario para adaptarse a la evolución de condiciones. Durante la ejecución de prueba y medida que el proyecto vaya remitiendo, las que escriben resúmenes de estado de la prueba.

A veces los líderes de prueba tienen diferentes títulos, como director de pruebas o coordinador de prueba. Por otra parte, el papel supervisor de la prueba puede terminar asignado a un director del proyecto, un gerente de desarrollo o un gerente de control de calidad.

(En cuanto a las dos primeras personas en esta lista, advirtiendo campanas sobre la independencia debería estar sonando en tu cabeza ahora, además de los pensamientos acerca de cómo podemos asegurar que tales testers no obtienen el conocimiento y la perspectiva necesaria para administrar la prueba.) El que está jugando el papel, esperan que les permite planificar, monitorizar y controlar el trabajo de prueba.

5.1.3 Trabajando como un tester

Al igual que con los líderes de la prueba, los proyectos deben incluir los testers, en primer lugar, a pesar de que es a menudo el caso de que el proyecto no necesita un complemento completo de los testers hasta que el período de ejecución de la prueba. En las fases de planificación y preparación de la prueba, los testers deben revisar y contribuir a los planes de prueba, así como al análisis, la revisión y la evaluación de los requisitos y especificaciones de diseño. Pueden ser involucrado en, o incluso ser las primeras personas que identifican condiciones de prueba y creación de diseños de prueba, casos de prueba, especificaciones del procedimiento de prueba y datos de prueba, y pueden ayudar a automatizar las pruebas. A menudo establecen el ambiente de prueba o ayudan a la administración del sistema y la gestión del personal.

Cuando comienza la ejecución de pruebas, el número de testers aumenta a menudo, a partir del trabajo necesario para aplicar las pruebas en el entorno de prueba. (Pueden jugar

un papel en todos los niveles de la prueba, incluso aquellos que no están bajo el control directo de la prueba grupo; por ejemplo, se podría aplicar pruebas unitarias que fueron diseñados por los programadores.) Los testers ejecutan y registran las pruebas, evalúan los resultados y el documento con problemas encontrados. Siguen de cerca la prueba y el entorno de prueba, a menudo el uso de herramientas para esta tarea, ya menudo recopilar las métricas de rendimiento. En todo el ciclo de vida de las pruebas, que revise el trabajo del otro, incluyendo prueba de especificaciones, informes de defectos y resultados de pruebas.

5.1.4 Definición de la necesidad de habilidades del personal de pruebas

Hacer pruebas correctamente requiere más que definir las posiciones correctas y número de personas para estos cargos. Los buenos equipos de prueba tienen la combinación adecuada de habilidades basadas en las tareas y actividades que se debe llevar a cabo, y las personas fuera del equipo de pruebas que están a cargo de las tareas de prueba necesitan los conocimientos adecuados, también.

Las personas que participan en las pruebas necesitan cualificaciones profesionales y sociales básicas tales como leer y escribir, capacidad para preparar y entregar por escrito y verbal informes, la capacidad de comunicarse de manera efectiva, y así sucesivamente. Ir más allá que, cuando pensamos en las habilidades que necesitan testers, tres áreas principales vienen a mente:

• Aplicación de dominio o de negocios: Un tester debe entender el comportamiento, el problema del sistema que va a resolver, el proceso que va a automatizar y etc., con el fin de detectar el comportamiento inadecuado durante las pruebas y reconocer “Como deben trabajar las funciones y características”.

• Tecnología: Un tester debe ser consciente de los problemas, limitaciones y capacidades de la tecnología de aplicación escogida, con el fin de localizar los problemas con eficacia y eficientemente y reconocer la 'probabilidad de falla' y funciones características.

• Pruebas: Un tester debe conocer los temas de prueba analizados en este libro y temas sobre la prueba a menudo más avanzados con el fin de llevar a cabo eficaz y eficiente las tareas de prueba asignadas.

Las habilidades específicas en cada área y el nivel de habilidad requerido varían según el proyecto, organización, aplicación, y los riesgos involucrados.

El conjunto de tareas y actividades de prueba son muchas y variadas, y también lo son las habilidades requeridas, por lo que a menudo se ven la especialización de habilidades y separación de roles. Por ejemplo, debido al conocimiento especial requerido en las áreas de las pruebas, la tecnología y los negocios de dominio, respectivamente, los expertos del instrumento de medida pueden manejar la automatización de las pruebas de regresión, los programadores pueden realizar pruebas de componente, pruebas de integración y de los usuarios y de integración y los operadores pueden estar involucrados en prueba de aceptación.

Hemos defendido durante mucho tiempo la prueba generalizada, la participación de las personas en todo el equipo del proyecto en la realización de tareas de prueba. Cerremos este sección, sin embargo, en una nota de advertencia. Las compañías de software y del sistema (Por ejemplo, los productores de software empaquetado y productos de consumo) típicamente sobrestiman el conocimiento de tecnologías necesarias para ser un eficaz tester. Las empresas que utilizan la tecnología de la información (por ejemplo, bancos y compañías de seguros) normalmente sobreestiman el conocimiento del dominio de negocio necesario.

Todos los tipos de proyectos tienden a subestimar el conocimiento de pruebas necesario. Hemos visto un proyecto fracasar en parte porque personas sin los conocimientos y habilidades apropiadas, evalúan componentes críticos, más tarde esto condujo al descubrimiento de desastrosos problemas fundamentales de arquitectura. La mayoría de los proyectos pueden beneficiarse de la participación de

los testers profesionales, como las pruebas de aficionados por lo general solo se No es suficiente.

Outline

Documento similar