Upload
lamxuyen
View
218
Download
0
Embed Size (px)
Citation preview
Kaisa Tirkkonen
Kehittämispäällikkö, Kela, Tietohallinto-osasto
Testausryhmä / Suorituskyky- ja tietoturvatestaus
TTY: TIE-21200 Ohjelmistojen testaus 24.11.2014
CASE KELA:
monimutkaisten ja laajojen järjestelmien
suorituskyky- ja tietoturvatestaus
CV Kaisa Tirkkonen
2
• 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
Esityksen sisältö
Kelan toiminta
Kela työnantajana
• Kelan IT-toiminta:
• Tietohallinto-osasto ja IT-osasto
Testaus Kelan Tietohallinto-osaston testausryhmässä
• Toiminnallinen testaus
• Systeemitestaus
• Ei-toiminnallinen testaus
• Suorituskykytestaus, CASE-esimerkkejä
• Tietoturvatestaus
3
Kelan toiminta
Kela hoitaa Suomessa asuvien perusturvaa
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
• Verkkoasiointi ja
sähköinen
tunnistautuminen ollut
käytössä Kelassa v. 2004
lähtien
• Verkkoasiointi lisääntyy
jatkuvasti, tukia haetaan
nyt enemmän verkossa
kuin paperilla
• V. 2014 elokuun loppuun
mennessä jo yli 9,5milj.
tunnistautumista 5
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-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 opintotukijärjestelmä 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
Tietohallinto-osaston testausryhmä
• Testausryhmässä n. 60 henkilöä
tällä hetkellä, joista suurin osa
Helsingissä, Jyväskylässä 6
• Pitkät perinteet
systeemitestauksessa /
toiminnallisessa testauksessa ja
etuusosaamisessa
• Suorituskykytestausta
järjestelmällisesti v. 2013 lähtien
• Tietoturvatestauksen pilotointi v.
2014
8
• Suurimpina testauskohteina Arkki-
hankkeessa uudistettavat
etuusjärjestelmät
• Testattavana myös paljon muita Kelan
järjestelmiä:
• www.kela.fi
• Kansalaisten sähköiset asiointialvelut
• 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
Testauksen erityispiirteitä Kelassa
Paljon järjestelmiä
Paljon käyttäjiä
Data-Intensiivisyys
Kompleksisuus ja liittymät
9
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
Arkki-hankkeen vaikutuksia Kelan testaustoimintaan
Tietoturvatestauksen pilotointi ja tuotteistus 2014
Suorituskykytestauksen kehittäminen 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
• Mitä on suorituskykytestaus ja
mikä on sen tarkoitus?
• Suorituskykytestauksessa
testataan järjestelmän kykyä
suoriutua tehtävistään vaatimusten
mukaisesti kuorman alla
• Keskeistä on loppukäyttäjän
kokema suorituskyky •
Suorituskykytestaus – järjestelmien kuntotestausta?
12
Mitä on (hyvä) suorituskyky?
Kykyä suoriutua tietyistä tehtävistä
vaatimusten mukaisesti tietyllä
kuormalla
Käyttäjän kokemus
järjestelmän suorituskyvystä
13
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
14
Miksi pitäisi tehdä suorituskykytestausta?
• Täydentämään toiminnallista testausta
• Toiminnallisella testauksella todennetaan sovelluksen toiminta ja
virheenkäsittely
• Toiminnallisella testauksella ei saada selville laadullisia, ei-
toiminnallisia tekijöitä kuten suorituskykyä
• Suorituskykytestaus antaa tietoa järjestelmän toiminnasta
suuremman käyttäjäkuorman alla
• Suorituskykytestauksella todennetaan, toimiiko järjestelmä
suunnitellusti kuorman alla ja pystyykö järjestelmä tarvittavaan
kapasiteettiin
• Uuden monitasoisen järjestelmäarkkitehtuurin suorituskyky on
arvoitus, ellei sitä testata
15
Kun halutaan varmistaa, että
käyttöönotto (ja tuotanto) sujuu
suunnitellusti
Kelassa käytetyt suorituskykytestauksen tyypit
16
• 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.
17
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
18
Suorituskykytestauksen perusprosessi
19
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. Vasteaikatavoitteella tarkoitetaan Kelan osuutta.
Järjestelmän pitää pystyä käsittelemään 15 pyyntöä sekunnissa (ns. arkiruuhkahuippu)
20
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
21
Suorituskykytestauksen
tavoitteena oli selvittää
Kela.fi –sivuston
maksimikuorma ja löytää
pullonkaulat
3. Testien luonti testausvälineellä
22
1. Nauhoitus 2. Annotaatiot
3. Kustomointi 4. Toiminnan testaus
4. Testien ajaminen – useita testikierroksia
23
• Luodaan kuormaa
testausvälineellä
• Oma dedikoitu
palvelinympäristö kuorman
luomiseen
6. Analysoidaan tulokset (vs. vaatimukset)
25
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:
26
• 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
Case Suorakorvaustietojen kyselypalvelu: mikä se on?
27
Kela-kortin tietojen sähköinen kyselypalvelu
Apteekki tarkastaa oikeuden lääkeostojen korvaukseen Suorakorvaustietojen kyselypalvelulla
Otettiin käyttöön v. 2012 lopulla kaikissa Suomen apteekeissa (n. 800 apteekkia)
Kyselyjä tehtiin v. 2013 aikana lähes 30 miljoonaa kappaletta
TAVOITE:
• Kyselyn vasteajan selvittäminen
• Kapasiteetin riittävyyden ja skaalautuvuuden selvittäminen
• Tuotantovalmiuden selvittäminen
LOPPUTULOS:
• toimeksiantajan näkökulma: ”täyden kympin testit”!
• Kokoonpanon limiitit selvisivät tiedetään milloin lisätään palvelimia
• Pullonkaulojen hionta vasteaika saatiin tavoitetasolle ja kestää arvioidun tuotantokuorman
28
Suorakorvaustietojen kyselypalvelun suorituskykytestaus
Tietoturvatestauksen kehittäminen Kelassa
Vuoteen 2013 asti käytetty pääasiassa ulkoista tietoturva-auditoijaa
Arkki-hankkeen ja uusien arkkitehtuuri- ja teknologiaratkaisujen myötä nähtiin tarvetta kasvattaa talon sisäistä osaamista
Tietoturvatestauksen pilotointi ja tuotteistus v. 2014
• 1 päätoiminen testaaja
• Lisäksi tarpeen mukaan ulkoinen auditoija
29
Tietoturvatestaus Kelassa
• Sovellusten ja järjestelmien tietoturva on nykypäivänä
erittäin kriittinen osa-alue
• Tietoturvatestauksella pyritään kartoittamaan
järjestelmän tai sovelluksen mahdollisia
haavoittuvuuksia tai vikoja ennen tuotantokäyttöä ja
tarvittaessa tuotantokäytön aikana
• OWASP top 10
• ASVS-standardi (Application Security Verification
Standard)
30
Tietoturvatestauksen käytäntöjä Kelassa
Pyritään löytämään yleisimmät haavoittuvuudet
Pääosa-alueena sovellusten tietoturva, mutta myös palvelinten ja verkkojen testausta
Manuaalista, luonteeltaan tutkivaa testausta
Automaattiset haavoittuvuusskannaukset
31
Suurimmat haasteet ja tulevat kehityshankkeet
Testiympäristöt Testidatan hallinta
Automaatiotestaus Tietoturvatestaus
32
Kiitos!
Kaisa Tirkkonen, Kehittämispäällikkö
Kela, Tietohallinto / Testausryhmä /
Suorituskyky- ja tietoturva
puh. 020 63 43131
email: [email protected]
www.kela.fi
LinkedIn:http://fi.linkedin.com/in/kaisatirkkonen/
34