Los siete pecados capitales en SW Testing
Viernes, Febrero 3rd, 2012a href=”http://www.qatest.org/en/blog/wp-content/uploads/2012/02/108Se7en.jpg”>
a href=”http://www.qatest.org/en/blog/wp-content/uploads/2012/02/108Se7en.jpg”>
Últimamente proliferan en Europa las empresas de testing que contratan a testers con Síndrome de Asperger o con autismo. Esta práctica tiene ventajas e inconvenientes, y la mejor forma de descubrirlos es hablando con una persona afectada por este síndrome. Tirsh Khoo, tester en Sidney para una conocida plataforma de gestión de campañas de email, ha concertado una entrevista con Michael Drejer, que tiene síndrome de Asperger y trabaja como tester en una empresa de Dinamarca.
Vamos a definir smart grid como la infraestructura y tecnologías que permiten la integración de los consumidores y los recursos distribuidos (generación, las energías renovables, el almacenamiento, la respuesta de la demanda, control de carga) con el funcionamiento de toda la red de suministro y mercados de la electricidad, además de mejorar la fiabilidad y seguridad del servicio eléctrico en general. La mayor diferencia es la falta de comunicaciones de bajo coste, el estandarizado, y las comunicaciones ubicuas que proporcionan ancho de banda, fiabilidad extrema, y seguridad, tanto para aplicaciones de control y gestión, así como la gestión de la información básica y las aplicaciones de uso compartido. Esta infraestructura de comunicaciones de banda ancha no tiene por qué ser una tecnología, pero es necesario ampliarla de los sistemas de control central a los dispositivos de usuario final.
Pulsa aquí para leer el artículo completo en Embedded Computing Desing.
Parece obvio que la automatización afectará a la organización de las pruebas. Menos obvio –aunque no menos real- es que también afectará al desarrollo de la empresa. De hecho, cuando eliges automatizar el testing para una aplicación, tu relación con el departamento de desarrollo cambia completamente.
Piensa en ello. Los testers manuales solo tienen que ser capaces de interactuar con la aplicación utilizando la pantalla, el ratón, el teclado u otro dispositivo. Las herramientas de pruebas automatizadas, por otro lado, tienen que interactuar con el software en un nivel más profundo, por lo tanto, exponiendo el nivel más interno de funcionamiento del código y tal vez, descubriendo problemas que impiden o complican la automatización. Si no se tiene cuidado, los desarrolladores podrían pensar que de golpe te has transformado en un entrometido que solo quiere meter la nariz en sus asuntos.
Los equipos que realizan pruebas unitarias en una base regular se perciben como más confiables, profesionales y avanzados. Pero, qué es lo que necesitas considerar antes de elegir una solución basada en pruebas unitarias?
A continuación encontrarás los “ocho mandamientos” que te guiarán a la hora de seleccionar las pruebas unitarias más adecuadas a tu desarrollo.
1. No debes perder el tiempo en la curva de aprendizaje
Al elegir una solución basada en pruebas unitarias, querrás una que requiera el tiempo mínimo de ejecución. Puede valer la pena cronometrar a un nuevo desarrollador dentro de tu equipo para hacerte una idea aproximada de cuánto tiempo es necesario para empezar. Por ejemplo, cuánto tiempo llevará preparar las tres primeras pruebas del sistema? Es clara y sencilla la API? Hay una guía clara de qué hacer en cada punto del proceso? Con qué frecuencia es necesario comprobar la documentación? Cómo de fácil es buscar el siguiente paso cuando no se está seguro de por dónde seguir? Algunas herramientas ofrecen orientación, mientras que otras que otras ofrecen ayuda más extensa. Otras no ayudan en absoluto.
Pulsa aquí para seguir leyendo los “8 mandamientos” de las pruebas unitarias en EE Times Embedded.
El cliente se equivoca a menudo. La habitual costumbre de solicitar feedback a los clientes e incorporara esos comentarios en los productos es una forma brillante de producir prototipos. Los prototipos son, por supuesto, esqueletos mal implementados en ese espejo un producto real. Su función es minimizar de forma rápida el riesgo que surge de vagas obligaciones, cuestiones que la ciencia desconoce o de otras inceridumbres. Los prototipos son inestimables cuando son necesarios, pero no son necesarios para cada producto. Al menos, no la mayoría.
Por ello, los equipos de ingenieros necesitan protección ante los clientes a la hora de desarrollar el producto real.
Pulsa aquí para leer el artículo completo en EE Times.
En las mejores estimaciones, el esfuerzo de desarrollo de software detrás del diseño de chips de 90 nm, ya ha superado el esfuerzo de desarrollo de hardware. El pronóstico para 2011 es que menos del 40 por ciento del costo global de desarrollo de chips se gastará en el hardware. Ahora mismo, el software ahora domina los ciclos del proyecto y establece cuándo un chip puede entrar en producción. Como resultado, se ha incrementado la importancia de la verificación de software, y a su vez, el software ha asumido un papel fundamental en el proceso de verificación de hardware.
Pulsa aquí para leer el artículo completo en Embedded Computing Design.
La inspección interna no destructiva de sistemas microelectromécanicos (MEMS) a través de grupos de micro imágenes acústicas es muy útil en la búsqueda, caracterización y eliminación de anomalías y defectos.
Durante el desarrollo de un producto, la inspección acústica es de gran ayuda a la hora de modificar procesos para evitar posibles defectos. Durante la producción, la inspección acústica permite localizar los puntos de rechazo y detectar la deriva del proceso.

El transductor ultrasónico que escanea los circuitos envía ultrasonidos UHF a la superficie y registra los ecos que devuelve. Cada pulso de un eco ocurre miles de veces por segundo a medida que el transductor se mueve por la superficie. Cada escaneo de coordenadas x-y produce un pixel en la imagen acústica, que en la resolución utilizada para circuitos MEMS, supone millones de píxeles.
A
algunos equipos de testing les puede confundir cómo hacer la transición a ágil. Si formas parte de un equipo, probablemente tengáis pruebas manuales para la regresión, bien porque nunca habéis tenido tiempo para automatizarlas o bien porque habéis estado testeando desde la interfaz gráfica y no tiene sentido automatizarlas. En tu equipo habrá estupendos testers que puedan encontrar problemas en aplicaciones complejas pero que, sin embargo, no tienden a automatizar sus pruebas y necesitan un producto final antes de empezar a testearlo. Entonces, ¿cómo se puede equiparar el ritmo de trabajo de los testers al de los desarrolladores?
Este es un problema bastante común. En muchas empresas y organizaciones, los desarrolladores creen que han evolucionado a ágil mientras que los testers siguen atascados en pruebas manuales y no pueden mantener el ritmo. El problema no es que los testers sean demasiado lentos, sino que el equipo debe trabajar de forma paralela y, hasta que no lo consiga, los testers parecerán demasiado lentos.
Las pruebas unitarias surgen tan pronto como el desarrollo de software en si mismo. Tiene sentido coger cada bloque de desarrollo de aplicaciones, desarrollarlo de forma aislada y ejecutarlo para asegurarse de que hace exactamente lo que debe sin interferir con el resto de la aplicación.

Hace unos años, el problema radicaba en no poder separar cada bloque de desarrollo de su entorno, compilarlo y ejecutarlo de forma unitaria. Para solucionarlo, es necesario un programa que ejecute las pruebas unitarias y que facilite una inicialización de secuencias para preparar las estructuras de datos para las pruebas unitarias que se van a realizar.