17
SW Test (Subject) / Statischeer Test (Lesson)
Reviews
Statische Analysen
Kontroll- und Datenflussanalyse
Metriken
This lesson was created by ray1.
Advertisement
- Statische Prüftechnik ? Testobjekt wird nicht mit Testdaten versehen/ausgeführt sondern einer Analyse unterzogen. Durch Reviews oder statische Analyse (Werkzeug automatisiert) Es werden Fehlerzustände gefunden nicht Fehlerwirkungen da das Program nicht ausgeführt wird. Es werden eher Ursachen als Fehlerwirkungengefunden– Abweichungen von Standards– Fehlerzustände in Anforderungen– Fehlerzustände im Design– Unzureichende Wartbarkeit– Fehlerhafte Schnittstellenspezifikation
- für welche Dokumente ist Review geeignet ? Das Review kann bei allen Dokumenten durchgeführt werden, die relevant für die Erstellung der Software sind. Dokumente werden manuell geprüft und kommentiert.
- Welche Ziele (Erfolgsfaktoren) hat ein Review ? Verstößen gegen die vorhandenen Spezifikationen Nachweis der Verletzung der Projektplanung Wissenstransfer Erstellen von Prüfnachweisen für gesetzliche oderregulatorische Nachweise
- Reviewprozess ? x Besteht aus 6 Arbeitsschritten: Plannung (Dokumente auswählen die einen Review unterzogen werden, Aufwand einzelne Reviews, Eingangs- u. Endekriterien, Prüfkriterien festlegen, Review Team festlegen) Kick-Off (Reviewteam informieren (in Sitzung) über Sinn, Zweck, Ziel u. Prüfobjekt, Dokumente ausliefern Basisdokumente, checklisten) Individuelle Vorbereitung (jeder Gutachter für sich prüft die Dokumente u. Dokumentiert Mängel, Fragen, Kommentare) Reviewsitzung (Prüfen, Bewerten, Festhalten der Ergebnisse) Ergebnis: Prüfobjekt akzeptiert o. verbessert o. neu gestaltet wird. Überarbeitung (Autor behebt gefundene Fehlerzustände, Entscheidungen aus Sitzung umsetzen, bei formalen Reviews Protokollierung der durchgeführten Maßnahmen) Nachbereitung (Überprüfung der Nachbearbeitung, Endekriterien, falls notwendig zweites Review durchführen)
- Welche Rollen gibt es in einen Review ? x Manager (Prüfobjekte auswhal, Entscheidet durchführung von Review, Zeit für Review) Moderator (Sorgt dafür, dass jeder frei seine Meinung äußern kann und Konflikte verhindert werden, Vermittlung zwischen verschiedenen Standpunkten, Reviewplanung und -organisation, keine Teilnahme an Sitzungen) Autor (Verantwortlich für Erreichung der Eintritts- und Austrittskriterien) Gutachter (ist der Experte, Identifiziert und beschreibt Befunde (z.B. Fehlerzustände), Repräsentieren unterschiedliche Sichten auf das Prüfobjekt) Protokollant (Dokumentation der Ergebnisse, Knappe, präzise Formulierungen, Diskussionsbeiträge unverfälscht aufschreiben, Manchmal auch der Autor selbst)
- Informellen Review ? x Unterliegt keinem formalisierten ProzessForm der Ergebnisdokumentation ist nicht vorgeschrieben (also das Ergebnis was rauskommen soll ist nicht festgelegt es kann auch kein ergebnis geben)Form hat hohe Akzeptanz und weite Verbreitung in der Praxis wegen des geringeren Aufwands (z.b. kannst du mal eben mit raufschauen, wir nehmen uns mal eine 1 std zeit um xx Uhr.)Nutzen des Reviews variiert abhängig von den Gutachtern
- Walkthrough ? x Eine Review art: Autor präsentiert sein Dokument den Gutachtern Vorbereitung hat einen geringen Umfang Besonders geeignet für: – Kleine Entwicklungsteams – Zum Diskutieren von Alternativen – Zur Verbreitung von Wissen im Team
- technisches Review ? x geht in die tiffe und betrachtet bestimmte technische aspekte. -Gutachter übergeben vorab die Ergebnisse in schriftlicher Form dem Sitzungsleiter-Gutachter priorisiert nach vermuteter Wichtigkeit-Autor kann anonym bleiben, den fachkompetenten-Gutachtern stehen dann nur die Spezifikation und eventuell weitere Dokumente zur Verfügung
- Inspektion ? x Ist eine Reviewart: Formalste Reviewart• Vorbereitung erfolgt anhand von Checklisten• Für die einzelnen Prüfschritte sind Eintritts- undAustrittskriterien definiert• Sitzung wird von einem geschulten Moderator geleitet• Ziel ist neben der Qualitätskontrolle des Prüfobjektsauch die Verbesserung des Entwicklungs- undInspektionsprozesses
- welche Rollen gibt es in welchen Reviews ? Informelles Review: Autor, Gutachter Walkthrough: Autor(=Moderator), Gutachter, opt.: protokollant Technisches Review: Autor, Gutachter, Protokollant, opt.: manager Inspektion: Autor, Moderator, Gutachter, Protokollant.
- Advertisement
- Statische Analyse ? x -kann nur bei Dokumenten verwendet werden die formalen Struktur uterliegen (code ohne Ausführung) In Statische Analsyse benutzt man: Kontrollfluss- und Datenflussanalyse. Metriken unterstützen nur.
- Vorteile von Statischer Analyse ? -Frühe Aufdeckung / Korrektur von Fehlerzuständen - Aufdeckung toten Codes - Verbesserte Wartbarkeit von Code und Design durch - Einhaltung von definierten Komplexitätsgraden und CodeKonventionen
- typische Fehlerzustände in statischer Analyse ? -Referenzierung einer Variablen mit nicht definiertem Wert-Inkonsistente Schnittstellen zwischen Modulen und Komponenten-Variablen, die nicht verwendet oder nicht korrekt deklariert werden-Unerreichbarer (toter) Code-Fehlende oder falsche Logik (mögliche Endlosschleifen)- Übermäßig komplizierte Konstrukte- Verletzung von Programmierkonventionen• Sicherheitsschwachstellen• Syntax-Verletzungen von Code und Softwaremodellen
- typische Fehlerzustände in statischer Analyse ? -Referenzierung einer Variablen mit nicht definiertem Wert-Inkonsistente Schnittstellen zwischen Modulen und Komponenten-Variablen, die nicht verwendet oder nicht korrekt deklariert werden-Unerreichbarer (toter) Code-Fehlende oder falsche Logik (mögliche Endlosschleifen)- Übermäßig komplizierte Konstrukte- Verletzung von Programmierkonventionen• Sicherheitsschwachstellen• Syntax-Verletzungen von Code und Softwaremodellen
- Datenflussanalyse ? Wann wir Variable Verwendet (also Analyse der Verwendung von Variablen) Mögliche zustände: – definiert (d): Wert wird zugewiesen– referenziert (r): Wert wird gelesen / verwendet– undefiniert (u): kein definierter Wert ur, du, dd ist schlecht
- Metriken ? liefern Aussagen, dienen zur Qualitätsmessung -Liefern Aussagen bezüglich eines untersuchten Aspekts-Dienen zur Messung von Qualität-Ermittelte Maßzahlen sind erst im Vergleich zu Zahlen aus anderen untersuchten Programm(teil)en aussagekräftig
- Metrik: Zyklomatische Zahl ? Formel ? (ist wichtig x) -Misst die strukturelle Komplexität des Quellcodes -Liefert Abschätzungen in Bezug auf Testbarkeit und Wartbarkeit -Je höher die zyklomatische Zahl, desto schwieriger ist das Nachvollziehen des Codes -Info über Testaufwand, Grenze für Anzahl der benötigten Testfällen Formel (git auskunft wie verschachtel der code ist) : v(G) = e – n + 2p• e (Anzahl der Kanten) (edge)• n (Anzahl der Knoten) (node)• p (Anzahl der verbundenen Komponenten, hier: Anzahl der untersuchten Kontrollflussgraphen) Zykl...zahl nicht höher als 10