viernes, 20 de noviembre de 2015

Introducción de una herramienta en una organización (K1) -

Objetivos:

  1. Establecer los principios básicos de la introdcción de ua herramienta en una organización (K1).
  2. Establecer los objetivos de una prueba de concepto para la evaluación de herramientas y una fase piloto para la implementación de herramientas.
  3. Reconocer qué factores, además de adquirir la herramienta, son  
Términos: Ningún término específico..

Antecedentes.

Entre las principales consideraciones a tener en cuenta a la hora de seleccionar una herramienta para una organización se encuentran:

  • Análisis de la madurez organizativa, fortalezas y debilidades e identificación de las oportunidades para un proceso de pruebas mejorado soportado por herramientas.
  • Evaluación frente a requisitos claros y criterios objetivos.
  • Una prueba de concepto, utilizando una herramienta de prueba durante la fase de evaluación para establecer si rinde de manera eficiente con el software objeto de la prueba y dentro de la actual infraestructura para utilizar la herramienta de manera efectiva.
  • Evaluación del fabricante (incluyendo formación, soporte y aspectos comerciales) o soporte de servicio a proveedores en caso de herramientas no comerciales.
  • Identificación de requisitos internos para impartir "coaching" y formación sobre el uso de la herramienta.
  • Evaluación de las necesidades de formación habida cuenta de las habilidades de automatización  de pruebas del equipo de pruebas.
  • Cálculo de una ratio coste-beneficio en base a un caso de negocio concreto.
Para introducir la herramienta seleccionada en una organización debe lanzarse un proyecto piloto, cuyos objetivos son los siguientes.
  • Aprender más detalles sobre herramienta.
  • Evaluar la forma en la que la herramienta se ajusta a los procesos y prácticas existentes, y determinar qué debe  cambiar.
  • Decidir las formas estándar en las que se debe utilizar, gestionar, almacenar y mantener la herramienta y los activos de prueba (por ejemplo, decidir sobre la designación de archivos y pruebas, la creación de bibliotecas y definir la modularidad de los juegos de pruebas).
  • Valorar si se lograrán los beneficios a un coste razonable.
Los factores de éxito para el despliegue de la herramienta dentro de una organización incluyen:
  • Hacer extensiva la herramienta al resto de la organización de una manera incremental.
  • Adaptar y mejorar los procesos para adaptarlos al uso de la herramienta.
  • Impartir formación y "coaching" / tutorías a los nuevos usuarios.
  • Definir las directrices de uso.
  • Aplicar una forma de recopilar información sobre el uso de la herramienta a partir de su uso real.
  • Hacer un seguimiento del uso y de los beneficios de la herramienta.
  • Proporcionar soporte al equipo de pruebas para una herramienta dada.
  • Recopilar las lecciones aprendidas de todos los equipos.



Herramientas de Soporte de Pruebas (K2) - Uso efectivo - Ventajas potenciales y riesgos (K2) - Consideraciones especiales para algunos tipos de herramientas (K1)

Objetivos:

  1. Resumir las posibles ventajas y riesgos de la automatización de las pruebas y de las herramientas de soporte de pruebas (K2).
  2. Recordar consideraciones particulares sobre las herramientas de ejecución de pruebas, los análisis estáticos y las herramientas de gestión de pruebas (K1).
Términos: Pruebas guiadas por datos, pruebas guiadas por palabra clave, lenguaje de creación de scripts.

Antecedentes.

Herramientas de ejecución de pruebas
Las herramientas de ejecución de pruebas ejecutan objetos de prueba sirviéndose de guiones de pruebas automatizados. Este tipo de herramienta a menudo requiere un esfuerzo importante para lograr ventajas significativas.
El hecho de capturar las pruebas registrando las acciones de un probador manual puede parecer atractivo, pero este enfoque no es escalable a grandes cantidades de giones de prueba automatizados. Un guión capturado es una representación lineal que incluye datos y acciones específicos como parte de cada guión. Este tipo de guión puede resultar inestable si se producen eventos imprevistos.
Un enfoque de pruebas guiadas por datos separa las entradas de las pruebas (los datos), normalmente en una hoja da datos, y se sirve de un script de prueba más genérico que pueda leer los datos de entrada y ejecutar el mismo script de prueba con distintos datos. Los probadores que no están familiarizados con el lenguaje de creación de scripts de este modo pueden crear los datos de prueba para estos scripts predefinidos.
Asímismo, es las técnicas guiadas por datos se utilizan otras técnicas en las que, en lugar de colocar en una hoja de datos combinaciones de datos codificadas, los datos de generan utilizando algoritmos en base a parámetros configurables en ele moemnto de la ejecución y genere una identificación de usuario aleatoria, y a efectos de repetibilidad en modelo, se utliza una siembra para controlar la aleatoriedad.
En un enfoque de pruebas guiado por palabras clave, la hoja de datos contiene las palabras clave que describen las acciones a adoptar (también conocidas como palabras de acción) y datos de prueba. Los probadores (a pesar de no estar familiarizados con el lenguaje de creación de scripts) pueden entonces definir pruebas utilizando las palabras clave, las cuales pueden ajustarse a la aplicación en pruebas.
Para todos los enfoques es necesario contar con experiencia técnica en el ámbito del lenguaje de creación de scripts (tanto por parte de los probadores como parte de los especialistas en automatización de pruebas).
Independientemente de la técnica de "scripting" utilizada, los resultados esperados para cada prueba deben almacenarse para su posterior comparación.

Herramientas de análisis estático
Las herramientas de análisis estático aplicadas al código fuente pueden aplicar estándares de codificación, pero si se aplican a un código existente, pueden generar una gran cantidad de mensajes. Los mensajes de advertencia no impiden que el código se traduzca en un programa ejecutable, pero idealmente deberían tratarse de manera que faciliten el mantenimiento del código en el futuro. La implementación gradual de la herramienta de análisis con filtros iniciales para excluir ciertos mensajes constituyen un enfoque efectivo.

Herramientas de gestión de pruebas
Las herramientas de gestión de pruebas tienen que interactuar con otras herramientas u hojas de datos para producir información útil en un formato que se ajuste a las necesidades de la organización.

Herramientas de Soporte de Pruebas (K2) - Uso efectivo - Ventajas potenciales y riesgos (K2) - Ventajas potenciales y riesgos de las herramientas de soporte de pruebas (para todas las herramientas)(K2)

Objetivos:


  1. Resumir las posibles ventajas y riesgos de la automatización de las pruebas y de las herramientas de soporte de pruebas (K2).
  2. Recordar consideraciones particulares sobre las herramientas de ejecución de pruebas, los análisis estáticos y las herramientas de gestión de pruebas (K1).
Términos: Pruebas guiadas por datos, pruebas guiadas por palabra clave, lenguaje de creación de scripts.

Antecedentes.
El mero hecho de comprar o arrendar una herrameinta no nos garantiza el éxito con dicha herramienta. Cada tipo de herramienta puede exigir un esfuerzo adicional para lograr ventajas reales y duraderas. El uso de herramientas plantea posibles ventajas y oportunidades, pero también hay riesgos.
Entre las posibles ventajas de utilizar herramientas se encuentran las siguientes:
  • Reducción del trabajo repetitivo (por ejemplo, la ejecución de pruebas de regresión, la reintroducción de los mismos datos de prueba y la comprobación contra estándares de codificación).
  • Mayor consistencia y respetabilidad (por ejemplo las pruebas ejecutadas por una herramienta en el mismo orden y con la misma frecuencia, y pruebas derivadas de los requisitos).
  • Evaluación de los objetivos (por ejemplo, medidas estáticas, cobertura).
  • Facilidad de acceso a la información sobre las pruebas (por ejemplo, estadísticas y gráficos sobre el avance de las pruebas, la frecuencia de incidencias y el rendimiento).
  • Evaluación de los objetivos(por ejemplo, medidas estáticas, cobertura).
  • Facilidad de acceso a la información sobre las pruebas (por ejemplo. estadpsiticas y gráficos sobre el avance de las pruebas, la frecuencia de incidencias y el rendimiento).
Entre los riesgos de utilizar herramientas se encuentran:
  • Expectativas poco realistas de la herramienta (incluyendo funcionalidad y facilidad de uso).
  • Subestimación de la cantidad de tiempo, coste y esfuerzo necesario para la introducción inicial de una herramienta (incluyendo formación y experiencia externa).
  •  Subestimación del tiempo y el esfuerzo necesarios para conseguir ventajas significativas y constantes de la herramienta (incluyendo la necesidad de cambios en el proceso de pruebas y la mejora continua de la forma en la que se utiliza la herramienta).
  • Subestimación del esfuerzo necesario para mentener los activos de prueba generados por la herramienta.
  • Exceso de confianza en la herramienta (sustitución del diseño de pruebas o uso de pruebas automatizadas cuando seria mejor llevar a cabo pruebas manuales).
  • Desprecio del control de versión de los activos de prueba en la herramienta.
  • Desprecio de problemas de relaciones e interoperabilidad entre herramientas críticas tales como las herramientas de gestión de requisitos, herramientas de control de versiones. herramientas de gestión de incidencias, herramientas de seguimiento de defectos y herramientas procedentes de varios fabricantes.
  • Riesgo de que el fabricante de la herramienta cierre, retire la herramienta o venda la herramienta a otro proveedor.
  • Mala respuesta del fabricante para soporte, actualizaciones y corrección de defectos.
  • Imprevistos, tales como la incapacidad de soportar una nueva plataforma.

Herramientas de Soporte de Pruebas (K2) - Herramientas de soporte para necesidades de pruebas específicas (K1)

Objetivos:


  1. Clasificar distintos tipos de herramientas de pruebas en función de su objetivo y de las actividades del proceso de pruebas fundamental y del ciclo de vida del software (K2).
  2. Explicar el término herramienta de pruebas y el objetivo de las herramientas de soporte de pruebas (K2).
Términos: Herramienta de gestión de la configuración, herramienta de cobertura, herramienta de depuración, herramienta de análisis dinámico, herramienta de gestión de incidencias, herramienta de pruebas de carga, herramienta de modelado, herramienta de monitorización, herramienta de pruebas de rendimiento, efecto sonda, herramienta de gestión de requisitos, herramienta de revisión, herramienta de seguridad, herramienta de análisis estático, herramienta de pruebas de estrés, comparador de pruebas, herramienta de preparación de datos de prueba, herramienta de diseño de pruebas, herramienta de ejecución de pruebas, herramientas de gestión de pruebas, herramienta de marco de trabajo de pruebas unitarias.

Antecedentes.

Evaluación de la calidad de los datos
Los datos son la pieza clave de muchos proyectos, como los proyectos de conversión/ migración, y las aplicaciones, tales como los data "warehouses" y sus atributos, pueden variar en cuanto a criticidad y volumen. En estos contextos, las herramientas deben emplearse para evaluar la calidad con vistas a revisar y comprobar las reglas de conversión y migración de datos ´para garantizar que los datos procesados son correctos, completos y se ajustan a una norma predefinida específica del contexto.

También hay otras herramientas de prueba disponibles para probar la usabilidad.

Herramientas de Soporte de Pruebas (K2) - Herramientas de soporte para el rendimiento y la monitorización (K1).

Objetivos:


  1. Clasificar distintos tipos de herramientas de pruebas en función de su objetivo y de las actividades del proceso de pruebas fundamental y del ciclo de vida del software (K2).
  2. Explicar el término herramienta de pruebas y el objetivo de las herramientas de soporte de pruebas (K2).
Términos: Herramienta de gestión de la configuración, herramienta de cobertura, herramienta de depuración, herramienta de análisis dinámico, herramienta de gestión de incidencias, herramienta de pruebas de carga, herramienta de modelado, herramienta de monitorización, herramienta de pruebas de rendimiento, efecto sonda, herramienta de gestión de requisitos, herramienta de revisión, herramienta de seguridad, herramienta de análisis estático, herramienta de pruebas de estrés, comparador de pruebas, herramienta de preparación de datos de prueba, herramienta de diseño de pruebas, herramienta de ejecución de pruebas, herramientas de gestión de pruebas, herramienta de marco de trabajo de pruebas unitarias.

Antecedentes.

Herramientas de análisis dinámico (D)
Las herramientas de análisis dinámico localizan defectos que pasan a ser evidentes sólo una vez que el software está ejecutándose, tales como las dependencias de tiempo o las pérdidas de memoria. Normalmente se utilizan en las pruebas de componente e integración de componentes y en las pruebas de "middlieware".

Herramientas de monitorización 
Las herramientas de monitorización analizan, comprueban y reportan continuamente el uso de recursos específicos del sistema y lanzan avisos sobre posibles problemas de servicio.

Herramientas de Soporte de Pruebas (K2) - Herramientas de soporte para la ejecución y el registro de pruebas (K1)

Objetivos:


  1. Clasificar distintos tipos de herramientas de pruebas en función de su objetivo y de las actividades del proceso de pruebas fundamental y del ciclo de vida del software (K2).
  2. Explicar el término herramienta de pruebas y el objetivo de las herramientas de soporte de pruebas (K2).
Términos: Herramienta de gestión de la configuración, herramienta de cobertura, herramienta de depuración, herramienta de análisis dinámico, herramienta de gestión de incidencias, herramienta de pruebas de carga, herramienta de modelado, herramienta de monitorización, herramienta de pruebas de rendimiento, efecto sonda, herramienta de gestión de requisitos, herramienta de revisión, herramienta de seguridad, herramienta de análisis estático, herramienta de pruebas de estrés, comparador de pruebas, herramienta de preparación de datos de prueba, herramienta de diseño de pruebas, herramienta de ejecución de pruebas, herramientas de gestión de pruebas, herramienta de marco de trabajo de pruebas unitarias.

Antecedentes.

Herramientas de ejecución de pruebas
Estas herramientas permiten ejecutar pruebas de manera automática, o semiautomática, utilizando entradas almacenadas y resultados esperados, a través del uso de un lenguaje de creación de scripts y generalmente ofrecen un registro de prueba para cada ejecución de una prueba. Asímismo, pueden servir para registrar pruebas. Normalmente soportan lenguaje de creación de scripts o una configuración basada en GUI para la parametrización de datos y demás personalización durante las pruebas.

Arnés de pruebas/Herramientas de marco de trabajo de pruebas unitarias (D).
El arnés de pruebas unitarias o el marco de trabajo facilitan el proceso de pruebas en componentes o partes de un sistema simulando el entorno en el se ejecutarán dicho objet de prueba, a través de la creación de objetos de imitación como "stubs" o controladores.

Comparadores de pruebas
Los comparadores de pruebas establecen las diferencias entre archivos, bases de datos o resultados de pruebas. Las herramientas de ejecución de pruebas normalmente incluyen comparadores dinámicos, pero la comparación posterior a la ejecución debe hacerse con una herramienta de comparación aparte. Los comparadores de pruebas pueden utilizar oráculos de pruebas, especialmente si están automatizados.

Herramienta de medición de la cobertura (D)
Estas herramientas, a través de medios intrusivos o no intrusivos, miden el porcentaje de tipos específicos de estructuras de código que ha sido practicado (por ejemplo, sentencias, ramas o decisiones y llamadas a módulos o funciones) por parte de una serie de probadores.

Herramientas de pruebas de seguridad
Estas herramientas sirven para evaluar las características de seguridad del software, entre las que se incluyen evaluar la capacidad del software para proteger la confidencialidad, integridad, autenticación, autorización, disponibilidad y no  repudiación de los datos.. Las herramientas de seguridad se centran principalmente en una tecnología, una plataforma y un alcance específicos.

Herramientas de Soporte de Pruebas (K2) - Herramientas de soporte para la especificación de prueba (K1)

Objetivos:


  1. Clasificar distintos tipos de herramientas de pruebas en función de su objetivo y de las actividades del proceso de pruebas fundamental y del ciclo de vida del software (K2).
  2. Explicar el término herramienta de pruebas y el objetivo de las herramientas de soporte de pruebas (K2).
Términos: Herramienta de gestión de la configuración, herramienta de cobertura, herramienta de depuración, herramienta de análisis dinámico, herramienta de gestión de incidencias, herramienta de pruebas de carga, herramienta de modelado, herramienta de monitorización, herramienta de pruebas de rendimiento, efecto sonda, herramienta de gestión de requisitos, herramienta de revisión, herramienta de seguridad, herramienta de análisis estático, herramienta de pruebas de estrés, comparador de pruebas, herramienta de preparación de datos de prueba, herramienta de diseño de pruebas, herramienta de ejecución de pruebas, herramientas de gestión de pruebas, herramienta de marco de trabajo de pruebas unitarias.

Antecedentes.

Herramientas de diseño de prueba
Estas herramientas sirven para entradas de prueba o pruebas ejecutables y/o oráculos de prueba a partir de requisitos, interfaces gráficas de usuario, modelos de diseño (estado, dato u objeto) o códigos.

Herramientas de preparación de datos de prueba
Las herramientas de preparación de datos de prueba manejan bases de datos, archivos o transmisiones de datos para configurar los datos de prueba que se utilizan durante la ejecución de pruebas con vistas a garantizar la seguridad a través del anonimato de los datos.