Hinweise zum SwQT-Meilenstein 'Softwaremetriken und Codeüberdeckung'

Folgende Inhalte sollten in Ihren Softwaremetriken bzw. Codeüberdeckungen im Rahmen des zweiten Meilensteins abgegeben werden:

  • Deckblatt mit Name der Veranstaltung, Thema des Meilensteins, Ihrem Gruppennamen, Namen und Matrikelnummern aller Gruppenteilnehmer sowie einer Mailadresse, unter der Ihr Dozent Sie als Gruppe erreichen kann

Erster Teil (Softwaremetriken)

  • Auswahl eines Algorithmus' pro Übungsgruppe mittels www.rosettacode.org (dort "Tasks" genannt)
  • Auswahl einer Implementierung des gewählten Algorithmus' in einer (fast) beliebigen Programmiersprache pro Teilnehmer der Übungsgruppe:
    • Üblicherweise eine Methode, die den Algorithmus implementiert
    • Der gewählte Quelltext muss mindestens eine if-Bedingung und mindestens eine Schleife beinhalten; ein paar Anweisungen dazu schaden auch nicht. ;)
    • Es ist nicht notwendig, einen möglichst langen Quelltext auszuwählen.
    • Wählen Sie eine Programmiersprache, die Sie mindestens ein klein wenig verstehen.
    • Wählen Sie nicht Brainfuck o.ä.
  • Je weiter die gewählten Programmiersprachen voneinander "entfernt" sind, desto spannender werden die Ergebnisse: z.B. Java vs. JavaScript ist langweilig, Basic vs. Assembler ist spannend
    • "Normalisieren" Sie den Quelltext im Vergleich zu den Quelltexten der anderen Teilnehmer Ihrer Übungsgruppe, damit sie untereinander vergleichbar werden.
  • Wenden Sie Lines Of Code (LoC) auf Ihre Quelltexte an (Legende nicht vergessen) und interpretieren Sie die Ergebnisse gemeinsam in einem Teilfazit (beste Sprache, schlechte Sprache, Gründe dafür etc.).
  • Wenden Sie die Zyklomatische Komplexität nach McCabe auf Ihre Quelltexte an und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
  • Wenden Sie die Halstead-Metriken auf Ihre Quelltexte an (achten Sie darauf, den richtigen Logarithmus zu verwenden) und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
  • Wenden Sie eine selbst ausgedachte, im Internet recherchierte oder von den "Standard"metriken erweiterte Metrik auf Ihre Quelltexte an und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
  • Interpretieren Sie alle Ergebnisse, die Sie insgesamt beobachten konnten, in einem Gesamtfazit.

Zweiter Teil (Codeüberdeckung)

  • Erstellen Sie einen Programmablaufgraphen für den von Ihnen gewählten Quelltext: Er hilft Ihnen beim Erkennen der Pfade und Finden der Testfälle
  • Finden Sie Testfälle, um die Anweisungsüberdeckung C 0 auf 100 % zu bringen
  • Finden Sie Testfälle, um die Zweigüberdeckung C 1 auf 100 % zu bringen
  • Finden Sie Testfälle, um die Bedingungskombinations- C 2 bzw. Prädikatenüberdeckung C 1p auf 100 % zu bringen
  • Finden Sie Testfälle, um die Pfadüberdeckung C ∞b  (Boundary-Interior-Variante) auf 100 % zu bringen
  • Beachen Sie für Ihre Testfälle die Minimalforderung und das Effizienzprinzip