Ei-toiminnallinen testaus Kelassa - TUNItie21201/s2016/luennot/vierailuluennot/TTY_luento_Ei... ·...

Post on 14-Jun-2020

3 views 0 download

Transcript of Ei-toiminnallinen testaus Kelassa - TUNItie21201/s2016/luennot/vierailuluennot/TTY_luento_Ei... ·...

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: kaisa.tirkkonen@kela.fi

www.kela.fi

LinkedIn:linkedin.com/in/kaisatirkkonen/

Twitter: twitter.com/kaisatirkkonen

32