Workshop: Test-first approach Pietu Pohjalainen. Testaus perinteisesti Tarkoituksena löytää virheitä ohjelmasta mutta mikä on virhe? Sijoittuu tavallisesti.

Slides:



Advertisements
Samankaltaiset esitykset
Open source testaustyökalut
Advertisements

Testaus ja testausympäristöt
Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()
Testaus ja testausympäristöt
Tiedonhaku Internetistä PODCASTING Katarina Andersson TU08se
Luokan otsikko- ja toteutustiedosto tMyn1 Luokan otsikko- ja toteutustiedosto •Tähän asti ohjelmaesimerkit on toteutettu siten, että kaikki koodi on yhdessä.
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
SYS48D Tietojärjestelmän kehittäminen (12 ov)
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Java-perusteet Kari Kujansuu
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Jukka Juslin Poikkeukset ja niiden paikallistaminen * Jukka Juslin * Liittyy oppikirjan lukuun 11.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
13. Pakkaukset.
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Qt-käyttöliittymäkirjasto Matti Lehtinen
Ohjelmointi Vesa Lappalainen jyu class Hello { public static void main(String[] args) { System.out.println("Hello world!"); } }
Käytännön ohjelmointi ja käytännön ketterä testaus
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
Olio-ohjelmoinnin perusteet luento 3
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap.
Ketterä kehitys käytännössä – TFS & Meteor
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
9. Periytyminen Javassa.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Java-ohjelmien vianjäljitys Pietu Pohjalainen. Vianjäljitin Vianjäljitin (debuggeri) on ohjelma, jolla voidaan seurata toisen ohjelman suoritusta Tietotekniikan.
Käyttöjärjestelmien käynnistyminen
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
OPPIMINEN JA OPETUS / DIDAKTIIKAN KURSSIN WIKITENTTI.
Ohjelmointi Vesa Lappalainen jyu class Hello { public static void main(String[] args) { System.out.println("Hello world!"); } }
Ville Ahola EL5. Yleistä  Avoimen lähdekoodin www- serveriohjelma  Lähes jokaiseen käyttöjärjestelmään löytyy oma versio  Ollut suosituin www-palvelin.
20. Javan omat luokat.
Kuinka niitä käsitellään
1 DataOutputStream ja DataInputStream DataOutputStream:lla voidaan tallentaa perustietotyyppien arvoja binäärimuotoiseen tiedostoon DataInputStream:lla.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
Tietorakenteiden harjoitustyö (2 ov) Ryhmä 5, kesä Pietu Pohjalainen.
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi.
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
Sähköpostin lähetys Java- ohjelmasta Jukka Juslin.
Sisältötuotanto ActionScript Anssi Jääskeläinen VO: Tiistaisin 6606.
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004.
Grafiikkaa Javalla Ville Sundberg
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
5. Kapselointi.
Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta
13. Pakkaukset.
Poikkeustenkäsittelylohkot try-catch
Kuinka niitä käsitellään
8. Näppäimistöltä lukeminen
4. Komentoriviparametrit
GNU-ohjelmointityökalut Sami Husso
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
WineApi ja Virtuaaliohjelmistot
8. Näppäimistöltä lukeminen
Kuinka niitä käsitellään
3. Komentoriviparametrit
13. Pakkaukset.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

Workshop: Test-first approach Pietu Pohjalainen

Testaus perinteisesti Tarkoituksena löytää virheitä ohjelmasta mutta mikä on virhe? Sijoittuu tavallisesti ohjelmistoprojektin loppupäähän Yleisesti tunnustetusti tylsää puuhaa

Test-first approach Tarkoituksena käyttää automaattisia yksikkötestejä määrittelyvälineenä Koska yksikkötestit ovat toteutettu ohjelmakoodina, voidaan ne myös suorittaa Näin nähdään toteutettavan ohjelman valmiusaste määrittelyynsä nähden Käytännössä: test a bit – code a bit

Työkaluja Javalle Käännösprosessin automatisointiin ant Yksikkötestien määrittelemiseen JUnit Artikkeli: ’JUnit Test Infected: Programmers Love Writing Tests’

Käännösprosessi ANTilla Tiedosto build.xml määrittelee käännöskohteita ja niiden välisiä riippuvuuksia esim. compile, test, javadoc jne. Komentoriviltä (tai IDEstä) käynnistetään prosessi komennolla % ant test Nyt suoritetaan test-kohteessa määritellyt toiminnnot

Yksikkötestin rakenne package tests; import junit.framework.*; public class UnitTest extends TestCase { protected void setUp() { } public void testMultiplication() { src.MainClass main = new src.MainClass(); testvalue = Integer.MAX_VALUE; assertTrue( main.multiplyByTwo(testvalue) == testvalue*2 ); } protected void tearDown() { }

JUnitin käyttäminen Kehyksen mukana tulee graafinen työkalu testien ajamiseen Kun JUnit.jar löytyy CLASSPATHista, ajetaan % java junit.swingui.Testrunner Voidaan suorittaa myös komentoriviltä

Työkaluja muille kielille Useimmille muille kielille löytyy jokin xUnit Käännösten automatisointiin esim. make Näille työkaluille ei kuitenkaan ole saatavilla ryhmän puolesta yhtä kattavaa ohjausta Automatisointi kannattaa kuitenkin, käytetystä kielestä ja ympäristöstä riippumatta