Formación/Empleo

La ingeniería de software automatiza su desarrollo

Aumenta la concienciación ante la idoneidad de apostar por el outsourcing de pruebas

La ingeniería de software se centra en los métodos, herramientas y procedimientos para establecer un control en el desarrollo del software, lo que permite construir software de calidad de forma productiva y evitando posibles errores humanos. De hecho, la predecibilidad de los resultados es uno de los factores que garantizan la calidad de los sistemas. Un mercado emergente en nuestro país, que refleja cómo el personal directivo de las empresas cada vez se preocupa más de la repercusión de los procesos de ingeniería de software en sus objetivos de negocio.

El IEEE (Institute of Electrical and Electronics Engineers) define la ingeniería de software como la rama de la ingeniería que aplica los principios de la ciencia de computación y las matemáticas para lograr soluciones eficaces económicamente a los problemas de desarrollo de software. Desde el punto de vista que nos atañe, es decir, la calidad y pruebas de software, se puede decir que se trata de la industrialización del software, que supone convertir el proceso de desarrollo y, en particular, la fase de pruebas del software en un proceso automatizado “para conseguir minimizar el impacto de lo que llamaríamos el error humano y facilitar la mejora continua”, según especifica Ana Ascasso, responsable de soluciones de calidad de Compuware en España.
Automatizar procesos en el desarrollo del software supone mejorar las aplicaciones, disminuir las posibles incidencias en el mismo, lo que, para las empresas va a suponer, optimizar las funcionalidades y maximizar el rendimiento de sus productos software y de su cartera de servicios. Si bien durante muchos años, el outsourcing de pruebas se percibió como un nicho hiper-especializado ocupado por pocos actores, en la actualidad cada vez más compañías y asociaciones, como la Escuela Técnica Superior de Ingenieros Industriales, Gesein o ATI (Asociación de Técnicos de Informática), están muy involucrados en esta tecnología. Muestra de ello es el éxito de la segunda edición de las Jornadas Profesionales de Calidad y Testing de Software (www.expoqa.com), celebrada a finales del pasado año y organizada por inQA.labs. Se trata de una consultora independiente especializada en servicios de ingeniería de calidad y pruebas de software, que se fundó hace 6 años en España, siendo la primera en dedicar su actividad por completo al testeo de software.
En cuanto a la situación del mercado de ingeniería de software en nuestro país, Ramiro Carballo, director comercial de Gesein y presidente del comité de software de la Asociación Española para la Calidad, reconoce que “desde hace un par de años, los clientes finales se han dado cuenta de la importancia de la ingeniería del software para alcanzar el éxito en los proyectos. A ello ha contribuido la difusión de modelos, como UML y el esfuerzo de los fabricantes de herramientas que automatizan el ciclo de vida en casi todas sus fases”.

Outsourcing de software
La ingeniería de testeo y calidad de software abarca un abanico de métricas y normas orientadas a la gestión empresarial en su conjunto. Entre éstas, destaca la gestión de métricas para los distintos niveles de CMMi, un estándar en la industria del software a nivel mundial en cuanto a implantación de las mejores prácticas de ingeniería que establece rigurosos niveles de madurez y consecución de objetivos. Actúa a modo de marco en torno al que se describen los elementos claves de un proceso de desarrollo de software efectivo. Pero, eso no es todo: también métodos de control y aseguramiento de la calidad del software y/o prácticas de outsourcing de pruebas. Los números hablan por sí solos: para garantizar el éxito de un proyecto de software, hay que dedicar entre un 20 y un 50% (de promedio) a las actividades de testing, con lo que el outsourcing se erige como una solución complementaria para quien busca expertise, flexibilidad y ahorro de costes. En opinión de Raynald Korchia, director de inQA.labs, “en España es necesario no sólo ofrecer soluciones clásicas de cesión de personal, sino también soluciones llave en mano de valor añadido, como la oficina de certificación remota (nearshore) donde la responsabilidad de validar el producto recae completamente en nosotros”.
En cuanto a las últimas técnicas en materia de calidad y testing de software, la tendencia actual es el establecimiento de metodologías de pruebas, en las que se incorporan las herramientas de software, los procesos, las best practices y el expertise necesarios para cubrir todo el proceso de pruebas y llegar a un control de calidad maduro.


Herramientas para la gestión de requisitos
------------------------------------------------------------
La gestión de requisitos es una parte vital en el desarrollo de un proyecto software ya que provee la dirección y alcance del proyecto. “El uso de herramientas para auxiliar la gestión de requisitos se ha convertido en un aspecto importante de la ingeniería del software”, según Carlos Oramas, responsable del programa de arquitectos de software de Microsoft Ibérica. Por su parte, Raynald Korchia, director de inQA.labs, subraya la importancia de la “trazabilidad” desde los requisitos hasta la ejecución de las pruebas.
El estándar IEEE 830 o IEEE Recommended Practice for Software Requirements Specifications describe una serie de recomendaciones prácticas para la creación de una buena especificación de requisitos de software (ERS/SRS), es decir, “una SRS de calidad, correcta, precisa, priorizable, verificable, modificable y trazable”, según apunta Francisco López Minaya, consultor senior de Telelogic.

Viñeta publicada el 20 de febrero de 1870 en La Flaca n.º 35 Tendencias

ny2 ACTUALIDAD

ny2 Sociedad de la información

Día de la Movilidad y el BYOD Coffee Break