¡TRANSOLUTIONS AHORA ES PARTE DE BAUFEST!
Ingresa a baufest.com para conocer más sobre nuestros servicios.

BLOG

Jueves, 27 Abril 2017 09:12

Asegurando la calidad de Software: Testing Basado en Riesgos

¿Por qué el testing de software es tan importante?

El testing nos permite determinar la calidad del software y corregir las incidencias generadas durante el desarrollo. Este proceso incluye correcciones y relanzamiento, que siempre será parte de los proyectos de desarrollo ya que las incidencias siempre ocurren.

De acuerdo a ISTQBel testing de software es importante por los siguientes motivos:

1. Permite identificar incidencias ocurridas durante las fases de desarrollo.

2. Asegura la confianza del cliente y su satisfacción con la aplicación.

3. Permite asegurar la calidad del producto y correcto funcionamiento.

4. Es necesario para mantenerte en el negocio

El último punto en mención es muy importante, ya que el cliente actual no ve la calidad como una característica diferenciadora en una compañía, sino como un mínimo indispensable. Esto significa que la calidad es intrínseca al producto, y asegurar la calidad es primordial para las compañías de software. 

Entonces con todo esto en mente, ¿en qué consiste el testing basado en riesgos?

Es una metodología que consiste en identificar riesgos y de acuerdo a esto determinar el enfoque de las pruebas dando un uso más efectivo de los recursos de testing.

Todas las pruebas nacen con una Historia de Usuario/requisito que permite entender las funcionalidades a ser evaluadas.

Una vez se cuenta con la historia de usuario, se evalúan 2 tipo de factores de riesgo, los cuales manejan diversos atributos. Estos factores nos ayudan a definir el tipo de pruebas y a estimar los tiempos necesarios.

cuadro de los dos tipos de factores de riesgo y atributos de un cliente

 La priorización basada en riesgos permite identificar de manera más eficiente la probabilidad de errores y definir cuál historia de usuario debería priorizarse al momento de iniciar el ciclo de pruebas. Por otro lado, permite conseguir varias valoraciones para cada atributo, ya que incentiva diversos puntos de vista y valoraciones, lo cual da una mirada más amplia de cada factor y evita una opinión sesgada.

De este modo se consigue optimizar tiempos y dar mayor atención a los puntos más importantes durante la etapa de testing.

Finalmente, de acuerdo al artículo “Things to remember about Risk Testing” publicado por Erik Van Veenendaal, especialista en temas de calidad y fundador de Improve Quality Services

 1. Involucrar a todos los stakeholders en el análisis, trabajar con equipos tanto con una perspectiva técnica y de negocio es esencial para poder identificar todos los riesgos potenciales.

2. Hablar de riesgos en un lenguaje fácil, la comunicación es vital para el éxito de un proyecto. Cuando hablamos de riesgos debemos explicarlos de tal manera que todos puedan entender.

3. Entender que impacto y probabilidad son factores distintos. El impacto usualmente hace referencia a factores de negocio, mientras que la probabilidad es en referencia a factores técnicos. Estos tipos de riesgos son distintos y deben ser tratados de manera distinta.

4. Visualizar los resultados del análisis de riesgos, presentar los resultados en un diagrama ayuda a visualizar mejor la idea que viendo un listado de números en una hoja de Excel.

5. Considerar riesgos funcionales y no-funcionales, en ocasiones olvidamos los riesgos no-funcionales. Pero en la práctica este tipo de riesgo, como rendimiento, seguridad y usabilidad muchas veces son los que marcan la diferencia. Evita también, largas listas de atributos no-funcionales que pueden no ser entendidos y limítate a un listado importante que puede ser probado usando técnicas de prueba.

6. Definir un enfoque de prueba diferenciado, riesgos críticos deben ser probados de manera distinta, con mayor cobertura, criterios más estrictos, etc. Este enfoque debe ser definido con anticipación, de ese modo se puede dar un uso más efectivo de los recursos de testing.

7. Informar sobre los riesgos del producto identificado. Muchos realizan un análisis de riesgo basado en el producto, pero los informes de testing se basan en defectos. Los stakeholders indican cuáles son los riesgos del producto más importantes y que deben ser mitigados. Un informe de testing debe proporcionar esta información y soportar la decisión de lanzar el software. En la práctica, los informes basados en defectos a menudo no son los más usados por los stakeholders. Se recomienda definir la cobertura del riesgo del producto y los riesgos del producto mitigados como criterios de finalización de pruebas.

8. Usar el método de análisis de riesgos de producto que se adecue a tus necesidades. Existen métodos muy completos, los cuales pueden ser necesarios para sistemas críticos, pero no siempre son los más adecuados. En muchos casos una sesión de lluvia de ideas puede ser suficiente. En general la idea es no complicar las cosas más de lo que se deben.

9. Revisar periódicamente el análisis de riesgos de producto. La identificación de riesgos de productos y análisis están basados en las percepciones y expectativas, que irán cambiando con el tiempo. Vale la pena realizar análisis de riesgos de producto de manera periódica, al menos en cada hito del proyecto.

En Trans Solutions Systems contamos con un equipo altamente calificado en software testing. Para mayor información sobre Servicios de Testing puedes dar click aquí o puedes dejarnos tus datos dando click aquí.