Cómo la 4ta revolución industrial afectará al testing por Daniel Tolosa
Sobre la charla:
Esta 4ta. revolución industrial, conocida también como Industria 4.0, se caracteriza por la fusión de tecnologías emergente de campos tan diferentes como la robótica, la inteligencia artificial, la nanotecnología, la computación cuántica, la biotecnología, la impresión 3D, blockchain y el internet de las cosas.
Muchas de estas tecnologías nos han tomado por sorpresa y esta afectando a muchas empresas.
En esta charla discutiremos sobre la necesidad de que los ingenieros de software, especialmente las personas dedicadas al control de calidad implementen herramientas y técnicas especializadas para las pruebas de software orientadas a la industria 4.0.
Sobre Daniel:
Daniel Tolosa es Analista de Sistemas de la Universidad Tecnológica Nacional de Argentina y tiene experiencia en definición e implementación de procesos en pequeñas y medianas organizaciones; definición de procesos basados en el modelo de madurez CMM y CMMI; definición de pruebas automatizadas, incluyendo análisis y diseños de casos de prueba, ejecución y evaluación de resultados; Herramientas de Automatización de Pruebas Funcionales y de Performance; administración de proyectos de Testing y en la definición y captura de requerimientos.
Anteriormente, trabajó como en Consultor Senior en GSI Internacional, así como en diversos bancos y entidades financieras en Argentina, Estados Unidos, Puerto Rico y República Dominicana.
2. En los próximos veinte años
veremos más cambios que en los
últimos dos mil…
3. Estamos al inicio de una transición histórica
que nos llevará a un nuevo sistema
económico y a una nueva vida,
cualitativamente muy distinta a la que
tenemos ahora….
4. Conocida también como Industria 4.0, se caracteriza por la fusión de tecnologías
emergente de campos tan diferentes como la robótica, la inteligencia artificial, la
nanotecnología, la computación cuántica, la biotecnología, la impresión 3D,
blockchain, el internet de las cosas, entre otras.
4ta Revolución Industrial
5. La disrupción será causada por
la convergencia de estas nuevas
tecnologías….
7. Blockchain es un libro contable que registra transacciones
de activos digitales, que están distribuidos entre muchas
computadoras y que otorga confiabilidad, seguridad y
transperencia.
9. La inteligencia artificial es la "inteligencia” proporcionada
por una máquina con el objetivo de resolver problemas
normalmente resueltos con inteligencia humana.
13. La Internet de las Cosas es un sistema de dispositivos
interrelacionados que tienen la capacidad de transferir
datos a través de una red, sin requerir de interacciones
humano a humano o humano a computadora.
14. Estas técnologías serán
protagonistas en sectores como la
salud, la manufactura, el comercio
electrónico, las redes sociales, la
logística y otros sectores industriales.
15. ¿Como afectarán al Testing de Software?
¿Como probar
estás
teconologias?
¿Como la
tecnologia nos
puede apoyar en
las pruebas?
¿Como
deberemos estar
preparados
profesionalmente?
Lo abordaremos desde tres puntos de vista:
16. Retos de Calidad en Blockchain
Evitar el riesgo de los
ataques del 51%
Blindar la seguridad de
las transacciones
Mejorar la seguridad
de las wallet
Mejorar el software
eliminando bugs para
garantizar transaciones
seguras y exactas
Problemas de seguridad
en contratos inteligentes
22. ¿Como apoyarnos en tecnología?
La inteligencia artificial permitirá al
ingeniero de pruebas potenciar el aporte de
valor de su trabajo hacia tareas menos
repetitivas.
23. ¿Como apoyarnos en tecnología?
• Applitools
• SauceLabs
• Testim
• Sealights
• Test.AI
• Mabl
• Volver a probar
• ReportPortal
Algunas herramientas que usan IA:
24. El Desafio
• Entregar a velocidad DevOps.
• Probar la experiencia completa del cliente.
• Predecir el impacto de productos en el usuario antes
del lanzamiento.
25. Conclusiones finales
Emergerán nuevas profesiones y posiciones
en los departamentos de testing, muy
centradas en aspectos como conocimientos
algorítmicos, optimización matemática o
habilidades de inteligencia empresarial.
26. Conclusiones finales
La inteligencia emocional, los valores, la
imaginación, la creatividad, la empatía, la
colaboración, la asertividad y la calidad humana…
serán las capacidades humanas imposibles de imitar
y mucho menos de automatizar.
Los casos de uso de la AI van desde el monitoreo de las viviendas, la determinación de las acciones en las que se debe invertir, la ayuda para decidir qué receta se debe hacer, ¡hasta la ayuda para elegir a la pareja para toda la vida!
Con IA podemos dotar de inteligencia a cualquier dispositivo.
El aprendizaje automático (Machine Learning, ML), es el subconjunto de AI. El ML y la AI a menudo se usan indistintamente, pero no son lo mismo.
AI Específica (débil): Máquinas que están programadas para llevar a cabo una tarea específica con un contexto limitado. Por ejemplo, máquinas recreativas, asistentes de voz y toda la AI actual.
● AI General: Las máquinas con capacidades cognitivas generales se denominan popularmente casos de AI Fuerte. Estas AIs pueden razonar y entender su entorno como lo hacen los humanos, y actuar en consecuencia. Por ejemplo, el razonamiento de sentido común. Actualmente, la AI General no se ha llevado a cabo, y nadie sabe si se hará en realidad o cuándo.
● Súper AI: Máquinas que son capaces de replicar pensamientos, ideas y emociones humanas. Es ese súper estado de inteligencia en el que las máquinas se volverán más inteligentes y sabias que los humanos. Considerando el estado actual de los desarrollos de la AI, Super AI no se convertirá en una realidad en un futuro cercano.
Un fondo de estas características (llamados Organización Autónomas Descentralizadas) que se creó en 2016 bajo el nombre de The Dao y utiliza el sistema de blockchain Ethereum, fue víctima de un ataque informático en el que los ciberciminales robaron más de 60 millones de dólares en criptomonedas al explotar un fallo en un contrato inteligente que administraba esta organización
Este ataque dejó en evidencia que un error en un contrato inteligente activo puede tener consecuencias críticas, ya que al apoyarse en la blockchain no puede repararse con un parche.
En este sentido, los contratos inteligentes pueden ser actualizados, pero no se pueden reescribir, explica el artículo.
En conclusión, la tecnología blockchain continúa siendo una gran herramienta para garantizar la seguridad, aunque se han identificado casos que la han convertido en vulnerable. Esto no quiere decir que dejó de ser segura, sino que con el paso del tiempo y el desarrollo natural del ecosistema tecnológico (incluyendo aquí la evolución del cibercrimen) surgen desafíos que ponen a prueba cualquier tipo de tecnología, como es la cadena de bloques. En este sentido, no debemos perder de vista que las etiquetas que se instalan alrededor de producto, como podría ser: “blockchain es una tecnología imposible de vulnerar”, son ciertas hasta que se demuestre lo contrario, ya que después de todo, tal como afirma una regla en el mundo de la seguridad: toda tecnología es vulnerable.
Mt. Gox, 744.408 Bitcoins
Ha sido hasta ahora el mayor ataque de la historia de este tipo de divisas. Se produjo después de que un grupo de hackers aprovecharan una serie de vulnerabilidades complejas. Fue un cúmulo de varios robos continuos.
El más famoso de estos ataques ocurrió en junio de 2011. Un pirata informático (o grupo de piratas informáticos) supuestamente accedió a un ordenador que pertenecía a uno de los auditores, y explotó una vulnerabilidad de seguridad para acceder a los servidores. Los hackers cambiaron el valor nominal del Bitcoin a 1 céntimo.
Luego procedieron a desviar alrededor de 2.000 BTC. Algunos clientes compraron sin saberlo 650 BTC, cuando el precio se desinfló artificialmente. A pesar de que el truco fue noticia en todo el mundo, ninguna de las monedas fue devuelta.
Bitfinex, 119.756 Bitcoins
En 2016, Bitfinex era el Exchange de Bitcoin más grande del mundo, hasta que fue superada por ANX. El 4 de agosto, robaron aproximadamente 119.756 Bitcoins de cuentas de clientes. Los ladrones tomaron monedas de las carteras de los clientes, a pesar de la presencia de múltiples niveles de seguridad. Este fue otro de los mayores hackeos de criptomonedas.
La violación se produjo a través de un procedimiento de firma múltiple, que permitió una transferencia de fondos. Así es como se configuraron las cosas: Bitfinex contendría 2 claves, mientras que otra compañía de cadena de bloques, BitGo, mantendría una tercera clave. Juntas, estas claves permitirían que BTC (y otras criptomonedas) las transfiera.
NiceHash, 4.736,42 Bitcoins
NiceHash es una empresa eslovena que ayuda a los mineros de criptomonedas a comprar o vender potencia informática. Esta potencia es lo que se utiliza para crear la mayoría de criptodivisas. Las transacciones se llevan a cabo en Bitcoins. Los mineros cobran conforme van minando.
Los vendedores también son pagados en BTC. El 6 de diciembre del pasado año, hubo una grave violación de seguridad en sus servidores. Los usuarios de Reddit informaron que no pudieron acceder a sus fondos o realizar transacciones. Cuando intentaron iniciar sesión, se les envió un mensaje de que estaba en mantenimiento.
La noticia finalmente llegó a la conclusión de que se había producido un ciberataque de alto nivel en el servicio de minería. La cuenta final reveló que una cartera con 4.736,42 Bitcoins había sido secuestrada y desapareció.
Ethereum, 31 millones de dólares
Ethereum se lanzó en 2014, unos 5 años después de Bitcoin. Desde entonces, ha crecido hasta convertirse en la segunda moneda digital más grande. Al menos así está en el ranking a día de hoy.
El 20 de julio de 2017, ocurrió otro de los mayores hackeos de criptomonedas. Un ciberdelincuente robó 31 millones de dólares (153.037 ETH) de tres carteras muy grandes, que pertenecían a Swarm City, Edgeless Casino y æternity. El estafador anónimo logró cambiar la propiedad de las billeteras mediante la explotación de una vulnerabilidad multi-firma. Este defecto permitió a cualquier persona cambiar la titularidad de una billetera.
Tether, 30,9 millones de dólares
Tether combina lo mejor de esta tecnología y la cadena de bloques (blockchain) para crear una forma de dinero digital conocido como tokens. Los usuarios pueden usar estos tokens para intercambiar su dinero del “mundo real” por Bitcoin, Litecoin o Ethereum. Básicamente significa que si metemos 10 euros en Tether, obtenemos 10 tokens. También usar los tokens para el cambio inverso.
El 19 de noviembre de 2017, un atacante externo obtuvo acceso a una cartera de Tether y desvió 30,9 millones de dólares en tokens. Este atacante usó una dirección de Bitcoin para la transacción, por lo que el robo fue básicamente irreversible.
Con esta completamos los 5 mayores hackeos de criptomonedas que han ocurrido. Está claro que con la llegada de nuevas tecnologías también llegan nuevas vulnerabilidades. Como especialistas en Testing que somos, es nuestra responsabilidad asegurar la calidad de estas nuevas aplicaciones. La tecnología Blockchain ha llegado para quedarse y debemos estar preparados para ponerla a prueba.
La Fundación OWASP (Open Web Application Security Project) es una organización dedicada al análisis y divulgación de temas, documentos y herramientas relacionadas con la seguridad del software a nivel global. Recientemente publicaron su “IoT Top 10 2018” como parte de su proyecto enfocado a la Internet de las Cosas. Un breve documento en el que se indica cuáles son los 10 principales problemas de seguridad asociados con dispositivos de la Internet de las Cosas (IoT) y que deberían ser tenidos en cuenta por todos aquellos que desarrollen, creen o manejo sistemas IoT.
1. Contraseñas débiles, predecibles o dentro del código
Uso de credenciales no modificables, disponibles de manera pública o fáciles de adivinar mediante fuerza bruta; e incluso de backdoors en firmware o software cliente que permiten obtener acceso no autorizado a sistemas aprovechando estas contraseñas vulnerables.
2. Servicios de red inseguros
Servicios de red inseguros e innecesarios corriendo en el propio dispositivo, especialmente en aquellos expuestos a Internet, que comprometen la confidencialidad, autenticidad o disponibilidad de la información o permiten control no autorizado de manera remota.
3. Ecosistema de interfaces inseguros
Problemas de seguridad en interfaces web, móviles, en la nube, o API de backend en ecosistemas que están fuera de los dispositivos y que permiten que tanto los dispositivos como ciertos componentes relacionados puedan ser comprometidos.
4. Falta de mecanismos de actualización seguros
Falta de un sistema sencillo para actualizar el dispositivo de manera segura. Esto incluye: falta de validación del firmware en el dispositivo, falta de seguridad en el envío (tránsito no cifrado), falta de mecanismos que permitan evitar volver un paso hacia atrás, y falta de notificaciones acerca de cambios de seguridad debido a las actualizaciones.
5. Uso de componentes poco seguros o anticuados
Uso de componentes/librerías de software obsoletas y/o inseguras que podrían permitir que el dispositivo sea comprometido. Esto incluye personalizaciones inseguras de la plataforma del sistema operativo y el uso de software de terceras partes o componentes de hardware de una cadena de suministro comprometida.
6. Insuficiente protección a la privacidad
Información personal del usuario almacenada en el dispositivo o en el entorno al cual se conecta el dispositivo que es utilizada de manera poco segura, inapropiada o sin permiso.
7. Transferencia y almacenamiento de datos de manera poco seguro
Falta de cifrado o control de acceso para datos sensibles que están dentro del ecosistema; incluyendo datos en reposo, en tránsito o durante su procesamiento.
8. Falta de controles de gestión
Falta de soporte de seguridad en dispositivos lanzados a producción, incluyendo la gestión de activos, gestión de actualizaciones, desarmado seguro, monitoreo de sistemas y capacidades de respuesta.
9. Configuración poco segura por defecto
Dispositivos o sistemas lanzados con configuraciones por defecto poco seguras o sin la posibilidad de hacer más seguro al sistema mediante la aplicación de restricciones a partir de cambios en la configuración.
10. Falta de hardening
Falta de medidas que permitan robustecer los dispositivos desde el punto de vista físico, lo que permite a potenciales atacantes llegar a información sensible que podría ser de utilidad en un futuro ataque remoto o tomar control local del dispositivo.
Hace ya un tiempo que la seguridad en los dispositivos IoT es un tema que se sigue de cerca. Aspectos como la insuficiente protección a la privacidad, que se menciona en el punto 6, también fueron detectados por investigadores de ESET en un estudio que se publicó a principios de 2018 luego de analizar doce populares dispositivos IoT disponibles en el mercado y en el que cada uno de los dispositivos inteligentes evaluados presentó algún problema de privacidad; además de otro tipo de vulnerabilidades.
Hay quienes ya tomaron nota de algunos de estos problemas que presentan los dispositivos IoT y están tomando medidas, como es el caso del estado de California, en Estados Unidos, que aprobó una nueva ley que para el año 2020 exigirá que todos los dispositivos inteligentes comercializados deberán venir configurados con contraseñas únicas.
De acuerdo a la opinión jefe del laboratorio de ESET Latinoamérica, Camilo Gutiérrez, en el informe Tendencias 2019, es de esperarse que este año veamos con más frecuencia casos de amenazas desarrolladas específicamente para dispositivos IoT.
En definitiva, la inteligencia artificial permitirá al ingeniero de pruebas potenciar el aporte de valor de su trabajo hacia tareas menos repetitivas. Por tanto, y aunque habitualmente hablemos en futuro, la revolución 4.0 ya es tangible en el tejido empresarial, haciendo que nos encontremos ante una redefinición de los puestos de trabajo en general y, en particular, del perfil de ingeniero de pruebas, de su lógica y su formación.
En esta nueva fase, todo lo que no pueda ser automatizado cobrará una importancia vital: la inteligencia emocional, los valores, la imaginación, la creatividad, la empatía, la colaboración, la asertividad y la calidad humana… Las capacidades humanas conllevan imperfecciones que generan situaciones completamente imposibles de imitar y mucho menos de automatizar.
Digital Automation Intelligence es un enfoque moderno asistido por IA para la automatización de pruebas que lo ayuda a crear productos que deleitan a los usuarios, entregar a la velocidad DevOps, probar la experiencia completa del cliente, probar CUALQUIER tecnología y predecir el impacto cuantificado de nuevas versiones de productos en el usuario antes lanzamiento.
Prueba de automatización: primera ola
La primera ola está llena de algunas buenas herramientas de proveedores anticuados como WinRunner, Silk Test y QTP. En mi opinión, estas soluciones comenzaron todo y prepararon el escenario para futuras innovaciones de automatización de pruebas como Selenium.
Prueba de automatización: segunda ola
Selenium comenzó la segunda ola de automatización de pruebas, centrándose más en los desarrolladores y las mejores prácticas de programación al crear pruebas automatizadas.
Pero la verdad sea dicha, en los momentos tranquilos cuando piensan que nadie está escuchando, se puede escuchar a los probadores susurrando las mismas maldiciones que hicieron sobre las herramientas de los proveedores: pruebas escamosas y mantenimiento volviéndolos locos.
El rumor actual en estos días está relacionado con la inteligencia artificial y el aprendizaje automático. Las empresas se apresuran a crear herramientas que puedan lanzar como "impulsadas por la IA". De hecho, en una reciente conferencia de Google, el CEO Sundar Pichai inauguró el evento al afirmar que "Nos estamos moviendo de un mundo móvil primero a un mundo AI primero". "
[tweet_box design = "default"] Nos estamos moviendo de un móvil primero a un #AI primer mundo ~ Sundar Pichai [/ tweet_box]
Aquí hay ocho nuevas herramientas basadas en "AI" que creo que nos llevarán a la siguiente etapa de la automatización de pruebas: la Tercera Ola. (Además, echa un vistazo a la conferencia en línea de Automation Guild para ver algunas sesiones increíbles que tendremos sobre la automatización de pruebas de IA. También tendrás la oportunidad de hacer preguntas a muchos de los proveedores mencionados en este artículo)
Estas son solo algunas de las herramientas de automatización de "tercera ola" que he visto en el mercado. Una de las principales características de este software es que muchos de ellos están aprovechando el aprendizaje automático y la tecnología asistida por inteligencia artificial.
Applitools
SauceLabs
Testim
Sealights
Test.AI
Mabl
ReTest
ReportPortal