Automatische Erkennung untestbarer Anforderungen REConf ... · Copy & Paste Reuse (Cloning) führt...

30
„You cannot test this!“ Automatische Erkennung untestbarer Anforderungen REConf 2017 Maximilian Junker

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

Manuelle Reviews?

1. Aufwendig und teuer.

2. Lange Feedback-Schleifen.

3. Inkonsistent.

Artifacts

Fast automatic feedback

1 Detailedmanual

Feedback

2

Automation to the rescue?

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?

5 BeispieleWelche Typen von schlecht testbaren Anforderungen

können wir gut automatisch erkennen?

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.

Wie funktioniert die

Erkennung?

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

„If it is necessary, a new windowis opened by the system“

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

Identifizieren & Filtern

Passive Voice

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

Sichten für Autoren,

Reviewer und QA-Engineers

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

Reviewer-Sicht: Findings-Übersicht

Übersicht über alle Findings

Filtern und Suchen

QA-Engineer-Sicht: Dashboard

Metriken

Trends & Baselines

Hot-Spots

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.

Kontakt

Maximilian Junker

Qualicen GmbH

[email protected]

@qualicen

@maximilianjun

Vielen Dank!

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