Universität Ulm -Sektion Angewandte Informationsverarbeitung

7.Übungsblatt (18.01.1999 bis 25.01.1999)

zur Vorlesung Software Engineering Praxis (WS 1998/99)


 

1, 2, Test, Test ... (20 Punkte)

Um Ihr Lebensversicherungsangebot noch ausgefeilter und kundenorientierter zu halten, machen Sie eine detailliertere Untersuchung der Risikoaspekte. Als Ergebnis erhalten Sie folgende Faktoren gegenüber den aus den DAV-Tabellen errechneten Beiträgen:

BMImw
[19, 20)1,00,8
[20. 25]0,80,8
(25, 27]1,21,2

Ferner zeigt sich, daß die Frauen generell etwas günstiger abschneiden als kalkuliert, so daß für Frauen ein weiterer Abschlag von 5% gerechtfertigt ist. Basierend auf diesen Daten entwickeln Sie folgendes Unterprogramm, das in Abhängigkeit von einem BMI zwischen 19 und 27 und dem Geschlecht den Korrekturfaktor ausrechnet:

   sub faktor {
      my ($bmi, $gender)=@_;
      my $f = 1.0;
      if ($gender eq "w") {$f = 0.95} else {$f = 1.0};
      if ($bmi < 20 && $gender eq "m") { $f *= 1.2 } else { $f *= 0.8 };
      if ( $bmi > 20 && $bmi <= 25 ) { $f *= 0.8 };
      if ( $bmi > 25 ) { $f *= 1.2 };
      return $f;
   }

Schreiben Sie einen Programmrumpf zum Testen der Funktion, der aus einer Datei jeweils zeilenweise BMI und Geschlecht einliest und das Ergebnis in folgender Form ausgibt (6 Punkte):

   |  BMI  | m/w | Faktor |
   |-------+-----+--------|
   | 20.50 |  w  | 0.6080 |

Generieren Sie White-Box-Testfälle für die Überdeckungen C0, C1 und C_7 (6 Punkte) sowie Testfälle für einen Black-Box-Test (4 Punkte).

Korrigieren Sie die Funktion faktor() (4 Punkte).