Tehokas testaus rinnakkaisten testiympäristöjen avulla

Slides:



Advertisements
Samankaltaiset esitykset
Open source testaustyökalut
Advertisements

Testaus ja testausympäristöt
Tik Ohjelmistoprojektien Hallinta
KÄSIKIRJOITTAMINEN 2 ov. Sisältö 1 Johdanto 2 Projektityö 3 Projektin osa-alueista 3.1 Dokumentointi 3.2 Aikataulu 3.3 Sopimukset 3.4 Laitteistot ja tilat.
Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Laura Vuorinen Kehittämisosasto / Opiskelijarekisteri.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
Suunnitelma ohjelmiston testaukseen
Tik Ohjelmistoprojektien Hallinta
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestaus – Kick-off.
© 2012 Tieto Corporation Vaatimukset ja Testaus – Kokemuksia TestausOSYn seminaari , Tapiola Erkki Pöyhönen Lead Test Manager Tieto, Enterprise.
Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio Calypso IP Calypso IP Tilannekatsaus
Elämyshankekyselyn tulokset © Sovita Toteutus: Opiferum1.
Performance testing of TETRA 1. SISÄLTÖ  TETRA standardointi  ICT- yrityksen toteutus  Testaus- prosessi  Motivaatio testaukseen  Vaiheet/ osa-prosessit.
Ketterä testaus ja testauslähtöinen kehitys
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
Suomen Oppimiskeskus ry Projektipalaveri Outi Vahtila.
Korkeakoulujen ja opetus- ja kulttuuriministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto Korkeakoulujen.
Osaamisen ja sivistyksen parhaaksi Opintopolku.fi tilannekatsaus KoTVejaos
Korkeakoulujen ja opetus- ja kulttuuriministeriön yhteinen tieto- hallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto Korkeakoulujen.
OHJP Kalenteriprojekti – Statusraportti iteraatio4 loppu
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Java-ohjelmien vianjäljitys Pietu Pohjalainen. Vianjäljitin Vianjäljitin (debuggeri) on ohjelma, jolla voidaan seurata toisen ohjelman suoritusta Tietotekniikan.
Polun pyöreä pöytä Eero Tuomenoksa Polku Eero Tuomenoksa Ohjelma 18:00 Polun tämän hetken tilanteen esittely 18:50 Polun kehityssuunnat.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
(mukaellen Haikala & Mikkonen 2011, 29)
Sähköinen tentti Suomen korkeakouluille Tilanneraportti Synergiaryhmälle Totti Tuhkanen.
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat.
5.3 Toteutus Tuotantokäsikirjoitusten valmistuttua päästään rakentamaan lopullista tuotetta toteutus- vaiheessa. Tuotanto vaihe voi alkaa jo osittain tuotantokäsikirjoituksen.
Yritysviestintä 5 ov Käsikirjoittaminen –Muutos 1 ov  2 ov –verkkokurssi Yritysviestinnän rakentaminen –2 ov –Verkkokurssi Multimaker –Muutos 2 ov  1.
Sähköinen EURA järjestelmä Christa Löf EU-koordinaattori Etelä-Savon maakuntaliitto.
1 Arkkitehtuuriin liittyvien kuvien teko Sekvenssikaavio Komponenttikaavio Luokkakaavio Ohjausryhmän palaveri Toimitussisällön tarkastelu Vaatimusten läpikäynti.
Osaamisen ja sivistyksen parhaaksi Hankkeen tilannekatsaus Synergiaryhmä.
Korkeakoulujen ja opetus- ja kulttuuriministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto Korkeakoulujen.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestaus – Miksi ja miten?
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
T Personal SE Assignment Pauli Aho Personal SE Assignment Valittu aihe ja menetelmä Käytettävyystestaus (usability testing) ISO :
Ohjelmistotekniikka Vaatimustenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Projektityö Lähe: Projektityömateriaali BB:n sivulla.
Lääkealan turvallisuus- ja kehittämiskeskus GLP-vaatimuksista IT-järjestelmille Kuopio Kari Lönnberg
OPPIMISEN HALLINTAJÄRJESTELMÄN KÄYTTÖÖNOTTO. Oppimisen hallintajärjestelmä o Oppimisen hallintajärjestelmä (engl. Learning management system, LMS) o Tietotekninen.
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Mukaan Finnaan - mukaantuloprosessin vaiheet Finna-koulutus Palvelusuunnittelija Susanna Eklund Kansalliskirjasto.
jew1 Systeemityön eteneminen opintojaksolla Ohjelmiston suunnittelutaito Opintojakson eteneminen.ppt.
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
Perusrekisteri ja Pakki - Hyväksymistestaus 2: huomioita testaukseen Testauksen pääsivu srekisteriprojekti/Testaus.
Metatietovaranto Melinda tiekartta 2008 – 2020 Versio 5.0 ( )
Kansallinen palveluväylä PERTIVA-kokous
18. Testaus.
THL verkkokoulut Kokonaispalvelu
Onnistuneen tietovarastoprojektin edellytykset
Mukaan Finnaan - liittymisprosessin vaiheet
Synergiaryhmä Virve Peltoniemi, TAMK Tapio Ekholm, Metropolia
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän.
VARDA-tietovarannon toteutuksen eteneminen
Kanta-hankehallinto ja koordinaation kehittäminen
SISU-koulutus: tutkintorakenteen tekeminen
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Tietojärjestelmät KEHITTÄMINEN JOHTO KIRJANPITO TILAUSTEN KÄSITTELY
ATOMI-hankkeen karkea tiekartta
Vaatimusmäärittely kehitysprosessissa
Kansallinen palveluväylä
Production line simulation model
Harjoitustyö -työkirja MS-Project
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
Esityksen transkriptio:

Tehokas testaus rinnakkaisten testiympäristöjen avulla Testauksen perusmetodiikka Rinnakkaisten ympäristöjen tuki testaukselle >> << 1

1. Testauksen perusmetodiikka Miten hallita usean kehittäjän ja testaajan kehitys- ja testauseforttia tehokkaasti? Accenturen testausmalli käytännössä Rinnakkaisuuden huomiointi jo testisuunnittelmassa 2

Accenturen testausmalli käytännössä Testausmetodologia on osa kokonaisvaltaista liiketoiminnan kehittämismetodologiaa Testiympäristön pystyttäminen Testauslähes-tymistavan kehitys Testin suunnittelu Testin valmistelu Testin suoritus 3

V-malli Liiketoiminnallinen testi Business Case Integraatio- testi Käyttäjä vaatimukset Systeemi- testi Tekninen suunnittelu Kokoonpano- testi Yksityiskohtainen suunnittelu Yksikkötesti Ohjelmointi 4

V-mallin perusidea V-malli on tuotteistettu metodi, joka on syntynyt vertailemalla ja kehittämällä ohjelmistoprojekteissa käytettyjä testausmenetelmiä. Koostuu tasoista, alkaen liiketoiminnallisesta kokonaisuudesta tarkentuen yksityiskohtiin saakka V-malli määrittelee, että yhden tason testaus tulee olla suoritettuna, ennen kuin voidaan siirtyä testaamaan seuraavaa tasoa Kun yhden tason testaustavoitteet on saavutettu, niin ei ole tarpeellista toistaa samoja asioita seuraavalla tasolla Testaustasot räätälöidään projektikohtaisesti 5

V-mallin edut Selkeä, rakenteellinen pohja, joka määrittelee testauksen koko kehitysprosessin ajan Kaikki tärkeimmät lopputuotteet tulevat tarkistetuiksi ja hyväksytyiksi, sekä kaikkien määritysten toteutus tulee testatuksi Jokainen testaustaso vastaa tiettyä kehitysvaihetta Johdonmukainen standardi Vahvistaa tavoitetta, että lopputuotteet vastaavat määrityksiä ja että liiketoiminnalliset tavoitteet tulevat täytetyiksi 6

Testimallin elementit Testin suunnittelu 1. Testiehdot 2. Odotetut tulokset 3. Testikierrokset Testin valmistelu 4. Testimaailma (=data) 5. Testitapaukset 7

Testin suunnittelu: Testiehdot Muodostavat perustan testaukselle Listataan kaikki testattavat kohdat yksikäsitteisiksi ehdoiksi V-mallissa eri tasoilla eri ehdot Esim. Yksikkötestiehdot luodaan yksityiskohtaisen suunnittelun aikana Esimerkkejä: Liiketoimintaehto: Järjestelmä nopeuttaa asiakaspalvelua 20 % Käyttäjävaatimus: Kuormakirjan tulostus alle 3 sek. Yksikkötestiehto: alv-prosentti = 8 8

Testin suunnittelu: Odotetut tulokset Jokaisesta testiehdosta seuraa odotetu tulos, eli kuinka järjestelmän odotetaan toimivan Testiehtoja tehdessä kirjataan minkälaisia tuloksia odotetaan Odotettujen tulosten formaatti voi vaihdella binääridatasta sanalliseen kuvaukseen (tarpeen mukaan) 9

Testin suunnittelu: Testikierrokset Testiehtoja ajetaan erilaisina testikierroksina: Normaalit liiketoimintaprosessit, suuri volyymi, poikkeuskäsittelyt ja virhekierros 10

Testin valmistelu: Testimaailma “Testimaailma” simuloi testattavaa järjestelmä pienoiskoossa Tarpeeksi dataa testiehtojen kattamiseksi: Edustava otos järjestelmällä käsiteltäviä kohteita, esim. asiakkaita, sopimuksia, tilauksia jne. Parametritiedot kattavasti Muista versioitu data Vuosien ja tilikausien ylitykset Ei yhtään liikaa dataa Virheitä vaikea löytää suuresta datamäärästä Esimerkiksi 1:1 kopio tuotantodatasta sopii yleensä vain suorituskykytesteihin 11

Testin valmistelu: Testitapaukset Testiehdot ryhmitellään loogisiksi tapahtumakokonaisuuksiksi 12

Testin suoritus Testikierrosten suoritus Testikontrolli Kierrosten itsenäisyys vs. keskinäinen riippuvuus Testikierrosten rinnakkainen suoritus Regressiotestaus Testikontrolli Roolit ja vastuut Kommunikointi Seuranta (metriikkaa) Työkalut Esimerkit: Testiskripti ja Testikierrosten hallinta ja kommunikointi 13

Esimerkki: Testiskripti Käytä testikorttia numero 4 Laita kortti lukijalaitteeseen Odota, että tunnuslukua kysytään, näppäile 1234 Valitse nosto 100 mk painamalla ylintä näppäintä vasemmalla … Tarkista tulostetusta kuitista, että saldo on 4000 mk 14

Esimerkki: Testikierrosten hallinta ja kommunikointi Suorituskerta Tutkimus- 1 2 3 4 pyynnöt Kierros 1 ymp 2 Kierros 2 ymp 3 34, 45 Sujuu Tökkii Seis 7, 19 Kierros 3 ymp 1 Kierros 4 ymp 4 13, 33, 68 101 15

Testaajan vastuut Esimerkki: Testaajan työpäivä Testikierroksen suoritus Ongelmien kirjaaminen Testimallin ylläpito Korjausten testaus Esimerkki: Testaajan työpäivä 16

Esimerkki: Testaajan työpäivä Varaa testiympäristö Alusta testiympäristö uudella perusversiolla Aloita testikierroksen suorittamista Testikierroksen tila -> Executing Suorituksen tila -> Execution 1 Kirjaa virhe tutkimuspyyntökantaan (SIR-kanta) Kierrä ongelma (Work Around) tai jatka toisella kierroksella Päivitä testiympäristöä korjaustasolla Jatka ensimmäisellä testikierroksella Päivitä testimallia Raportoi etenemistä 17

Testin suoritus: Testimetriikkaa 18

Testin suoritus: Testimetriikkaa 19

Rinnakkaisuuden huomiointi jo testisuunnitelmassa Input: 1. Testimallin elementit, 2. Testaajien määrä, 3. Aikataulu, 4. Laitealusta, 5. Konfiguraatio- ja järjestelmähallinta, 6. Erikoisresurssit (DBA, varusohjelmisto-osaajat, ...) Toimenpiteet: > Päätettävä loogisten ympäristöjen määrä > Johdetaan fyysisten ympäristöjen määrä Output: TESTIYMPÄRISTÖKUVAUS 20

Tehokas testaus rinnakkaisten testiympäristöjen avulla Testauksen perusmetodiikka Rinnakkaisten ympäristöjen tuki testaukselle >> << 21

2. Rinnakkaisten ympäristöjen tuki testaukselle Lähtökohta: Kehittäjien ja testaajien tulee voida toimia tehokkaasti ja toisiaan häiritsemättä Loogiset ja fyysiset rinnakkaisympäristöt Haasteet konfiguraatiohallinnalle Järjestelmähallinnan tuki testaukselle: Muutoshallintaprosessi, tuotantoonsiirto, ohjelmistojakelu 22

Loogiset ja fyysiset rinnakkaisympäristöt Jokaisessa loogisessa testiympäristössä voidaan suorittaa testikierrosta itsenäisesti toisten testaajien / kehittäjien häiritsemättä Looginen ympäristö rakentuu tarvittavasta määrästä fyysisen ympäristön komponentteja: Laitteet Varusohjelmat Sovellusohjelmat Esimerkki: 4 loogista testiympäristöä 23

Esimerkki: 4 loogista testiympäristöä Testipalvelin Kehitysympäristö Kehitystieto-kantapalvelin Testaus1 Testaus2 Testaus3 Testaus4 Kehityspalvelin ja -työasemat Testaus1 Testaus2 Testaus3 Testaus4 24

Laitteet Keskuskoneet Palvelimet Työasemat Tietoliikenne Erikoislaitteet; päätelaitteet, mobiililaitteet, jne 25

Varusohjelmistot Tarvitaanko esim. useampaa käyttöjärjestelmä -instanssia? IBM mainframessa voi olla useampi MVS PC:llä pyörii vain yksi NT Tietokanta Tarvitaanko useita tietokantamoottoreita yhdellä palvelimella, vai pärjätäänkö useilla eri nimisillä tietokannoilla 26

Sovellusohjelmistot Tukevatko sovellukset rinnakkaistestausta: Onko sovellus laadittu niin, että esim. sen tietokanta voidaan määrittää argumenttinä Ellei, niin on käytettävä erillistä tietokantamoottoria Sovelluksien rinnakkainkäytön estävät kovakoodaukset koodissa tai komentojonoissa 27

Haasteet konfiguraatiohallinnalle Testaajat testaavat useita eri versioita järjestelmäkonfiguraatioista. Fixaajat korjaavat eri versioista tulleita virheitä yhteen tai useampaan koodikantaan. Tarvitaan konfiguraatiomanageri, joka tietää mitä korjauksia mihinkin konfiguraatioon tehdään ja milloin ne tulevat testaajien käyttöön Lisäksi tarvitaan yhteisesti sovitut menettelytavat ja proseduurit 28

Rinnakkaisten ympäristöjen hallinta Järjestelmäkonfiguraatio sovelluskomponentit tietokanta (rakenne ja data) Perusversion alustus Korjaustason päivitys Keskitetty hallinta Release Library Yhteinen proseduuri Release Manager 29

Keskitetty konfiguraation hallinta hallintakirjasto (Release Library): Testattu muutos- skripti Perusversio 1.0 MASTER Korjaustaso 1.1 Korjaustaso 1.2 Korjaustaso 1.3 Muutospyynnöt (CR) Perusversio 2.0 Korjaustaso 2.1 Korjaustaso 2.2 ... kehittäjä N kehittäjä 1 kehittäjä 2 Perusversion alustus Tutkimuspyynnöt (SIR) Korjaustason päivitys testaaja 1 testaaja 2 ... testaaja N 30

Järjestelmähallinnan tuki testaukselle Keskeiset JH-prosessit: Muutoshallintaprosessi, Tuotantoonsiirto ja Ohjelmistojakelu. Soveltuvuus jatkossa tuotantoon? Käyvät lähes sellaisinaan, mikäli tehdään ajoissa tuotantoa silmälläpitäen Esim. ohjelmistojakelun ollessa automatisoitu, säästyy turhalta käsityöltä jo kehitysprojektin aikana -> säästetään sekä projekti- että käyttöönottobudjettia 31

Muutoshallintaprosessi Muutoksen pyytäjä (kaikki) SIR = System Investigation Request = Tutkimuspyyntö CR = Change Request = Muutospyyntö Tutkimuspyynnön laadinta SIR: new SIR: rejected, postponed CR: rejected, postponed SIR: ready for production Muutoksen käsittely- ryhmä Muutoksen- hyväksyntä Tuotantoon- siirron hyväksyminen EI TOTEUTETA TÄSMENNETTÄVÄ SUURI MUUTOS TOTEU-TETAAN SIR: closed SIR: ready for system test EI KIIRE Muutoksen koordinoija tai Release Manager Tutkimuspyynnön esikäsittely ja muutospyyntöjen teko Muutoksen toteutuksen käynnistäminen Uusien konfiguraatioiden muodostaminen VIRHE / PIENI MUUTOS Uusien konfiguraatioiden käyttöönoton koordinointi Tuotantoon- siirron käynnistäminen Tutkimus- pyynnön sulkeminen KIIRE SIR: approved, postponed CR: assigned SIR: analysis, rejected CR: new EI TOTEUTETA SIR: confirmed Muutoksen toteuttajat Muutospyynnön täydentäminen Muutoksen toteutus, yksikkötestaus ja integraatiotestaus Käyttöön- oton valmistelu VALMIS CR: estimated, rejected CR: completed Muutoksen testaajat PERUUTUS Järjestelmän systeemitestaus SIR: migrated to production SIR: migrated Tuotantoon- siirron suorittaja Tuotantoon- siirto 32