Automatische Erkennung untestbarer Anforderungen REConf ... · Copy & Paste Reuse (Cloning) führt...
Transcript of Automatische Erkennung untestbarer Anforderungen REConf ... · Copy & Paste Reuse (Cloning) führt...
„You cannot test this!“Automatische Erkennung untestbarer
Anforderungen
REConf 2017Maximilian Junker
Req. ID 2711
Author: XYZ Status: reviewed
The output signal should be sent on one of the output channels depending on where the input occurred.
Konsequenzenvon schlecht testbaren
Anforderungen
Erhöhter Reviewaufwand
Mehraufwand für Testerstellung und –
durchführungSchlechte Qualität
im ProduktAufwand für Wartung und
Fehlerbehebung
1 1 0 1
Untestbare Anforderungen?
Anforderungen fehlen, sind unvollständig, falsch oder inkonsistent
Anforderungen sind unpräzise oder mehrdeutig
Anforderungen sind zu komplex
Anforderungen sind dupliziert
Agenda
Teil I: Was können wir erkennen?
Was kann man gut erkennen?
Was kann man nicht oder schwer erkennen?
Teil II: Anwendung in der Praxis
Was steckt hinter der Erkennung?
Wie unterstützen wir Autoren, Reviewer und QA-Engineers?
Unpräzise Anforderungen
Vage Phrasen
The system generates relations toother files, based on attributevalues.
Mehrdeutige Anforderungen
Passivsätze(ohne Akteur)
In case the signal REQ_OP is received, the signal OP_DOOR is sent tocomponent DOOR_CTRL.
Komplexe Anforderungen
Komplizierte Sätze
When the user logs in with the adminrole (except technical admin users andAPI admin users), the systemadditionally shows the admin panelon the dashboard, including theadmin apps, if they are enabled.
Unvollständige Anforderungen
Platzhalter und Standardtexte
[This section contains thepreconditions of the use case.]
tbd.
KloneCopy & Paste Reuse (Cloning) führt zu
1. Höheren Aufwänden für Test-Design
2. Inkonsistenzen
[REQ101]
Component A must receive data and
confirmation.
[REQ201]
Component B must receive data and
confirmation.
[REQ801]
Component C must receive data and
confirmation.
...
[REQ401]
Component E must receive sender
name , data, and confirmation.
MehrNamenskonventionen, strukturelle
Konsistenz, Komparative, Superlative, Negationen, Einhaltung von
Satzmustern, …
49% 26%
25%Vollständig
Teilweise
Unmöglich
Wie viele Regeln einer Requirements Guideline können wir automatisieren?
Was konnten wir nichtautomatisch detektieren?
“Preconditions must be described such that the system can check them.”
“Use Cases that do not provide value by themselves are not use cases. “
“…all the ‘whats’ should be answered…”
Was konnten wir schwer automatisch detektieren?
“Use centrally defined terms.”
“Describe clearly enough for outsiders.”
… falls man ein Glossar hat.
Vogelperspektive
Requirements
Annotation IdentificationParsing
Spec A1
Spec B1
Sec1 Req1
Req2
Req3
Sec2 Req1
Req2
Sec1 Req1
Req2
Req3
POS Tagging
Morphologic Analysis
Lemmatization
1 2 3 4
Presentation
Overview Dashboard
Smell Viewer
& Filtering
Einlesen Annotieren Identifizieren & Filtern
Präsentieren
Vogelperspektive
Requirements
Annotation IdentificationParsing
Spec A1
Spec B1
Sec1 Req1
Req2
Req3
Sec2 Req1
Req2
Sec1 Req1
Req2
Req3
POS Tagging
Morphologic Analysis
Lemmatization
1 2 3 4
Presentation
Overview Dashboard
Smell Viewer
& Filtering
Einlesen Annotieren Identifizieren & Filtern
Präsentieren
Präsentation
Requirements
Annotation IdentificationParsing
Spec A1
Spec B1
Sec1 Req1
Req2
Req3
Sec2 Req1
Req2
Sec1 Req1
Req2
Req3
POS Tagging
Morphologic Analysis
Lemmatization
1 2 3 4
Presentation
Overview Dashboard
Smell Viewer
Einlesen Annotieren Identifizieren & Filtern
Präsentieren
Drei Perspektiven der RE Qualitätssicherung
Autor
Ich will Probleme direkt beim
Schreiben sehen.
Quality-Engineer
Ich muss verstehen wie das große Bild ist.
Reviewer
Ich will alle wichtigen Probleme in einem Dokument sehen.
Anzeige als native Microsoft Word
Kommentare
Benutzer kann Kommentare
speichern, beantworten, etc.
Findings auf Knopfdruck
Autoren-Sicht: Plugin im Autorentool
Zusammenfassung
• Erkennung geht mit NLP, Strukturanalysen und vielen Filtern.
• Es braucht eine Perspektive für Autoren-, Reviewer und Engineers.
• Schlecht testbare Anforderungen verteuern das Testen
• Manuelle Reviews sind teuer, langsam, inkonsistent
• Kann Automatisierung helfen?
• Einiges kann man erkennen!
• Wenn man Kontextwissen braucht, ist es schwierig
• Automatisierung ist kein Ersatz für Reviews.
Credits
• Image by MattysFlicks
• Jacques-Louis David: Napoleon crossing the Alps (Public domain)
• CC: Raysonho @ Open Grid Scheduler / Grid Engine
• CC: https://www.iconfinder.com/icons/928418/document_letter_note_page_paper_report_icon
• CC: https://www.iconfinder.com/icons/282471/cross_delete_remove_icon