Archive for the ‘Calidad de Software’ Category

La depuración de errores atraerá tu atención tarde o temprano

Martes, Junio 29th, 2010

idea.jpgPregunta a un ingeniero qué esta haciendo y habrá altas posibilidades de que su respuesta sea: “Estoy depurando errores”. Día sí y día no, proyecto tras proyecto, los ingenieros depuran errores; es parte de ser ingeniero. A veces, es sencillo y rápido, pero en ocasiones es duro, nada obvio, lleva tiempo y es impredecible. Todo el mundo sabe que la depuración da pavor, pero es necesaria como parte de los procesos de diseño y verificación. Una tendencia alarmante a la vez que innecesaria es el tiempo cada vez mayor que la depuración consume en el ciclo de diseño. A rasgos generales, la razón de esta tendencia es que las prácticas de depuración tradicionales no son apropiadas para los problemas de hoy en día.

Pulsa aquí para seguir leyendo este artículo en Embedded.com

Prototipos de sistemas embebidos para depurar fallos

Lunes, Junio 21st, 2010

wrong.jpgLos resultados de encuestas realizadas en  2009 y 2010 muestran que los ingenieros de sistemas embebidos reconocen los prototipos como una metodología eficaz para acelerar la depuración de errores en sistemas embebidos, independientemente del tipo de sistema o su velocidad máxima.

En la búsqueda constante para reducir el tiempo de lanzamiento al mercado, reducir el tiempo dedicado a una tarea importante como la depuración es, sin duda, de gran valor. La creación de prototipos nos ayuda a acortar el tiempo de diseño global y, a su vez, aumenta la productividad del ingeniero.

Los innovadores, flexibles y potentes generadores de prototipos son uno de los elementos clave para acelerar la depuración de los sistemas embebidos. La innovación en la instrumentación puede llevar a los diseñadores a incrementar su productividad al ayudarle a diseñar mejor y más rápido.

Lee el artículo completo en Embedded0 Computing Desing. 

La transición al testing ágil

Lunes, Junio 7th, 2010

Aevolution.jpg 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.

Pulsa aquí para leer el artículo completo en Sticky Minds.

Cómo reducir las limitaciones mediante metodologías ágiles

Martes, Mayo 18th, 2010

agile.jpgLos métodos ágiles se describen habitualmente como métodos de desarrollo de software. La mayoría de la documentación, como el Manifiesto Ágil, describe cómo se organizan los equipos ágiles y cómo deben trabajar, pero no describen el resto de aspectos que tienen lugar fuera del equipo de desarrollo.

Cuando los equipos empiezan a usar nuevos métodos, actúan de forma radicalmente diferente, especialmente en una empresa en la que, en otras circunstancias, no se cambiaría la forma de trabajar. Es imposible, entonces, que no surja ningún conflicto. Cuando te encuentres  con  normas ya existentes que se ponen en el camino del desarrollo de equipos ágiles, tendrás que elegir entre ignorar la norma, seguir la norma o intentar cambiarla.

Pulsa aquí para leer el artículo completo en Sticky Minds.

Cómo usar técnicas y herramientas de testing unitarias para mejorar la calidad del software

Jueves, Mayo 6th, 2010

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.

unit_test.jpg

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.

Pulsa aquí para leer el artículo completo en Embedded.com

El coste de la coexistencia

Martes, Septiembre 1st, 2009

coexistecncia.jpg¿Puede una organización grande adoptar métodos ágiles de desarrollo de software cuando la organización tiene la idea de que no todos los proyectos deben ser ágiles? En otras palabras,  ¿puede haber una mezcla de proyectos tipo cascada y proyectos ágiles en la misma organización? La respuesta corta es sí, sin embargo hay un costo que se debe pagar por esta convivencia.

La transición a software ágil suele ser paulatina en la mayoría de las empresas poco, para poder aprender de sus aciertos y errores y aplicar los nuevos conocimientos para la implantación de nuevos equipos ágiles. Este proceso puede llevar meses o años, dependiendo del tamaño de la organización y la gestión.

Haz click aquí para leer el artículo completo en Sticky Minds.

Cómo reducir los riesgos de los requisitos mediante prácticas ágiles

Miércoles, Agosto 5th, 2009

mouse.jpgLos riesgos de requisitos se encuentran entre los riesgos más insidiosos que amenazan los proyectos de software. Tanto si se trata de requisitos que no se han definido correctamente, como de la falta de participación del cliente en las necesidades de desarrollo o incluso de requisitos defectuosos, se encuentran entre las principales razones por las que los proyectos fracasan. Un equipo de un proyecto puede marcar la diferencia mediante la adopción y aplicación de prácticas ágiles. Cuando se aplican correctamente,  las prácticas ágiles pueden mitigar los riesgos más comunes asociados con los requisitos en proyectos de desarrollo de software.

Pulsa aquí para leer el artículo completo en Sticky Minds.

Los mejores estándares de codificación para eliminar bugs

Miércoles, Julio 22nd, 2009

995000_46458615.jpgEl tema de la codificación de los estándares es algo muy recurrente entre desarrolladores de software, cuyas opiniones divergentes plantean cuestiones que van desde por qué necesitamos estas restricciones a cómo podríamos trabajar sin ellas.

Los ingenieros de software siempre han luchado con los estándares, y el desarrollo de lenguajes de programación C y C++ supone que tengan que dedicar todavía más atención. Estos lenguajes, flexibles y potentes, están profundamente arraigados en entornos industriales y embebidos. En los últimos diez años, los desarrolladores han aceptado la necesidad de controlar y limitar C y C++ para fines industriales, comerciales y de seguridad.

Haz click aquí para seguir leyendo este artículo en Embedded.com

Unir tiempo real y virtualización

Viernes, Junio 19th, 2009

La virtualización es una tecnología establecida desde hace largo tiempo en el mundo de los servidores. Durante décadas se han utilizado diversas fórmulas para establecer el uso de esta plataforma, y en los últimos años, ha adquirido un creciente interés público al poder utilizarse en ordenadores personales. El hecho de que la virtualización pueda aportar un elevado nivel de aislamiento, y que se pueda adquirir con una capa básica de código, ha incrementado también el interés por la seguridad relacionada con las aplicaciones.

1153286_52807560.jpg

La posibilidad de integrar múltiples sistemas independientes en una única máquina, podría ser muy beneficiosa para muchas de las aplicaciones de seguridad crítica. Sin embargo, además del especial aislamiento que ofrece la virtualización, muchas de esas aplicaciones necesitan un nivel temporal de determinación: cada subsistema interactúa con un componente técnico, y en consecuencia, tiene que tener en consideración las propiedades de sincronización de estos componentes.

Haz click aquí para seguir leyendo este artículo en Embedded Control Europe.

Aprende a querer a tus archivos de registro

Viernes, Junio 12th, 2009

blog2.jpgSi tenemos en cuenta la cantidad de información disponible en los archivos de registro, cualquiera pensaría que las empresas debería dedicarles más atención. Los equipos, servidores, firewalls, dispositivos de red y otros dispositivos generan archivos de registro cada día, pero a menudo las empresas los ignoran.
Aunque sea un fallo grave de seguridad, es comprensible. En primer lugar, los registros pueden contener infinidad de eventos irrelevantes, de hecho, la mayoría no son más que ruido. Excepto raras excepciones, la mayoría de los registros son inútiles. En un cliente medio, con 1000 ordenadores con un firewall, se generan 25GB de archivos de registro diariamente, de los cuales, en una semana típica, ni un solo caso es un problema de seguridad que requiera una respuesta inmediata. Sí, a veces hay algunos problemas graves de seguridad, pero normalmente pasan desapercibidos entre un mar de ruido sin importancia.

Pulsa aquí para seguir leyendo este artículo en Infoworld