Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Tiempo de lectura: 5 minutos.

General

NEC Telecom Software Philippines (NSP), una subsidiaria de NEC Corporation of Japan, está ubicada en Manila. NSP desarrolla tecnologías para comunicaciones móviles y de banda ancha, así como soluciones de red y de TI que cumplen con el más alto nivel de satisfacción del cliente con su salida de alta calidad.

El Desafío

El equipo de Virtual Target Solution (VTS) de NSP tuvo dos tipos de problemas que buscaron durante las revisiones de código en su búsqueda de alta calidad: violaciones generales de codificación y errores lógicos / de diseño. Dado que encontrar y resolver violaciones de codificación tomaba tanto tiempo, el equipo de VTS quería automatizar esa parte del proceso de revisión de código, para poder enfocar sus revisiones de código manuales en encontrar errores lógicos y de diseño.

El equipo de Virtual Target Solution (VTS) de NSP está formado por 15 personas, y hacer cumplir las iniciativas de calidad interna fue un desafío. La mayoría de los desarrolladores eran ingenieros jóvenes que recién estaban aprendiendo las importantes iniciativas de calidad interna de NSP, como la revisión del código, el alcance y el rango de pruebas. Hasta hace poco, solo los dos ingenieros de alto nivel realizaban revisiones de todo el código fuente de cualquier proyecto asignado al equipo. Este código fuente suele tener entre 10,000 y 12,000 líneas de código.

Cuando el equipo de VTS se encontró trabajando en un proyecto con un cronograma extremadamente ajustado, fue imposible para los desarrolladores senior revisar todo el código. Como resultado, una gran cantidad de errores de codificación y errores potenciales pasaron por la fase de codificación. Esto, a su vez, afectó negativamente a las pruebas unitarias y de integración.

El enfoque

Debido al alto grado de dificultad que acompañó la revisión de todo el código fuente y la verificación de todos los puntos de control enumerados en su borrador del plan de control de calidad, Joel Calderon, supervisor de diseño de software del equipo VTS de NSP, decidió comenzar a buscar una solución alternativa al código manual. revisiones y pruebas unitarias de escritura.

NSP tiene un alto compromiso con la calidad y Joel estaba decidido a mantenerse fiel a ese compromiso. Anteriormente había tenido experiencias positivas trabajando con Prueba J de Parasoft, una solución para Java, por lo que recurrió a Parasoft C / C ++test, una solución de análisis estándar de codificación y pruebas unitarias automatizadas para C y C ++.

Para ayudar a detectar violaciones de codificación, el equipo de VTS utilizó RuleWizard de prueba de Parasoft C / C ++. Cherry Ann Alib, ingeniera de diseño de software, declaró: "Es muy útil porque podemos personalizar nuestras reglas con RuleWizard para la revisión de código y el análisis de estándares de codificación".

Los resultados

Después de poner en uso la prueba de Parasoft C / C ++, Joel dijo: "Funcionó de maravilla para detectar las violaciones de codificación". Según Joel, el equipo de VTS redujo tanto el tiempo como el costo de sus revisiones de código. El uso de la prueba Parasoft C / C ++ les ha ayudado a realizar el trabajo en 2 a 3 horas para 8,000 a 10,000 líneas de código de aplicación. Anteriormente, las intrincadas revisiones de código manual realizadas por los ingenieros de alto nivel más costosos tomaban de 10 a 15 horas para la misma cantidad de código. Ahora, el equipo de VTS puede confiar la tarea de realizar revisiones de código automatizadas a los miembros más jóvenes del equipo porque la tarea solo implica aprender a usar la solución.

Antes de la prueba de Parasoft C / C ++, realizar revisiones de código manuales efectivas requería una amplia experiencia en el desarrollo de software, a menudo a lo largo de varios años. Joel señaló que hay algunos ingenieros que nunca desarrollan las habilidades necesarias para realizar revisiones de código manuales efectivas. Afirma: "La prueba de Parasoft C / C ++ elimina este impedimento".

Para el mismo proyecto estrictamente programado mencionado anteriormente, el equipo de VTS tuvo que crear más de 500 casos de prueba de unidades en dos semanas. Cherry dice de este proyecto: “Nos costaba crear elementos de prueba unitaria manualmente. Era una tarea tediosa, por lo que comenzamos a buscar una herramienta que automatizara la creación de elementos de prueba ".

Con la prueba Parasoft C / C ++, el equipo de VTS redujo en gran medida la cantidad de tiempo de desarrollo que dedican a escribir casos de prueba, así como la cantidad de tiempo que dedican a realizar pruebas unitarias y pruebas de regresión.

La prueba de Parasoft C / C ++ ejecuta las pruebas durante la noche, y luego el equipo obtiene los resultados de esas pruebas por la mañana. La reducción en el tiempo ahorrado también se puede atribuir al hecho de que con la prueba Parasoft C / C ++, se detectaron entre el 75 y el 80% de los errores durante los procesos ascendentes (desde la fase de diseño hasta la fase de prueba unitaria), dejando solo el 20-25% dejado para los procesos posteriores (fase de prueba de integración hasta el lanzamiento del producto).

Joel dice que la prueba de Parasoft C / C ++ permitió al equipo de VTS organizar y optimizar sus iniciativas de calidad. Todas sus reglas de codificación y requisitos de prueba se concentran en una ubicación, su aplicación de prueba Parasoft C / C ++, en lugar de estar distribuidas entre el conocimiento y la experiencia personal de los diferentes miembros del equipo. Ahora, todos tienen una mentalidad común cuando se trata de iniciativas de calidad interna porque el equipo tiene un conjunto único y consistente de parámetros de control de calidad según lo definido por las reglas de codificación de prueba integradas de Parasoft C / C ++, así como la codificación definida por el usuario. reglas creadas por el equipo a través del Asistente de reglas de codificación.

Todos los miembros del equipo están capacitados en la prueba Parasoft C / C ++, por lo que cualquiera puede ejecutarla. Según Joel,

“La prueba Parasoft C / C ++ ha facilitado la transferencia de conocimientos a nuevas personas. reduciendo el impacto negativo cuando los desarrolladores experimentados se van y entran nuevos para reemplazarlos ".

Continúa diciendo: "Es más fácil enseñar a las personas nuevas cómo usar simplemente el software en lugar de los conceptos de control de calidad y todas las cosas que necesitan saber para adherirse a esas iniciativas de calidad interna, como revisión de código, alcance y variedad de pruebas. La automatización nos facilita mucho las cosas ".

Como resultado de la decisión de Joel de comenzar a usar la prueba Parasoft C / C ++, el equipo de VTS pudo cumplir con la fecha límite de su cliente, lo que nunca pensaron que podrían hacer con un calendario tan apretado. Además, el equipo de VTS pudo ganar dos proyectos adicionales de este mismo cliente. Más allá del éxito y la alta calidad que ven los clientes de NSP, el equipo de VTS es más productivo en menos tiempo. Antes de usar la prueba Parasoft C / C ++, su promedio de horas de trabajo variaba de 12 a 15 horas por día. Ahora, su norma es correcta a las 8 horas.

“Apenas tenemos trabajo de horas extras ahora. Por ejemplo, para las pruebas unitarias e incluso la revisión del código, simplemente lo dejamos con la máquina que realiza la prueba Parasoft C / C ++, y luego obtenemos los resultados por la mañana. Ahora, los proyectos son mucho menos estresantes. La prueba C / C ++ mejora la calidad de nuestros productos y la calidad de nuestras vidas ".

—Joel Calderon, supervisor de diseño de software

Da el siguiente paso

Aprenda a aprovechar una herramienta de prueba integral para maximizar el ROI de las pruebas.

  • Industria: Telecomunicaciones
  • Tamaño de la empresa: 115,000
  • Ubicación: Manila, Filipinas
  • Solución: Prueba C / C ++