Bygg applikasjonen din testbar
Upcoming SlideShare
Loading in...5
×
 

Bygg applikasjonen din testbar

on

  • 357 views

Slides from presentation at NTNU. Slides are in norwegian.

Slides from presentation at NTNU. Slides are in norwegian.

Statistics

Views

Total Views
357
Views on SlideShare
357
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Hva er problemet med dette kravet?

Bygg applikasjonen din testbar Bygg applikasjonen din testbar Presentation Transcript

  • Byggapplikasjonen din testbar
    Miniseminar NTNU
    Janniche Haugen
  • Vedlikehold av tester over tid
  • Kravarbeid
  • INVEST
  • IndependentNValuableESTestable
  • Om kravene dine virkerdetestable, må du gjørenoe med det
  • Et spørsmål om tid…
  • class Ordre {
    Date lagretTidspunkt;lagre() {
    this.lagretTidspunkt = new Date();
    (… resten av koden for å lagre…)
    }
    }
  • new Date(); new Date(); new Date(); new Date(); new Date(); new Date();new Date(); new Date(); new Date(); new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();
  • interface Klokke {
    Date nå();
    }
  • class Ordre {
    Date lagretTidspunkt;Klokke klokke;
    publicOrdre(Klokke klokke) {
    this.klokke = klokke;
    }
    (…)
  • (…)lagre() {
    this.lagretTidspunkt = klokke.nå();
    }
    }
  • classSystemKlokkeimplements Klokke {
    public Date nå() {
    returnnew Date();
    }
    }
  • classJusterbarKlokkeimplements Klokke {
    Date tid;
    public Date nå() {
    return tid;
    }
    publicjusterTid(Date tid) {
    this.tid = tid;
    }
    }
  • @Test
    publictestSammenslåing() {
    Klokke klokke = newJusterbarKlokke();
    Ordre ordre1 = newOrdre(klokke);
    Ordre ordre2 = newOrdre(klokke);
    (…)
  • (…)
    klokke.justerTid(new Date(10, 09, 21));
    ordre1.lagre();
    klokke.justerTid(new Date(10, 09, 22));
    ordre2.lagre();
    // sjekk ordre ikke sammenslått
    }
  • Stub ut avhengigheter til tid for å gjøre koden din testbar
  • Altså:
    For å bygge testbare applikasjoner
    må vi tenkte testbarhet gjennom hele
    utviklingsprosessen
  • spørsmål?
  • Janniche Haugen
    Senior Consultant
    +47 986 28 859
    janniche.haugen@bekk.no
    miss_haugen @ twitter