Blockchain: Pruebas encadenadas

Probablemente hayas leído alguna noticia acerca de la moneda virtual llamada Bitcoin, la cual lleva algunos años funcionando sobre su propia red Blockchain y ha llegado a valer más de 3.000 dólares por unidad hasta el momento de escribir este artículo. Están naciendo nuevas empresas exclusivamente dedicadas a esta tecnología, las cuales desarrollan y mantienen nuevas redes, monedas virtuales y/o aplicaciones con un gran potencial, así como Ethereum, Golem, Aragon

La tecnología Blockchain ha llegado para quedarse y con ella vienen muchos cambios importantes en la forma en que se llevan a cabo los negocios y las aplicaciones hoy en día. Estamos hablando de redes descentralizadas, seguras, inmutables, con el consenso distribuido y contratos inteligentes.

Estas características abren un nuevo universo de infinitas posibilidades para desarrollar aplicaciones descentralizadas (DApps) basadas en Blockchain, pero también presentan grandes desafíos en el ámbito del Testing. No sólo el cambio de tecnología es significativo, sino que también son significativos los cambios desde el punto de vista del proceso de negocio. Mientras que las aplicaciones Blockchain requerirán todas las pruebas y validaciones estándares, tales como pruebas funcionales, pruebas de integración, pruebas de seguridad y pruebas de rendimiento, también requerirán conocimientos adicionales de pruebas especializadas.

Probando los Smart Contracts:

Los Smart Contracts (o contratos inteligentes) son módulos de software en la Blockchain que ejecutan transacciones automáticamente en base a condiciones predefinidas y lógica de negocio. Las pruebas de contratos inteligentes implican la simulación de todas las posibles condiciones esperadas e inesperadas para cada contrato, probando todas las combinaciones de lógica empresarial y la ejecución correcta de las transacciones. Y todo esto en el contexto de una red cambiante y en expansión. Dado el gran número de nodos y combinaciones que son probables, la automatización de las pruebas se convierte en una necesidad importante.

Probando los nodos:

La fortaleza de la red Blockchain radica en que el registro de transacciones compartido sea exactamente el mismo en cada uno de los nodos que la forman. Esto se logra a través del consenso en todos los nodos en el orden en que se agregan las transacciones a la red. La comprobación de la consistencia de las transacciones consiste en probar el protocolo de consenso para garantizar que las transacciones se almacenan en la secuencia adecuada en condiciones normales, así como en los casos en que los nodos fallan simultáneamente o suficientes nodos no participan en la red durante un período de tiempo. La resiliencia también debe ser probada mediante la validación del registro de transacciones, por ejemplo, después de que los nodos que se reiniciaron o se unieron a la red se sincronicen correctamente con otros nodos de validación.

Probando requisitos no funcionales:

Otros factores importantes que deben ser probados en la Blockchain son el rendimiento y la latencia, que variarán en función del tamaño de la red, el tamaño esperado de las transacciones y el protocolo de consenso utilizado. También es importante medir si se mantiene la integridad de la red y del registro de transacciones compartido mientras se prueba el rendimiento. Las prueba de seguridad y privacidad de los datos basándose en permisos selectivos también son necesarias.

Después de dar estas rápidas pinceladas acerca de los desafíos que se avecinan, es evidente que sería un error no tener un pie metido en las aplicaciones descentralizadas (DApps) y mantenerse al día de la revolución tecnológica que estamos viviendo.

 

Referencias:

https://www.capgemini.com/blog/capping-it-off/2017/01/testing-of-smart-contracts-in-the-blockchain-world

foto_esteve_serranoEsteve Serrano

BI & QA Test Engineer | SOGETI ESPAÑA

Autor: qanewsblog

Sogeti es una compañía tecnológica perteneciente al Grupo Capgemini y especialista en: Testing y Calidad de Software; Soluciones Microsoft y High Tech Consulting. En Sogeti entendemos la importancia de obtener el máximo valor empresarial de sus sistemas de IT, por ello somos líderes mundiales en Testing & QA. Somos creadores de las metodologías estándar del mercado: TMap® (Test Management Approach) y TPI® (Test Process Improvement). ¡Nuestro compromiso es el Testing!

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s