A medida que los dispositivos se vuelven más complejos, los equipos de pruebas se ven sometidos a una mayor presión de tiempo para sacar productos, lo que hace que una estrategia de pruebas optimizada sea más importante que nunca. Los ingenieros de pruebas tienen la difícil tarea de construir el probador para el producto posterior y mantener los probadores anteriores. Este documento explora los importantes desafíos que enfrentan los ingenieros de pruebas y explica cómo un framework de pruebas aborda el problema aumentando la productividad, reduciendo el reproceso y disminuyendo el mantenimiento. Finalmente, introduce NI TestStand como una solución lista para usar para construir y mantener un framework de pruebas, destacando los beneficios como reducción de riesgos, desarrollo flexible e implementación de características.
La prioridad de un ingeniero de pruebas es garantizar que al cliente final se le entregue un producto funcional. Pero a medida que los productos se vuelven más complejos, las pruebas también lo hacen. Tomemos como ejemplo una bombilla. Las bombillas inteligentes tienen funciones integradas de Wi-Fi y Bluetooth y, a veces, incluso bocinas. Eso significa que en los últimos años, un equipo ha agregado pruebas para electrónica de potencia, conectividad inalámbrica y pruebas acústicas.
Figura 1: Las capacidades avanzadas del producto tienen tiempos de desarrollo extendidos, acortando el tiempo disponible para el desarrollo de las pruebas.
La Figura 1 ilustra la diferencia entre el tiempo planificado que se ha empleado en cada fase y la realidad. Debido a que los plazos siguen siendo los mismos, cualquier retraso en las fases anteriores hace que el tiempo de desarrollo de las pruebas se acorte; se pide a los ingenieros de pruebas que prueben más funciones en menos tiempo. Cuando le quitamos tiempo a la fase de desarrollo de las pruebas, obligamos a los ingenieros de pruebas a ser más reactivos en lugar de proactivos. Simplemente no tienen tiempo para abordar esto de manera eficiente.
Esta tendencia de probar más en menos tiempo ha existido durante años, pero generalmente se pasa por alto porque el costo de este tipo de desarrollo reactivo no es evidente de inmediato. Un efecto secundario significativo del desarrollo reactivo es que resulta en una falta de flexibilidad, lo que puede causar una pérdida de productividad para los ingenieros de pruebas, ya que pierden tiempo buscando maneras de agregar funciones a un probador rígido. En cierto punto, se vuelve ineficiente continuar construyendo sobre el mismo probador, y los ingenieros se ven obligados a comenzar de nuevo y perder tiempo reconstruyendo las mismas características.
Esto no solo provoca una gran cantidad de reelaboración, sino que también aumenta la cantidad de probadores que deben mantenerse. La fase de mantenimiento viene con sus propios desafíos, especialmente si un ingeniero que construyó el probador deja la empresa sin documentarlo adecuadamente. Su salida también puede conducir a una reconstrucción de todo el sistema.
Una manera de deshacerse de este ciclo de reactividad es construir un framework de pruebas. Un framework de pruebas es una aplicación de software de alto nivel que se utiliza para desarrollar, ejecutar, implementar y crear reportes sobre secuencias de pruebas automatizadas.
Figura 2: Porcentaje de tiempo ahorrado por los clientes de NI que integraron TestStand en su organización.
Consulte la guía para construir o comprar para obtener más información.
Cuando las organizaciones aprovechan este tipo de framework, ahorran hasta un 75% en tiempo de desarrollo y reducen el tiempo dedicado al mantenimiento en un 67%.
En un conjunto de probadores, usted verá elementos comunes y únicos. Estos elementos comunes, cuando se identifican, son la base del modelo de reutilización para su organización de pruebas. Por ejemplo, la mayoría de los probadores requieren una interfaz de usuario; sin embargo, los aspectos de la interfaz deben cubrir las preferencias y competencias del usuario.
Común:
Software de gestión de pruebas
Único:
Software de desarrollo de pruebas
Lista 1: Ejemplo de desglose de elementos comunes y únicos de un probador
Para dejar de reconstruir los sistemas de pruebas, usted debe identificar todos los elementos comunes y ponerlos en un framework que pueda reutilizar en todos sus probadores. El framework no solo es esencial para soportar los elementos comunes, sino que también debe ser lo suficientemente flexible para soportar los elementos únicos, ahora y en el futuro.
Una vez que todos sus equipos de pruebas se han estandarizado en un solo framework de pruebas, pueden compartir código más fácilmente entre ellos. Compartir funciona para los elementos comunes y para los elementos únicos.
Figura 3: Tres variantes diferentes de una tarjeta, las diferencias significativas son la adición de la funcionalidad Bluetooth en la segunda tarjeta y la funcionalidad Wi-Fi en la tercera.
Por ejemplo, en la Figura 3, hay tres variantes de tarjeta. Si bien la funcionalidad adicional en las variantes dos y tres podría agregarse años más tarde, los fundamentos de cómo se prueba la tarjeta siguen siendo los mismos. Puede desarrollar el mismo sistema de pruebas tres veces si tiene una organización de pruebas reactiva. Este enfoque aumenta el costo del probador inicial y también afecta los costos de mantenimiento a largo del tiempo.
La productividad es más alta cuando los ingenieros dedican tiempo en lo que están más calificados. Pero a menudo, los ingenieros se ven obligados a dedicar una cantidad significativa de tiempo a otras tareas, como crear interfaces de usuario o generar reportes. El desarrollo de nuevos probadores se vuelve mucho más rápido si usted crea un framework común para todos sus probadores. Todos los componentes estándares ya están construidos, lo que libera a los ingenieros de pruebas para que se enfoquen en desarrollar la funcionalidad necesaria para probar el dispositivo, lo que puede reducir el tiempo para lanzar nuevos productos al mercado.
La fase de mantenimiento es el período más largo de la vida útil de un probador. El mantenimiento incluye agregar nuevas pruebas, mantener la compatibilidad entre las actualizaciones de sistema operativo o software, o corregir los errores detectados. El mantenimiento de una solución de ejecutivo de pruebas se extiende incluso al ámbito de la documentación. Las decisiones que se toman en la fase de desarrollo de un probador determinan qué tan lenta o frustrante será la fase de mantenimiento.
Un obstáculo para crear frameworks de pruebas es encontrar a alguien con el tiempo y las calificaciones necesarias para hacerlo. Es por eso que NI desarrolló TestStand, un ejecutivo de pruebas listo para usar y personalizable para todas sus operaciones de pruebas. TestStand proporciona un framework común para todos sus probadores, lo que agiliza el desarrollo de probadores futuros. Con todos los componentes estándares construidos, los ingenieros de pruebas pueden enfocarse en crear una funcionalidad de pruebas única, reducir la rotación y llevar los productos al mercado más rápido.
Los ingenieros de pruebas dominan diferentes lenguajes y es esencial que se sientan capacitados para enfocarse en desarrollar los pasos que hacen que la prueba se realice en el lenguaje que prefieran. TestStand es independiente del lenguaje, lo que significa que las organizaciones de pruebas pueden programar en varios lenguajes, incluyendo Python, C/C++ y .NET, y hacer que todo se conecte al mismo framework y funcionen juntos.
Desarrollar su solución de gestión de pruebas es solo el comienzo de la tarea. El software no es un costo único, sino un esfuerzo continuo. El software debe recibir mantenimiento para cumplir con los siguientes objetivos:
Este esfuerzo de mantenimiento a menudo puede volverse significativo y consumir meses en tiempo de desarrollo. Por otro lado, los paquetes de ejecutivo de pruebas listos para ejecutar como NI TestStand se actualizan regularmente por NI para mantenerse competitivos y viables. Esta política le permite aprovechar las últimas tecnologías (y obtener soluciones de errores y nuevas funcionalidades) a una fracción del costo. Lea nuestra guía software Test Executive – ¿construir o comprar? para aprender más.
El costo más obvio asociado con la construcción de un ejecutivo de pruebas personalizado es el costo inicial de desarrollo de implementar todas las características del ejecutivo de pruebas. La siguiente tabla describe algunas de las características asociadas con los frameworks+ de prueba. La tabla muestra un estimado del tiempo requerido para implementar cada característica desde cero y lo compara con el tiempo que tomaría implementar las mismas características usando NI TestStand.
Figura 4: NI trabajó con profesionales de pruebas para garantizar que las características estándares fueran fáciles de implementar con TestStand.
Consulte la guía para construir o comprar para obtener más información.
No todos son relevantes para todas las organizaciones en un momento determinado, pero eso no significa que no serán relevantes en el futuro.
En esta sección, discutiremos algunas características valiosas que puede agregar fácilmente en TestStand, como ejecución paralela, generación de reportes, conectividad de la base de datos, interfaces de usuario y herramientas de depuración/implementación.
Figura 5: Este diagrama demuestra la capacidad de TestStand para perfeccionar secuencias y programar automáticamente los recursos para permitir la prueba de múltiples UUT (unidades bajo prueba) a la vez.
Una manera de aumentar el rendimiento de las pruebas es ejecutar pruebas simultáneamente en diferentes dispositivos. Cuando observamos cuánto tiempo lleva desarrollar software que pueda realizar ejecución en paralelo, queda claro por qué las organizaciones de pruebas evitan crear esta función a menos que deban hacerlo. El problema es que la ejecución en paralelo requiere un esfuerzo de desarrollo considerable, por lo que cuando una organización se da cuenta de que es necesaria, a menudo es demasiado tarde para implementarla. Con TestStand, desarrollar sistemas paralelos es mucho más accesible, eliminando la mayor parte de este esfuerzo y haciendo que los sistemas paralelos sean muy rentables.
Al construir un sistema de pruebas, es esencial considerar cómo se manejarán los resultados de la prueba. Es por eso que TestStand tiene características integradas que simplifican la conectividad de la base de datos y la generación de reportes. La personalización de reportes en TestStand es una tarea común, y TestStand proporciona muchas funciones para personalizar el contenido, la funcionalidad y el estilo del reporte.
Aunque un reporte de pruebas hace un gran trabajo proporcionando una imagen de las aprobaciones y fallas de una ejecución de pruebas, no es conveniente cuando desea sondear los resultados históricos de una prueba, de una o varias estaciones de prueba. En cambio, NI TestStand puede registrar rápidamente los resultados de las pruebas en casi cualquier sistema de conectividad abierta de base de datos (ODBC), como Oracle, SQL Server o MySQL, listo para usar.
Reduzca el tiempo que dedica a depurar su código de pruebas utilizando la funcionalidad integrada de TestStand. Aproveche las herramientas que le permiten monitorear los valores de prueba a lo largo de una secuencia y puntos de interrupción para pausar la ejecución e investigar más a fondo una sección de su código de pruebas.
Figura 6: La implementación implica empaquetar todos los componentes necesarios del sistema de pruebas utilizando una herramienta de implementación o un servidor antes de distribuirlos a las estaciones de prueba deseadas.
También puede simplificar la forma en que implementa su código de pruebas en máquinas de producción con utilidades que automatizan la construcción de instaladores y distribuciones.
La interfaz del operador es la pantalla a través de la cual el operador interactúa con el sistema de pruebas. Desarrollar una interfaz de operador personalizada puede ser una inversión de tiempo no trivial, especialmente cuando se consideran la usabilidad y la coherencia. TestStand proporciona interfaces de operador simples para configurar y ejecutar pruebas en sistemas implementados. También puede desarrollar interfaces de usuario personalizadas en múltiples entornos de programación para un mayor control sobre cómo los operadores interactúan con los sistemas de pruebas.
Común: Software de gestión de pruebas
| Único: Software de desarrollo de pruebas
|