Lasilaatikkotestauksen toinen lähestymistapa. ● Siinäkin käytetään vuoverkkoa. ● Tarkastelun kohteena ovat moduulin muuttujat (myös sen käyttämät globaalit.

Slides:



Advertisements
Samankaltaiset esitykset
Kehäantennit Looppi, silmukka
Advertisements

Osaamisen ja sivistyksen parhaaksi Tilatiedot ja niiden muutokset
Ohjelmiston tekninen suunnittelu
Tiedonhaku Internetistä PODCASTING Katarina Andersson TU08se
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
Suunnitelma ohjelmiston testaukseen
Kiintolevyn osiointi.
Syksy 2001 KYAMK/J.Ansamäki/Olio- ohjelmointi71 Olio-ohjelmointi 2. osa: diat (2. välikoe) KYMENLAAKSON AMMATTIKORKEAKOULU Jarkko Ansamäki, 2001.
2.8.3 Abstraktit tietotyypit
Taulukot Jukka Juslin © Jukka Juslin 2006.
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Käännösaikaiset virheilmoitukset • Tulee silloin, kun koodissa on jotain sellaista, joka ei ole Javan syntaksin mukaista • Esim. – Syntax error, insert.
1. Olio-ohjelmointi.
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Lukemaan oppii vain lukemalla
AS Automaation signaalinkäsittelymenetelmät
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
Olio-ohjelmoinnin perusteet luento 3
HALLITUKSEN PUHEENJOHTAJA VASTUUALUE 1VASTUUALUE 3 VASTUUALUE 4 VASTUUALUE 2 SIHTEERI MALLISEURA RY / HALLITUS - dynaamisen organisaatiokaavion esittely.
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
Funktionaalisen aliohjelman mustalaatikkotestaus (1/12)
VARHAINEN PUUTTUMINEN
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Ohjelman perusrakenteet
Tiedon esittäminen.
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
2. Vuokaaviot.
Matematiikan yo-ohjeita Yleisohjeita  Laskimet ja taulukot tuotava tarkastettaviksi vähintään vuorokautta ennen kirjoituspäivää kansliaan.  Laskimien.
Dynaamiset oliottMyn1 Dynaamiset oliot Dynaamisen olion tunnuksen esittely ja olion määrittely voivat tapahtua yhtäaikaisesti tai eri aikaan. Dynaamisen.
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Valmennuskurssi sosiaalitieteiden tutkinto-ohjelmaan
Tietovuokaaviot (ei osa UML-kieltä)
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Cmap-tools opetus käyttö kongnitiivinen merkitys.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestitapausten kuvausohje.
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
2. a. Pareittain esittele kirjoittamasi esittelyteksti ja valitsemasi lehtijutut. 2. b. Tarkastelkaa yhdessä valitsemianne lehtijuttuja ja merkitkää juttuihin.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Komponenttipohjainen ohjelmistotekniikka (TJTSS56) Osa 4 Kevätlukukausi 2010 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Markku Sakkinen.
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
”Pieni haaste” (Myers 1979, mukailtu) Olkoon testattavana aliohjelma (tai metodi), joka on määritelty seuraavasti: ● Parametreinä annetaan kolme kokonaislukua,
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Monimuotoinen luokka tMyn1 Monimuotoinen luokka Monimuotoinen luokka mahdollistaa saman jäsenfunktion toteutuksen monella tavalla. Tällöin puhutaan virtuaalisesta.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Kiusaamiskysely 2014 Syksy.
XSL Teppo Räisänen
Introduction to Hybrid Wireless Networks & Hybrid Wireless Network Architectures Markus Runonen
Prioriteettijonot ja kekolajittelu (heapsort)
Usein aliohjelman kutsun tulos ei riipu pelkästään eksplisiittisistä syötteistä vaan myös moduulin tai olion tilasta (state). ● Tila määräytyy yleensä.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Scalan valmiit kokoelmat. Mikä on kokoelma?  Tietorakenne jonka tehtävänä on pitää kirjaa (useista) tietyn tyyppisistä arvoista. Kokoelman sisältämiä.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
Anselm Cantenburylaisen ontologinen todistus etenee seuravaasti:
OPETUSVINKKI.
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
1. Algoritmi.
Täydellisen olion teologia
TIETO JA TIETOKONEOHJELMA
4. Luokan testaus ja käyttö olion kautta
1. Olio-ohjelmointi.
Esityksen transkriptio:

Lasilaatikkotestauksen toinen lähestymistapa. ● Siinäkin käytetään vuoverkkoa. ● Tarkastelun kohteena ovat moduulin muuttujat (myös sen käyttämät globaalit muuttujat). ● Erityisen kiinnostavaa olio-ohjelmille. ● Olion atribuuttien välittämä tietovuo metodinkutsujen välillä. Jokainen muuttujan käsittelytapaus luokitellaan seuraavasti: ● määrittely (definition, D): muuttujalle annetaan arvo (alustuksella, sijoituksella tai syöttöoperaatiolla) ● käyttö eli lukeminen (use, U): muuttujan arvoa käytetään mutta ei muuteta ● predikaattikäyttö (predicate use, P-use): käytetään haarautumisehdossa (tai silmukan ohjausmuuttujana) ● laskentakäyttö (computational use, C-use): käytetään muihin tarkoituksiin (laskentaan, tulostukseen) ● tuhoaminen (kill, K): muuttuja tuhotaan tai sen arvo tehdään määrittelemättömäksi. Tietovuohon perustuva yksikkötestaus (1/6)

Mahdolliset peräkkäisten tapauslajien järjestykset: ● DD – lievästi epäilyttävä (edellistä arvoa ei käytetä mihinkään) ● DK – samoin epäilyttävä ● DU – perustapaus (jota varten muuttujat ovat olemassa) ● UD, UU, UK – normaalia ● KD – normaalia ● KK – kummallinen (ei mahdollinenkaan kaikissa kielissä) ● KU – virheellinen! Lisäksi muuttujaan kohdistuvan ensimmäisen tapauksen pitää olla D; viimeinen tapaus on luonnollisimmin K. ● Joissakin kielissä kaikki paikalliset muuttujat alustetaan automaattisesti. ● Globaalit muuttujat erikoistapauksia. Vuokaavion solmut (segmentit): ● Luetteloidaan jokaisen muuttujan käsittelyt kussakin segmentissä. ● Tapausjärjestys segmentin sisällä on täysin staattinen. ● Segmenttien välillä kiinnostaa polulla aiemman segmentin viimeinen ja myöhemmän ensimmäinen tapaus (muuttujittain). ● Kaikki staattisessa analyysissä todettavat polut eivät kuitenkaan ole välttämättä mahdollisia. Tietovuohon perustuva yksikkötestaus (2/6)

DU-polku (DU path) (jonkin muuttujan suhteen): ● Ensimmäisessä segmentissä on D-tapaus (määrittely). ● Viimeisessä segmentissä on U-tapaus (käyttö). ● P-käyttö tulkitaan yleensä niin, että se ei tapahdu itse predikaattisolmussa vaan siitä lähtevissä kaarissa. ● Välillä ei ole yhtään D- eikä K-tapausta. ● Siis ei välttämättä koko aliohjelman alusta loppuun. ● DU-polku voi olla toisen DU-polun osapolku. ● Kattavuuden kannalta vain maksimaaliset polut ovat kiinnostavia. ● Silmukoita ei kuitenkaan käydä DU-polulla läpi moneen kertaan. Tietovuopohjaisessa testauksessa pyritään kattamaan DU-polkuja. ● Koko polulla aliohjelman alusta loppuun voidaan joutua käymään silmukka läpi kahdesti. Yleisiä kattavuustavoitteita: ● Vahvin: kaikki DU-polut (ADUP). ● Ei kuitenkaan vaadi niin paljon testitapauksia kuin voisi luulla, koska sama testi kattaa yleensä useita muuttujia, määrittelyjä ja käyttöjä. ● Kaikki käytöt (AU): ainakin yksi DU-polku jokaisesta määrittelystä sen jokaiseen käyttöön. Tietovuohon perustuva yksikkötestaus (3/6)

Kaikki P-käytöt (APU): ainakin yksi DU-polku jokaisesta määrittelystä sen jokaiseen predikaattikäyttöön. Em. tulkinnalla takaa haarakattavuuden. ● Kaikki C-käytöt (ACU): vastaavasti laskentakäytöille. ● Ei takaa haarakattavuutta. ● Kaikki P-käytöt ja jotkin C-käytöt (APU+C): kuten APU, mutta lisäksi ainakin yksi DU-polku C-käyttöön jokaisesta sellaisesta määrittelystä, jolla ei ole yhtään P-käyttöä. ● Kaikki C-käytöt ja jotkin P-käytöt (ACU+P): vastaavasti kuin APU+C. ● Kaikki määritelmät (AD): ainakin yksi DU-polku jokaisesta määrittelystä. Luokanlaajuisessa vuoverkossa kiinnostavia ovat sellaiset DU-polut, jotka ylittävät metodinrajat. Polun herkistäminen tapahtuu tietysti samoin kuin ohjausvuohon perustuvassa testauksessa. ● DU-polut ovat kuitenkin melko helppoja, varsinkin silmukkojen käsittely. Tietovuohon perustuva yksikkötestaus (4/6)

Tietovuohon perustuva yksikkötestaus (5/6) Muutamien testausstrategioiden (kattavuusmittojen) vahvuussuhteita ● Nuoli A:sta B:hen: A on (aidosti) vahvempi kuin B. ● Jos A:n ja B:n välillä ei ole polkua, ne ovat "vertailukelvottomia".

Tietovuohon perustuva yksikkötestaus (6/6) Tietovuotestauksen ongelmia Taulukoista ei yleensä tiedetä staattisesti, mitä alkiota missäkin käsitellään. ● Voidaan valita turhia polkuja (luultavasti vain pieni lisärasite). ● Mahdollinenkin tietovuo voi jäädä toteutumatta. Osoitin- ja viitemuuttujat aiheuttavat paljon suurempia ongelmia. ● Mm. useimmissa oliokielissä kaikki muuttujat (perustyyppejä lukuunottamatta) ovat viitteitä. ● On otettava huomioon sekä itse muuttujat että niiden kulloinkin osoittamat oliot (laajassa merkityksessä). ● Samannimisyys (aliasing): useat muuttujat viittaavat samaan olioon. ● Nollaosoitin on hankala erikoistapaus. ● Ei yleensä käsitellä testauskirjoissa! Varsinaisten olioiden käsittely on suureksi osaksi metodien kutsumista, ei yksinkertaista kirjoittamista ja lukemista. Työkalutuki on melko huono. ● Uudempi lähestymistapa kuin ohjausvuotestaus.