26.01.2014 Views

Noter og opgaver - Institut for Matematik og Datalogi

Noter og opgaver - Institut for Matematik og Datalogi

Noter og opgaver - Institut for Matematik og Datalogi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5. Test <strong>og</strong> debugging <strong>Noter</strong> til Pr<strong>og</strong>rammering A<br />

5 Test <strong>og</strong> debugging<br />

Før et pr<strong>og</strong>ram er færdigt skal det testes <strong>for</strong> både funktionalitet <strong>og</strong> korrekthed.<br />

Det vil sige kan det gøre det som opgaven beskriver, <strong>og</strong> er resultatet korrekt.<br />

Debugging er den proces der går ud på at rette fejl, når de er fundet.<br />

5.1 Test<br />

Der er utallige måder at teste sit pr<strong>og</strong>ram på. Her beskrives kort n<strong>og</strong>le af de<br />

ting der skal testes <strong>for</strong>.<br />

Positive test<br />

Reagerer pr<strong>og</strong>rammet korrekt, når det får et korrekt input?<br />

I positiv testning, er man venlig ved pr<strong>og</strong>rammet, <strong>og</strong> giver det pæne input,<br />

men ’regner’ efter i hånden om resultatet er korrekt. Her er det primært<br />

funktionaliteten der testes. Husk at opstille tests der tester alle opgavens dele.<br />

Negative test<br />

Reagerer pr<strong>og</strong>rammet korrekt når det får <strong>for</strong>kert input? Hvis brugeren skal indtaste<br />

et tal, <strong>og</strong> indtaster n<strong>og</strong>et andet, får han så en pæn fejlbesked <strong>og</strong> lov til at<br />

prøve igen, eller stopper pr<strong>og</strong>rammet uventet? Hvad med negative tal, nul <strong>og</strong> positive<br />

tal? En integer har en maksimal <strong>og</strong> en minimal størrelse (se evt appendix<br />

A.2), hvad sker der hvis det er præcis så stort/småt eller større/mindre?<br />

I negativ testning prøves pr<strong>og</strong>rammet med alle slags input, <strong>for</strong>kerte <strong>og</strong> i<br />

grænseområder, f.eks. meget store tal, meget store strenge, den tomme streng,<br />

osv. Dit pr<strong>og</strong>ram skal gerne håndtere dette på en pæn måde, <strong>og</strong> give brugeren<br />

mulighed <strong>for</strong> at prøve igen.<br />

Opgave 38: Middelværdipr<strong>og</strong>ram<br />

Skriv følgende pr<strong>og</strong>ram til at beregne middelværdi af, <strong>og</strong> lav <strong>for</strong>bedringer så det<br />

virker både korrekt <strong>og</strong> robust. Lav det <strong>og</strong>så om så det kan håndtere negative<br />

tal, <strong>og</strong> decimal tal.<br />

import java.util.Scanner;<br />

/*<br />

* Beregning af middelvaerdi af positive hele tal<br />

* Til slut indtastes et ikke-positivt tal<br />

*/<br />

public class Middelvaerdi<br />

{<br />

// Main metode i pr<strong>og</strong>rammet<br />

public static void main(String[] args)<br />

{<br />

int antal;<br />

int nytTal;<br />

44

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!