Bygg applikasjonen din testbar

345 views

Published on

Slides from presentation at NTNU. Slides are in norwegian.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
345
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Hva er problemet med dette kravet?
  • Bygg applikasjonen din testbar

    1. 1. Byggapplikasjonen din testbar<br />Miniseminar NTNU<br />Janniche Haugen<br />
    2. 2. Vedlikehold av tester over tid<br />
    3. 3. Kravarbeid<br />
    4. 4.
    5. 5.
    6. 6.
    7. 7.
    8. 8.
    9. 9.
    10. 10.
    11. 11. INVEST<br />
    12. 12. IndependentNValuableESTestable<br />
    13. 13. Om kravene dine virkerdetestable, må du gjørenoe med det<br />
    14. 14. Et spørsmål om tid…<br />
    15. 15.
    16. 16. class Ordre {<br /> Date lagretTidspunkt;lagre() {<br />this.lagretTidspunkt = new Date(); <br /> (… resten av koden for å lagre…)<br /> }<br />}<br />
    17. 17.
    18. 18. 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();<br />
    19. 19. interface Klokke {<br />Date nå();<br />}<br />
    20. 20. class Ordre {<br /> Date lagretTidspunkt;Klokke klokke;<br />publicOrdre(Klokke klokke) {<br />this.klokke = klokke;<br /> }<br />(…)<br />
    21. 21. (…)lagre() {<br />this.lagretTidspunkt = klokke.nå(); <br /> }<br />}<br />
    22. 22. classSystemKlokkeimplements Klokke {<br />public Date nå() {<br />returnnew Date();<br /> }<br />}<br />
    23. 23. classJusterbarKlokkeimplements Klokke {<br /> Date tid;<br />public Date nå() {<br />return tid;<br /> }<br />publicjusterTid(Date tid) {<br />this.tid = tid;<br /> }<br />}<br />
    24. 24. @Test<br />publictestSammenslåing() {<br /> Klokke klokke = newJusterbarKlokke();<br /> Ordre ordre1 = newOrdre(klokke);<br /> Ordre ordre2 = newOrdre(klokke);<br />(…)<br />
    25. 25. (…)<br />klokke.justerTid(new Date(10, 09, 21));<br /> ordre1.lagre();<br />klokke.justerTid(new Date(10, 09, 22));<br /> ordre2.lagre();<br /> // sjekk ordre ikke sammenslått <br />}<br />
    26. 26. Stub ut avhengigheter til tid for å gjøre koden din testbar<br />
    27. 27. Altså:<br />For å bygge testbare applikasjoner <br />må vi tenkte testbarhet gjennom hele<br />utviklingsprosessen<br />
    28. 28. spørsmål?<br />
    29. 29. Janniche Haugen<br />Senior Consultant<br />+47 986 28 859<br />janniche.haugen@bekk.no<br />miss_haugen @ twitter<br />

    ×