Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Oppførselen til et objekt er hva man til enhver tid kan be det om å gjøre og hvordan det påvirker objektets tilstand, og testing gjøres for å sjekke at oppførselen er implementert slik det er ment.

De fleste former for testing av oppførsel er basert på eksempler på riktig (eller gal) oppførsel. Siden en sjelden kan sjekke at noe alltid er tilfelle, må en istedet sjekke representative tilfeller. Teknikken består i å rigge opp en eller flere objekter i en start-tilstand og så se hvordan et eller flere av objektene oppfører seg når metoder kalles. Oppførselen sjekkes mot fasiten, altså forventet oppførsel, og avvik rapporteres som feil. Oppførselen til metoder som beregner verdier kan sjekkes direkte, mens oppførselen til metoder som endrer tilstanden må sjekkes indirekte, ved at tilstanden leses ut i etterkant.

Ta som eksempel oppførselen som er illustrert med følgende tilstandsdiagrammer i Tilstand og oppførsel:

PlantUML Macro
object "Counter" as counter1 {
	counter = 1
	end = 3
}

counter1 --> counter1 : getCounter() => 1
 
object "Counter" as counter2 {
	counter = 2
	end = 3
}
counter1 --> counter2 : count()
counter2 --> counter2 : getCounter() => 2
 
object "Counter" as counter3 {
	counter = 3
	end = 3
}
counter2 --> counter3 : count()
counter3 --> counter3 : getCounter() => 3
counter3 --> counter3 : count()

Oppførsel til count() og getCounter()

PlantUML Macro
object "Counter" as counter1 {
	counter = 1
	end = 3
}
 
object "Counter" as counter2 {
	counter = 2
	end = 3
}
counter1 --> counter2 : count(1)
 
object "Counter" as counter3 {
	counter = 3
	end = 3
}
counter2 --> counter3 : count(1)
counter1 --> counter3 : count(2)

Oppførsel til count() og count(int)

 

  koden en skriver er ment å implementere en bestemt oppførsel. Ved testing av koden, er det nettopp for å sikre at oppførselen er slik vi ønsker.