TheMindUnleashed TESTING & Artificial intelligence Een introductie 1 AI AI & testen Test met AI Testen van AI Demo 2 AI? Research areas Psychology/ Biology Philosophy a⋀b→c Computer science import tensor flow as tf s = tf.InteractiveSession() x = tf.Variable([1.0, 2.0]) b = tf.Constrant([1.5, 2.5]) 4 HYPE? AI in het nieuws NU.nl 6 2010 2011 2012 2013 2014 2015 2016 7 Wat is er veranderd? ► Rekenkracht ► Beschikbaarheid van data ► Doorbraken in algoritmes (deep learning) ► Betere APIs ► Behoefte / noodzaak 8 Deep learning DataRobot 9 Betere API’s en tools ► Google TensorFlow ► IBM Watson ► Theano (Python deep learning) 10 Testen met AI 11 Afronding Uitvoering Specificatie Voorbereiding Planning Testen met AI Beheer Inrichting 12 Test uitvoering Step 1 Step 2 … 13 Test case generatie Start ? Goal 14 Symbolisch redeneren Start Goal 15 Symbolisch redeneren Start Pre Action Post Goal 16 Symbolisch redeneren Start changed(F) ⋀ visible(F,V) Pre Action Post GoA Goal 17 Symbolisch redeneren Start local change ¬changed(F) Pre Action Post Goal 18 Symbolisch redeneren Start Start Goal Goal 19 Model less Start $ Pre $ Action Post Goal 20 Evolutionaire algoritmes … … … … Goal 21 Evolutionaire algoritmes … … Goal 22 Planning Start Goal 23 Fout lokalisatie en test selectie 24 Fout lokalisatie en test selectie 25 Fout lokalisatie en test selectie 26 Fout lokalisatie en test selectie 27 Het eindstation? ► AI Hacking ► Defcon 2015/2016 ► Onderdeel van DARPA AI challenge ► Winnaar 2016: Mayhem (Carnegie Mellon) • Fuzz testing • Symbolic reasoning in order to control complexity • Testing of binaries DARPA 28 Testen van AI 29 AI as a service ► Apple Siri ► Microsoft Cortana ► IBM Watson ► Wolfram Alpha ► Google Microsoft 30 Updates van het brein ► Decision models ► Pre-trained networks 31 Kwaliteit ► Examens ► Wetten (control output) ► Control input 32 AI AI & testen Test met AI Testen van AI Demo 33 Testen met Evolutionaire Algoritmes demo Allex Veldman Het Algoritme Test object Genereer initiële populatie Bepaal Fitness Mutatie Overleving Selectie Voortplanting 35 Initiële populatie Random gegenereerd 23 x 90 Reactietijd Testgevallen 36 Selectie De ouders 23 x 90 23 x 90 17 x 69 19 x 72 18 x 46 57 x 53 Reactietijd 64 x 53 73 x 50 83 x 54 15 / 23 Testgevallen 8 - 78 37 Voortplanting Kinderen van de geselecteerde ouders 23 x 69 17 x 90 19 x 46 18 x 72 23 x 69 57 x 53 Reactietijd 64 x 53 73 x 54 83 x 50 15 - 78 Testgevallen 8 / 23 38 Overleving Kinderen vervangen de slechtste voorgangers 55 / 77 Reactietijd 23 x 69 Testgevallen 39 Mutatie Random mutatie van populatie Reactietijd 46 x 77 23 x 69 Testgevallen 40 Bepalen fitness De nieuwe generatie 46 x 77 23 x 69 Reactietijd Testgevallen 41 Selectie De nieuwe ouders Reactietijd 23 x 69 Testgevallen 42 Voortplanting Kinderen van de geselecteerde ouders Reactietijd Testgevallen 43 Overleving Kinderen vervangen de slechtste voorgangers Reactietijd Testgevallen 44 Mutatie Random mutatie van populatie Reactietijd Testgevallen 45 Bepalen fitness De nieuwe generatie Reactietijd Testgevallen 46 Demo Testing with Artificial Intelligence 47 TESTING & Artificial intelligence Steven Anker Software Engineer High Tech [email protected] Allex Veldman Test Engineer High Tech [email protected] 48