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