Tekoälyä testauksessa ja hyvän softan teossa

Samankaltaiset tiedostot
Tekoälyn testaus. Matti Vuori (64)

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Ohjelmistojen virheistä

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Onnistunut Vaatimuspohjainen Testaus

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Rinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita

ERP järjestelmät. Mitä, miksi ja kuinka? Parhaita käytäntöjä. Kevät 2017 Lauri Tapola

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Tekoäly liiketoiminnassa. Tuomas Ritola CEO, selko.io

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Tekoälyn soveltamisen eettisiä periaatteita

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Testi generaattori. Testien ajotyökalu. Kuva 1. Offline mallipohjainen testaus

Yhteistoiminnallisen humanoidirobotin sosiaalisia vaikutuksia työpaikalla

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Testaajan eettiset periaatteet

Open Arctic Challenge , Oulu Petri Jääskeläinen

Tapahtuipa Testaajalle...

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

COTOOL dokumentaatio Testausdokumentit

Testataanko huomenna?

Älykkään vesihuollon järjestelmät

Datan analysointi ja visualisointi Teollisen internetin työpaja

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

58160 Ohjelmoinnin harjoitustyö

Automaattinen yksikkötestaus

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Työkalujen merkitys mittaamisessa

Tekoälyn testaus. Matti Vuori (49)

Customer Intelligence ja Big Data. Digile D2I Kimmo Valtonen

statbeatmobile PROJECT REVIEW iteration 1

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Systemaattinen apina ja miten se tehdään fmbt:llä

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Tekoälykokeiluprojekti. Henkilökohtaisen kalenterin optimointi tekoälyllä Skycode Oy (ent. Suomen Mediatoimisto Oy)

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

T Projektikatselmus

Lyhyt johdatus ketterään testaukseen

Napa vertaistestaus TESTISESSIO-CHARTER. BetaTeam

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Kaisa Lähteenmäki-Smith Valtioneuvoston kanslia Kokeilevat kunnat ja alueet seminaari

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

CALL TO ACTION! Jos aamiaistilaisuudessa esillä olleet aiheet kiinnostavat syvemminkin niin klikkaa alta lisää ja pyydä käymään!

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka

Ylläpito. Ylläpidon lajeja

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Ihmisenkaltaisten robottien testauksesta. Matti Vuori Testauspäivä

Kontrollipolkujen määrä

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Testausoppeja toimialavaihdoksesta

SKENAARIOT JA DISRUPTIOT

Sähköiset paloturvallisuusjärjestelmät ja tulevaisuuden näkymät

Dynaaminen analyysi IV

AMMATILLINEN HARKINTA

Millainen on menestyvä digitaalinen palvelu?

Miten varmennan ICT:n kriittisessä toimintaympäristössä?

Tietopohjainen testaus ja silmien avaaminen kohteen ilmiöille

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Ohjelmiston toteutussuunnitelma

Tehokas vianetsintä taktiikoita testaajille

2.0 IoT. Ilmakehätapaaminen Emma Bruus

Infran omaisuudenhallinnan rajapintahanke (ja tietoportaali) Saara-Maija Pakarinen Espoon kaupunki SKTY syyspäivät 2017

TeliaSonera Identity and Access Management

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

Näkemyksiä ja kokemuksia käyttäjälähtöisestä suunnittelusta Hannu Paunonen Metso Automation Oy

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Työkalujen yleinen arkkitehtuuri. Ylläpitoon liittyvät työkalut. Ylläpitotehtävien mukaiset työkalut. Työkalujen jaotteluperusteita

Hyve- johtamisen kartta. Tiedolla johtamisen teemaryhmän vierailu Oulussa

Lean-implementaation tiekartta VSSHP:ssä Heikki Laurila Lean projektijohtaja VSSHP, Kehittämispalvelut

2. TILASTOLLINEN TESTAAMINEN...

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Kuopio Testausraportti Kalenterimoduulin integraatio

Toteutusvaihe T2 Edistymisraportti

Smart Tampere

Tosi elävä virtuaalimalli Mika Karaila Tutkimuspäällikkö Valmet Automation

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

EXI-1000/RVK EXI-2000/RVK VALVONTAKESKUS ASENNUS- JA KÄYTTÖOHJE

Keinoälyn mahdollisuudet terveydenhuollossa

Projektisuunnitelma Viulu

Monimutkaisesta datasta yksinkertaiseen päätöksentekoon. SAP Finug, Emil Ackerman, Quva Oy

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Testauksen suunnittelu. Faculty of Science 30 April

Timo Ritakallio Timo O. Vuori. Elävä strategia Kyky nähdä, taito tarttua tilaisuuteen

FENG OFFICE -PROJEKTINHALLINTATYÖKALU

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Tiedolla johtaminen vuoden 2017 laatupalkintokilpailun teemana Ammatillisen koulutuksen laatupalkintokilpailun informaatiotilaisuus 1.3.

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Transkriptio:

Tekoälyä testauksessa ja hyvän softan teossa Matti Vuori www.mattivuori.net matti.vuori@mattivuori.net @Matti_Vuori 7.5.2017 1(17)

Sisällysluettelo Tässä setissä 3 Tekoälyn sovellusstrategiat 4 Tekoäly toiminnan abstraktiotasoilla 6 Käyttökohteita yleisesti 7 Älyn tarvitsee seurata toimintaa 8 Mahdollisuuksia: Yleinen tiedonhakutuki 9 Mahdollisuuksia: Testien suunnittelu 10 Mahdollisuuksia: Kohteen analysointi 12 Mahdollisuuksia: Ongelmien tunnistus 13 Mahdollisuuksia: Bugien korjaus 14 Mahdollisuuksia: Testien suorittaminen 15 Mahdollisuuksia: Monitorointi 16 Mahdollisuuksia: Testauksenhallinta 17

Tässä setissä Näinä aikoina kiinnostaa se, mihin kaikkeen tekoälyä voisi käyttää softan testaamisessa ja hyvän softan tekemisessä. Tässä setissä on siihen liittyviä ideoita. 3(17)

Tekoälyn sovellusstrategiat 1/2 Roolistrategia: Ei etsitä ylivertaista älyä, vaan ylivertaista apulaista. Piilotetun ymmärryksen sijaan välinettä, joka paljastaa asioita ihmiselle. Tekoäly voi esim. esittää tarinan Big Datasta Yksinkertaistus/kognitiivinen strategia: Tekoäly apuna pitämään asiat ihmiselle yksinkertaisena. Esim. koodin optimointi käsin vielä 90-luvulla tuottaa kamalaa koodia kun kääntäjä optimoi, voidaan keskittyä ymmärrettävyyteen. Jos tekoäly optimoi testisetit ajoa varten, voidaan ne rakentaa logiikkapohjaisesti jäsentäen, jolloin kokonaisuus on selkeä. 4(17)

Tekoälyn sovellusstrategiat 2/2 Orgaaninen toiminnan kehittämisen strategia: EI: Mihin voisi pultata tekoälyn kiinni, vaan... Missä työtä voisi tehdä: Paremmilla tiedoilla? Muun maailman tietoja ja kokemuksia hyödyntäen? Ongelmia automaattisesti tunnistaen? Hyviä käytäntöjä tukien? Rutiineja ja tylsää työtä automatisoiden? Tunnistamalla erilaisia kaavoja käyttäytymisessä, datassa? Automaattisesti lopputulosta simuloimalla, testaamalla ja arvioimalla? Missä olisi tarve oppivalle ja ahkeralle työkaverilla, mutta ihmiseen ei ole varaa? 5(17)

Tekoäly toiminnan abstraktiotasoilla Ihmisen työn taso Ammatti (occupation) Työ (job) Tehtävä (task) Tehtävän vaihe Toiminto Tekoälyn rooli ihmisen kanssa Ammatin identiteettiin kuuluva väline(metsurin moottorisaha) Väline, valvoja, rutiineista huolehtija, infran hallinta, sparraaja Apulainen, apuväline, työpari, turvatekniikka Apulainen, apuväline, työpari, turvatekniikka, tarkastaja, testaaja Työkalu, väline, turvalaite, automaattisesti toimiva, tarkastaja, testaaja Prosessin taso Liiketoimintaprosessi Käytäntö Työnkulku Menetelmä Tekniikka Tekoälyn rooli prosessissa Valvoja, orkestroija / koordinaattori, metriikat, laskenta, suunnittelun tuki Oppiva apulainen, tietotuki, päätöksenteon tuki, analysoija Autonominen toimija, varmistaja, konfiguraattori, implementoija, suorittaja Automaatti, älykäs oppiva suorittaja, ihmisen apulainen, räätälöinti kontekstiin Tehostaja, automaattinen suorittaja 6(17)

Käyttökohteita yleisesti Käyttöön, toimintaan liittyvän tiedon analysointi. lokit... Monitorointi ja kaavojen tunnistaminen kun tällaisessa tilanteessa esiintyy tällaista, kohta softa kaatuu... Artefaktojen analysointi suunnitelmat, disainit, arkkitehtuurit... Virheiden ja anomalioiden diagnoosi mistä asiat johtuvat. Asioiden optimointi testisetit... Asioiden generointi testit, testidata... Ihmisen tietotuki. Asiantuntijajärjestelmät. Tekemisen ennakointi ja valmistelu välineissä. Älykäs tekeminen ohjelmistorobototin tekemä testaus 7(17)

Älyn tarvitsee seurata toimintaa Älyn pitää oppiakseen voida seurata kaikkea ja yhdistää sitä muuallakin tapahtuvaa... Siksi se suosii kaiken tallentamista: Kaiken mahdollisen automaattinen lokitus. Asioiden dokumentointi. Tiimin puheen kuuntelu. Ilmeiden ja eleiden seuraaminen kameralla. => Tietoturvallisuus, tallennetun datan väärinkäyttö (esim. työntekijöiden valvonnassa...) 8(17)

Mahdollisuuksia: Yleinen tiedonhakutuki Avaintietojen poiminta dokumenteista, keskusteluketjuista, lokeista. Älykäs tiedonhaku useista erilaisista lähteistä. Bugikannat, keskustelupalstat. Relevanttien tietojen tunnistus (termit, konteksti) ja hyvyyden arviointi (kirjoittajan maine, peukutus, tietueen luokittelu, kirjoitustyyli...). Automaattinen kontekstin ja tarpeen tunnistus ja haku taustalla tai keskusteleva tietotukijärjestelmä. 9(17)

Mahdollisuuksia: Testien suunnittelu 1/2 Parempaa tietoa testauksen suunnitteluun. Hyvää dataa historiasta, testauksen kohteesta. Selväkielisten skenaarioiden extraktointi lokeista. Mallipohjaisen testauksen testimallien generointi käsityöstä puoliautomaattiseksi. Mitä toteutuksesta löytyy. Miten ohjelmaa voisi käyttää. Kaiken mahdollisen kokeilu. Käytöstä opitun hyödyntäminen testien generoinnissa ja testiajoissa. Testiskriptien mutatointi. Rungosta datan variointia, polkujen vaihtelua. 10(17)

Mahdollisuuksia: Testien suunnittelu 2/2 Älykäs datan fuzzaus. Heuristinen TDD-testigeneraattori. Hyviä testejä. Testimallin luominen toteutetusta järjestelmästä nykyisiä älykkäämmin. Kuormitustestausprofiilien rakentaminen. Regressiotestisettien rakentaminen muutosten vaikutusanalyysin pohjalta. Simuloidun testiympäristön luominen käsin koskematta Big Datan pohjalta. Realismia, yllätyksiä. Muut ohjelmat, järjestelmät / laitteet / IoT. Tapahtumat. 11(17)

Mahdollisuuksia: Kohteen analysointi Arkkitehtuurin arviointi historiadatan perusteella. Vaatimusmäärittelyjen ja speksien analysointi. Ongelmat, ristiriidat, puutteet. Ohjelman muutosten vaikutusanalyysi. Ulkoisten vaatimusten muutosten vaikutusanalyysi. Buildien analysointi. Voiko julkaista. Automaattinen selkokielinen release notes. 12(17)

Mahdollisuuksia: Ongelmien tunnistus Bugien ja potentiaalisten ongelmien tunnistus koodista. Opitun bugidatan perusteella. Perinteisiä koodintarkastusohjelmia (Lint) paremmin. Ongelmien analysointi Juurisyyanalyysi. Mallipohjaisen testauksen testilokien analysointi. Käytettävyysongelmien tunnistus lokeista ja kuvaus selkokielellä. Toimintojen peruminen tai sahaus toimintojen välillä. Sosiaalisen median tekstianalyysi. Mistä puhutaan tuotteen yhteydessä. Tunnelma. Valitukset. 13(17)

Mahdollisuuksia: Bugien korjaus Viallisen koodinpätkän korvaus ehjällä pätkällä toisesta ohjelmasta. Tietotuki älykäs, suodattava ja valikoiva tekstihaku ongelmasta. 14(17)

Mahdollisuuksia: Testien suorittaminen Älykkäät testausrobotit UI-testaukseen. Suuntaa-antava käytettävyystestaus. Bugien etsimisen taktiikat. Käyttäjien simulointi. Älykkäämpi systeemin monitorointi testauksen aikana. Anomaliat suorituskykymittareissa, toimintojen nopeudessa jne... Testaajan vireystilan valvonta ja apu sen hallinnassa. Työtilan ilmapiirin älykäs tuki (valot, musiikki...). Viestintäapu. Bugiraportointiapua osaamattomille, vieraskielisille... 15(17)

Mahdollisuuksia: Monitorointi Testikohteen älykäs monitorointi. Milloin mittareissa (CPU, muistin käyttö) näkyy aiemmin jotain indikoivaksi todettuja kaavoja. Taustalla kaikenlaisessa testauksessa tutkivasta testauksesta pitkäaikaistestaukseen. 16(17)

Mahdollisuuksia: Testauksenhallinta Testisettien / testiajojen optimointi. Priorisointi, järjestys, nopeus. Testauksenhallinnan erilaisten tehtävien automatisointi. Tehtävien valmistelu. Äly oppii, että tietyssä vaiheessa, tiettynä päivänä tehdään tietynlaisia asioita -> laitetaan työkalut valmiiksi, vihjataan asiasta. Datan generointi Kaiken logitus. Logien analysointi, automaattiset hyvät bugiraportit. 17(17)