Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tehokas testaus rinnakkaisten testiympäristöjen avulla

Samankaltaiset esitykset


Esitys aiheesta: "Tehokas testaus rinnakkaisten testiympäristöjen avulla"— Esityksen transkriptio:

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

2 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

3 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

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

5 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

6 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

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

8 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

9 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

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

11 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

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

13 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

14 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

15 Esimerkki: Testikierrosten hallinta ja kommunikointi
Suorituskerta Tutkimus- 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

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

17 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

18 Testin suoritus: Testimetriikkaa
18

19 Testin suoritus: Testimetriikkaa
19

20 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

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

22 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

23 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

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

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

26 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

27 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

28 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

29 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

30 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

31 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

32 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


Lataa ppt "Tehokas testaus rinnakkaisten testiympäristöjen avulla"

Samankaltaiset esitykset


Iklan oleh Google