ei-toiminnallinen testaus kelassa - tunitie21201/s2016/luennot/vierailuluennot/tty_luento_ei... ·...
TRANSCRIPT
Kaisa Tirkkonen
Kehittämispäällikkö, Kela, Testausyksikkö
Suorituskyky- ja tietoturvatestausryhmä
TTY: TIE-21201 Ohjelmistojen testaus 23.11.2016
Ei-toiminnallinen testaus
Kelassa
Esityksen sisältö
Kuka olen? CV Kaisa Tirkkonen
Kelan toiminta ja asioinnin volyymi
Kela työnantajana
Kelan teknologiauudistus Arkki ja uudistuksen vaikutukset testaukseen
Testauksen erityispiirteitä Kelassa
Testaus Kelan Testausyksikössä
• Toiminnallinen testaus
• Systeemitestaus
• Ei-toiminnallinen testaus
• Suorituskykytestaus: CASE kela.fi
• Tietoturvatestaus
• Käytettävyystestaus
2 Usability testing
Kuka olen? CV Kaisa Tirkkonen
• KTM, Jyväskylän yliopisto
• tietojärjestelmätiede v. 1999
• IT-alalla vuodesta 1998:
• Nokia Networks Oy 1998-2001
• Tieto Finland Oy 2001-2011
• Capgemini Finland Oy 2011-2012
• Kansaneläkelaitos 2012-
• Työskennellyt pääasiassa testauksen ja
laadunvarmistuksen parissa vuodesta 2007
• Toiminnallista testausta 2007-2008
• Suorituskykytestausta ja sovellusvalvontaa 2008-2011
• Testaussertifikaatti (ISEB/ISTQB) 2008
• Kelaan v. 2012 suorituskykytestauksen asiantuntijaksi,
syksystä 2014 lähtien Kehittämispäällikkönä vastaten ei-
toiminnallisesta testauksesta
• Innokas kestävyysurheilun harrastaja ja kolmen
koululaisen äiti 3
Kelan toiminta
Kela hoitaa Suomessa asuvien perusturvaa. Kelassa ratkaistaan vuosittain n. 16 miljoonaa tukihakemusta.
Kelan asiakkaita ovat kaikki Suomessa asuvat sekä ulkomailla asuvat Suomen sosiaaliturvan piiriin kuuluvat henkilöt
Kelan hoitamaan sosiaaliturvaan kuuluvat mm. lapsiperheiden tuet, opintotuki, työttömän perusturva ja vähimmäiseläkkeet.
Kela vastaa myös Kansallisen Terveysarkiston (KanTa) palvelujen tuottamisesta, esim. Sähköinen resepti
4
www.kela.fi
Verkkoasioinnin volyymi Kelassa
• Vuoden 2014 aikana 24,4
miljoonaa käyntiä
verkkosivuilla, kirjautumisia
15,1 miljoonaa
• Verkkoasiointi ja sähköinen
tunnistautuminen ollut
käytössä Kelassa v. 2004
lähtien
• Verkkoasiointi lisääntyy
jatkuvasti, yli puolet (52% v.
2014) hakemuksista
lähetetään verkkopalvelun
kautta • Hakemuksiin tarvittavista liitteistä
36% lähetettiin sähköisesti v. 2014 5
Käynnit kela.fi –sivuilla ovat kasvaneet
75% vuoteen 2010 verrattuna
Kela työnantajana
Kelassa on n. 6000 työntekijää, joista valtaosa työskentelee
asiakaspalvelussa ja etuuksien ratkaisussa
Kela on myös merkittävä IT-työnantaja
Kelassa työskentelee lähes 600 IT-ammattilaista, jotka hoitavat Kelan tehtävien
vaatimia laajoja tietojärjestelmiä
Kelaan hakee töihin vuosittain yli 20 000
henkilöä ja tyypillisesti työsuhteet ovat pitkiä
Avoimet työpaikat: http://www.kela.fi/avoimet-
tyopaikat
6
Tietojärjestelmien uudistushanke Arkki 2012
Kelan historian suurin teknologiauudistus: -70-90 –luvuilta peräisin olevat keskuskonepohjaiset järjestelmät
uudistetaan palvelin- ja Java EE-pohjaisiksi
Arkki-hankkeen tehtävänä on uudistaa kaikki Kelan 40 etuusjärjestelmää, 90 tukijärjestelmää ja sähköiset
asiointipalvelut.
Kelan etuusjärjestelmiä ovat esimerkiksi opintotuki-, työttömyystuki- ja asumistukijärjestelmä. Järjestelmien
avulla ratkaistaan asiakkaiden etuushakemukset ja maksetaan etuudet.
Arkki-hankkeen osana mm. sähköinen liitteiden lähetys otettiin käyttöön Kelan verkkopalveluissa v. 2012 lopulla.
7
Testauksen erityispiirteitä Kelassa
Paljon järjestelmiä ja isot volyymit
Paljon käyttäjiä
Data-Intensiivisyys
Kompleksisuus ja liittymät
8
Arkki-hanke
40 etuusjärjestelmää
90 tukijärjestelmää
Testidatan hallinta
Testiympäristöt
Kansalaiset
Sisäiset käyttäjät
Mainframe
DB2
Liittymät järjestelmien ja datan välillä
- etuusprosessi
Lainsäädäntö Ulkoiset sidosryhmät
Muut järjestelmät
Java CICS
WAS PL1
7,5 miljoonaa CICS-tapahtumaa päivässä
Kelan Testausyksikkö
• Pitkät perinteet
systeemitestauksessa /
toiminnallisessa testauksessa ja
etuusosaamisessa
• Ei-toiminnallinen testaus
uudempaa:
• Suorituskykytestausta
järjestelmällisesti v. 2013 lähtien
• Tietoturvatestausta 2014 lähtien
• Käytettävyystestausta 2016 lähtien
• Testausryhmässä n. 66 henkilöä
tällä hetkellä, joista suurin osa
Helsingissä, Jyväskylässä 7
9
• Suurimpina testauskohteina Arkki-
hankkeessa uudistettavat
etuusjärjestelmät
• Testattavana myös paljon muita Kelan
järjestelmiä:
• www.kela.fi
• Kansalaisten sähköiset asiointipalvelut
• Kelan Intranet
• Projektinhallintavälineet ym. sisäiset työkalut
• Apteekkien Kela-korttikysely ym.
• www.kanta.fi ja muut Kanta-palvelut
− esim. Sähköinen resepti
− Omakanta
Arkki-hankkeen vaikutuksia Kelan testaustoimintaan
Käytettävyystestauksen käynnistäminen 2016
Tietoturvatestauksen pilotointi ja tuotteistus 2014
Suorituskykytestauksen kehittäminen käynnistyi v. 2012 Sähköinen liitteiden lähetys Kelaan
Sähköinen Kela-korttikysely apteekeille
www.kela.fi –sivustouudistus www.kanta.fi –sivustouudistus
Uusien arkkitehtuuriratkaisujen myötä nähtiin kasvavaa tarvetta myös ei-toiminnallisen testauksen kehittämiselle
Ohjelmistokehitys pitkään stabiilia keskuskoneympäristössä
10
Suorituskykytestauksen kehittäminen 2012-2013
Lähtötilanne: Kelassa ei oltu aiemmin tehty
suorituskykytestausta järjestelmällisesti, joten alkuvaihetta
säestivät neuvottelut käytännön
menettelyistä
11
Info-tilaisuuksia
Neuvottelua
Määrittelyä
Testausta
Ei-toiminnallisen testauksen nykytilanne 1/2
Tilauksesta palveluna – teemme suorituskyky-, tietoturva- ja käytettävyystestausta tilauksesta palveluna kaikille Kelan ja Kanta-puolen projekteille / järjestelmille
3 suorituskykytestaajaa, 2 tietoturvatestaajaa, 5 hengen käytettävyystestaustiimi
Oma dedikoitu virtuaalipalvelinympäristö suorituskykytestaukselle
Ilmoituskäytännöt testausten ajankohdista ja niiden mahdollisista vaikutuksista
Suorituskykytestaus ja kattavampi tietoturvatestaus pääsääntöisesti virka-ajan ulkopuolella
12
Ei-toiminnallisen testauksen nykytilanne 2/2
• Tietoturvatestaus
• Tietoturvatestauksessa kartoitetaan järjestelmän vikoja,
haavoittuvuuksia tai muita ongelmia, jotka voivat aiheuttaa
tietoturva/tietosuojariskin
• Tekninen tietoturvatarkastus (manuaalinen & automaattinen)
• Uhka-analyysi
• Auditointi
• Käytettävyystestaus
• Käytettävyystestauksen avulla pyritään löytämään ne
järjestelmän kohdat, jotka vaativat vielä
uudelleensuunnittelua, jotta se toimisi hyvin
käyttötarkoitukseensa
• Käytettävyystestaus todellisilla käyttäjillä
• Käytettävyyden asiantuntija-arvioinnit
13
Suorituskykytestaus CASE kela.fi -sivustouudistus
14
Suorituskykytestausympäristö
15
• Mitä on suorituskykytestaus ja
mikä on sen tarkoitus?
• Suorituskykytestauksessa
testataan järjestelmän kykyä
suoriutua tehtävistään vaatimusten
mukaisesti kuorman alla
• Keskeistä on sekä loppukäyttäjän
kokema suorituskyky että riittävä
kapasiteetti •
Suorituskykytestaus – järjestelmien kuntotestausta
16
Mitä on (hyvä) suorituskyky?
Kykyä suoriutua tietyistä tehtävistä
vaatimusten mukaisesti tietyllä
kuormalla
Käyttäjän kokemus
järjestelmän suorituskyvystä
17
Miten huono suorituskyky näkyy käyttäjille?
Järjestelmä on hidas, käyttäjä
joutuu odottamaan
Järjestelmä ei vastaa
ollenkaan (ei ole saatavilla)
Järjestelmästä ja sen
tarkoituksesta riippuu mitkä
ovat seuraukset
Käyttäjien tyytymättömyys järjestelmään
18
Miksi pitäisi tehdä suorituskykytestausta?
• Täydentämään toiminnallista testausta
• Suorituskykytestaus antaa tietoa järjestelmän toiminnasta
suuremman käyttäjäkuorman alla
• Suorituskykytestauksella todennetaan, toimiiko järjestelmä
suunnitellusti kuorman alla ja onko kapasiteetti riittävä
• Uuden monitasoisen järjestelmäarkkitehtuurin suorituskyky
on arvoitus, ellei sitä testata
• Keskeistä erityisesti kun järjestelmillä on paljon käyttäjiä
19
Kun halutaan varmistaa, että
käyttöönotto (ja tuotanto) sujuu
suunnitellusti
Kelassa käytetyt suorituskykytestauksen tyypit
20
• Kuormitetaan palvelua tuotannonkaltaisella kuormalla,
jotta selvitetään vastaako se nykyisellään sille asetettuja suorituskykyvaatimuksia.
Kuormitustestaus
• Palvelua kuormitetaan mahdollisuuksien mukaan äärirajoille asti, kunnes palvelu ei enää vastaa. Tavoitteena on selvittää maksimikuorma, jolla palvelu on vielä käyttökelpoinen. Lisäksi saadaan tietoa pullonkauloista.
Rasitustestaus
• Stabiiliustestauksessa palvelua kuormitetaan sovitulla kuormalla pidemmän aikaa. Tavoitteena on havaita hitaasti ilmaantuvat ongelmat ja todeta järjestelmän vakaa toiminta pidemmällä ajalla.
Stabiiliustestaus
• Vikasietoisuustestauksessa ajetaan järjestelmään kuormaa ja aiheutetaan suunnitellusti tilanne, jossa jokin tai jotkin järjestelmän resursseista on poissa pelistä, ja seurataan miten järjestelmä selviytyy tilanteesta.
Vikasietoisuustestaus
Suorituskyvyn mittareita
Vasteaika (Response Time), ms
Saatavuus (Availability), %
Välityskyky (Throughput), TPS
Resurssien käyttöaste (Resource Utilization), CPU, Memory util., etc.
21
Mitä suorituskykytestauksessa tehdään?
• Järjestelmään ajetaan tuotantokäyttöä simuloivaa
käyttäjäkuormaa ja tutkitaan miten järjestelmä
vastaa ja käyttäytyy
• Tuloksia verrataan asetettuihin tavoitteisiin ja
tehdään tarvittavia muutoksia mikäli tulokset eivät
ole tavoitteen mukaisia
• Tyypillisesti useita
testikierroksia
22
Suorituskykytestauksen perusprosessi
23
1. Asetetaan vaatimukset
2. Testien suunnittelu
3. Testien luonti testausvälineellä
4. Testien ajaminen
5. Mitataan vasteaikoja ja
muita mittareita
6. Analysoidaan tulokset (vs. vaatimukset)
7. Tehdään suositukset ja muutostoimen
piteet
CASE-esimerkkinä Kela.fi –
uudistuksen
suorituskykytestaus
1. Asetetaan vaatimukset – Kela.fi
Vasteajan tulisi olla keskimäärin maksimissaan 1 sekunti/sivulataus. Vasteaikatavoitteella tarkoitetaan Kelan osuutta.
Järjestelmän pitää pystyä käsittelemään 15 pyyntöä sekunnissa (ns. arkiruuhkahuippu)
24
2. Testien suunnittelu – Kela.fi
Testauksen tavoite
Aikataulu
Järjestelmän arkkitehtuuri ja rakenne
Käyttötapaukset ja skenaariot
Missä ympäristössä testataan
Riippuvuudet muihin projekteihin tai järjestelmiin
Käyttäjämäärät
Suorituskykyvaatimukset
25
Suorituskykytestauksen
tavoitteena oli selvittää
Kela.fi –sivuston
maksimikuorma ja löytää
pullonkaulat
3. Testien luonti testausvälineellä
26
1. Nauhoitus 2. Annotaatiot
3. Kustomointi 4. Toiminnan testaus
4. Testien ajaminen – useita testikierroksia
27
• Luodaan kuormaa
testausvälineellä
5. Mitataan vasteaikoja ja muita mittareita – Kela.fi
28
6. Analysoidaan tulokset (vs. vaatimukset)
29
Vasteajan tulisi olla keskimäärin
maksimissaan 1 sekunti.
Vasteaikatavoitteella tarkoitetaan Kelan
osuutta.
Järjestelmän pitää pystyä
käsittelemään 15 pyyntöä sekunnissa,
vastaa n. 12000 käyttäjää (ns.
arkiruuhkahuippu)
Vaatimukset
Tulosten yhteenveto
• Sivulatausmäärällä 34 / s, vasteajat ok.
• Vasteaika n. 1s (keskiarvo), 90%
vasteajoista alle 3s
• Laskennallinen käyttäjämäärä 30060 / h
• Nykyisillä käyttäjämäärillä sivuston
resurssit ja konfiguraatio on riittävällä
tasolla
7. Löydettyjä pullonkauloja ja tehtyjä muutoksia – Kela.fi
• Ensimmäisissä kuormitustesteissä havaittiin useita ongelmia, jotka
aiheuttivat palvelun kaatumisen.
• Testien perusteella tehtiin muutoksia ympäristöön ja optimointeja
toteutukseen:
30
• Lisättiin sovelluspalvelimille toiset cpu-
coret
• Lisättiin palvelimille ytimiä 2 -> 4
• Muistin määrää nostettiin 1->2G
• Lisäksi apacheen ja tomcattiin tehtiin
pieniä muutoksia
1. Maksimikuormatestin pullonkaulaksi löytyi tietokannan
process-parametri Testin perusteella lähdettiin selvittämään, millä
logiikalla sovellus allokoi tietokantaan sessioita ja
pystytäänkö sessioiden allokoimiseen vaikuttamaan
sovellustasolla.
Kehitystiimin tekemiä optimointeja
suorituskykytestien perusteella: • Css:n optimointi
• Etusivun porttien kuvien cachetus Apachelle
• Meganavin renderöinnissä ongelma
• Otsikot latautuvat n. 2 sekunnin viiveellä
• Sivun renderöinti hidasta
• Cachetuksen viilaus
• http-requestien karsinta: JavaScriptien yhdistäminen /
css-taustakuvia spriteen / Footerin someikonit
Yhteenvetona: Ei-toiminnallinen testaus Kelassa
• Täydentää toiminnallista
testausta
• Selvittää järjestelmän
laadullisia ominaisuuksia:
• Suorituskyky
• Tietoturva
• Käytettävyys
• On erityisen tärkeää silloin kun
järjestelmillä on paljon käyttäjiä
ja/tai toteutusteknologiat ja
arkkitehtuuri vaihtuvat
31
Kiitos! Kysymyksiä?
Kaisa Tirkkonen, Kehittämispäällikkö
Kela, Kehittämispalvelut/Testausyksikkö
Suorituskyky- ja tietoturva
email: [email protected]
www.kela.fi
LinkedIn:linkedin.com/in/kaisatirkkonen/
Twitter: twitter.com/kaisatirkkonen
32