suorituskyky- ja tietoturvatestaus...

Post on 29-Aug-2019

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kaisa Tirkkonen

Kehittämispäällikkö, Kela, Tietohallinto-osasto

Testausryhmä / Suorituskyky- ja tietoturvatestaus

TTY: TIE-21204 Ohjelmistojen testaus 16.11.2015

Suorituskyky- ja

tietoturvatestaus Kelassa

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

2

Esityksen sisältö

Kelan toiminta ja asioinnin volyymi

Kela työnantajana

• Kelan IT-toiminta ja Kelan historian suurin uudistushanke: Arkki

Testauksen erityispiirteitä Kelassa

Suorituskykytestauksen kehittäminen v. 2012->

Testaus Kelan Tietohallinto-osaston testausryhmässä

• Toiminnallinen testaus

• Systeemitestaus

• Ei-toiminnallinen testaus

• Suorituskykytestaus

• Tietoturvatestaus

• Käytettävyystestaus 1.1.2016 alkaen

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

Tietohallinto-osaston testausryhmä

• Testausryhmässä n. 66 henkilöä

tällä hetkellä, joista suurin osa

Helsingissä, Jyväskylässä 7

• Pitkät perinteet

systeemitestauksessa /

toiminnallisessa testauksessa ja

etuusosaamisessa

• Suorituskykytestausta

järjestelmällisesti v. 2013 lähtien

• Tietoturvatestausta omin voimin

2014 lähtien

8

• 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

Testauksen erityispiirteitä Kelassa

Paljon järjestelmiä ja isot volyymit

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

7,5 miljoonaa CICS-tapahtumaa päivässä

Arkki-hankkeen vaikutuksia Kelan testaustoimintaan

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

Suorituskykytestauksen nykytilanne

Tilauksesta palveluna – teemme testausta tilauksesta palveluna kaikille Kelan ja Kanta-puolen projekteille / järjestelmille

3 kokopäivätoimista testaajaa

Oma dedikoitu virtuaalipalvelinympäristö kuorman luomiseen

Ilmoituskäytännöt testausten ajankohdista ja niiden mahdollisista vaikutuksista

Testaus pääsääntöisesti virka-ajan ulkopuolella

12

Suorituskykytestausympäristö

13

Suorituskykytestaus

14

• 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

15

Mitä on (hyvä) suorituskyky?

Kykyä suoriutua tietyistä tehtävistä

vaatimusten mukaisesti tietyllä

kuormalla

Käyttäjän kokemus

järjestelmän suorituskyvystä

16

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

17

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 pystyykö järjestelmä

tarvittavaan kapasiteettiin

• Uuden monitasoisen järjestelmäarkkitehtuurin suorituskyky

on arvoitus, ellei sitä testata

• Keskeistä erityisesti kun järjestelmillä on paljon käyttäjiä

18

Kun halutaan varmistaa, että

käyttöönotto (ja tuotanto) sujuu

suunnitellusti

Kelassa käytetyt suorituskykytestauksen tyypit

19

• 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.

20

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

21

Suorituskykytestauksen perusprosessi

22

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)

23

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

24

Suorituskykytestauksen

tavoitteena oli selvittää

Kela.fi –sivuston

maksimikuorma ja löytää

pullonkaulat

3. Testien luonti testausvälineellä

25

1. Nauhoitus 2. Annotaatiot

3. Kustomointi 4. Toiminnan testaus

4. Testien ajaminen – useita testikierroksia

26

• Luodaan kuormaa

testausvälineellä

5. Mitataan vasteaikoja ja muita mittareita – Kela.fi

27

6. Analysoidaan tulokset (vs. vaatimukset)

28

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:

29

• 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

Tietoturvatestaus

30

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

31

Tietoturvatestaus Kelassa

• Sovellusten ja järjestelmien tietoturva on nykypäivänä

erittäin kriittinen osa-alue

• Tietoturvatestauksessa kartoitetaan järjestelmän

vikoja, haavoittuvuuksia tai muita ongelmia, jotka

voivat aiheuttaa tietoturva/tietosuojariskin

• OWASP top 10

• ASVS-standardi (Application Security Verification

Standard)

• Testing guide v4

32

Tietoturvatestauksen luonne

33

Tietoturvatestauksen käytäntöjä Kelassa

Tavoite: pyritään löytämään mahdolliset ohjelmointivirheet, jotka johtavat haavoittuvuuteen

2 päätoimista testaajaa

Pääosa-alueena sovellusten tietoturva, mutta myös palvelinten ja verkkojen testausta

Manuaalista, tutkivaa testausta

Automaattiset haavoittuvuusskannaukset

Riskikartoitukset liiketoiminnan näkökulmasta

34

Tietoturvatestauksen prosessi

Aloituspalaveri Riskikartoitus Dokumentaation

läpikäynti

Testaus Tulosten läpikäynti

n kpl uusintatestejä

Havaintojen raportointi

35

Tulevat kehityskohteet Kelan testauksessa

Testiympäristöt Testidatan hallinta

Systeemitestauksen automatisoinnin

lisääminen Käytettävyystestaus

36

Kiitos! Kysymyksiä?

Kaisa Tirkkonen, Kehittämispäällikkö

Kela, Tietohallinto / Testausryhmä /

Suorituskyky- ja tietoturva

email: kaisa.tirkkonen@kela.fi

www.kela.fi

LinkedIn:linkedin.com/in/kaisatirkkonen/

Twitter: twitter.com/kaisatirkkonen

37

top related