ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.04.2021

Просмотров: 1797

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Certified Tester 

Foundation Level Syllabus 
(Deutschsprachige Ausgabe) 
 

Version 2011  

Seite 36/84 

1.8.2011 

© International Software Testing Qualifications Board 

Das Review wird in einer Atmosphäre des  Vertrauens durchgeführt, das Ergebnis dient  nicht 
zur Beurteilung der Teilnehmer. 

Es werden die Reviewtechniken angewendet, die zur Erreichung der Reviewziele, für Art und 
Stufe von Arbeitsergebnissen der Softwareentwicklung und für die Gutachter geeignet sind. 

Wenn sie geeignet sind, die  Effektivität der Fehleridentifikation  zu steigern, werden Checklis-
ten oder Rollen verwendet. 

Es  finden  Schulungen  in  Reviewtechniken  statt,  besonders  für  die  formaleren  Methoden  wie 
Inspektionen. 

Das Management unterstützt einen guten Reviewprozess, indem es beispielsweise angemes-
sene Zeit für Reviewaktivitäten im Projektplan einräumt. 

Es liegt eine Betonung auf Lernen und Prozessverbesserung. 


background image

Certified Tester 

Foundation Level Syllabus 
(Deutschsprachige Ausgabe) 
 

Version 2011  

Seite 37/84 

1.8.2011 

© International Software Testing Qualifications Board 

3.3  Werkzeuggestützte statische Analyse (K2)  

20 Minuten 

Begriffe 
Compiler, Datenfluss, Komplexität, Kontrollfluss, statische Analyse 
 
Hintergrund 

Das Ziel der statischen Analyse ist es, Fehlerzustände  in Softwarequellcode  und in  den Softwaremo-
dellen zu finden. Statische Analyse wird durchgeführt, ohne dass die untersuchte Software tatsächlich 
durch  das  Werkzeug  ausgeführt  wird;  dynamischer  Test  führt  Softwarecode  aus.  Statische  Analyse 
kann Fehlerzustände lokalisieren, die durch dynamisches Testen schwer zu finden sind. Ebenso wie 
Reviews  findet  die  statische  Analyse  Fehlerzustände  eher  als  Fehlerwirkungen.  Statische  Analyse-
werkzeuge  analysieren  Programmcode  (z.B.  Kontrollfluss  und  Datenfluss),  ebenso  wie  generierte 
HTML- und XML-Ausgaben. 

Vorteile der statischen Analyse: 

frühes Erkennen von Fehlerzuständen vor der Testdurchführung 

frühe Warnung  vor  verdächtigen  Aspekten in  Code  oder Design wie  hohes Komplexitätsmaß 
durch Berechnen von Metriken  

Identifizieren  von  Fehlerzuständen,  die  durch  dynamischen  Test  nicht  effektiv  und  effizient 
aufzudecken sind 

Aufdecken  von  Abhängigkeiten  und  Inkonsistenzen  in  Softwaremodellen,  beispielsweise  tote 
Links 

verbesserte Wartbarkeit von Code und Design 

Vorbeugen  von  Fehlerzuständen,  wenn  sich  das  aus  Erfahrung  Gelernte  in  der  Entwicklung 
niederschlägt 

Typische Fehlerzustände, die durch eine werkzeuggestützte statische Analyse gefunden werden kön-
nen: 

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 

 
Werkzeuge für statische Analysen werden typischerweise entwicklungsbegleitend und vor Komponen-
ten-  und  Integrationstests  oder  beim  Einchecken  von  Code  in  Konfigurationsmanagementwerkzeuge 
genutzt  (Prüfen  gegen  vordefinierte  Regeln  oder  Programmierstandards),  und  durch  Designer  wäh-
rend  der  Softwaremodellierung.  Werkzeuge  für  statische  Analysen  können  große  Mengen  von  War-
nungen  und  Hinweisen  erzeugen,  die  gut  verwaltet  werden  müssen,  um  eine  effektive  Nutzung  des 
Werkzeugs zu erlauben. 
 
Compiler können auch eine gute  Unterstützung für eine statische Analyse bieten,  u.a. durch Berech-
nen von Metriken. 
 
Referenzen 
3 Linz, 2010 
3.2 IEEE 1028-2008 
3.2.2 Gilb, 1993, van Veenendaal, 2004 
3.2.4 Gilb, 1993, IEEE 1028 
3.3 van Veenendaal, 2004


background image

Certified Tester 

Foundation Level Syllabus 
(Deutschsprachige Ausgabe) 
 

Version 2011  

Seite 38/84 

1.8.2011 

© International Software Testing Qualifications Board 

4  Testentwurfsverfahren (K4)  

285 Minuten 

Lernziele für den Abschnitt Testentwurfsverfahren 

Die Lernziele legen fest, was Sie nach Beenden des jeweiligen Moduls gelernt haben sollten. 
 
4.1 Der Testentwicklungsprozess (K3) 

LO-4.1.1  Unterscheiden können,  zwischen Testentwurfsspezifikation, Testfallspezifikation  und Test-

ablaufspezifikation. (K2) 

LO-4.1.2  Begriffe Testbedingung, Testfall und Testablauf gegenüberstellen können. (K2) 

LO-4.1.3  Qualität von Testfällen bewerten können, bezüglich:  

o

  eindeutige Rückverfolgbarkeit zu den Anforderungen  

o

  Sollverhalten (K2) 

LO-4.1.4  Testfälle  in  eine  wohlstrukturierte  Testablaufspezifikation  übersetzen  können  –  mit  einem 

Detaillierungsgrad, der den Vorkenntnissen der Tester angepasst ist. (K3) 

 
4.2 Kategorien von Testentwurfsverfahren (K2) 

LO-4.2.1  Gründe  wiedergeben  können,  dass  sowohl  spezifikationsorientierte    (Black-Box)  als  auc h 

strukturorientierte    (White-Box)  Testentwurfstechniken  von  Nutzen  sind,  und  für  beides 
gängige Verfahren aufzählen können. (K1) 

LO-4.2.2  Eigenschaften,  Gemeinsamkeiten  und  Unterschiede  zwischen  spezifikationsorientiertem 

Testen, strukturorientiertem Testen und erfahrungsbasiertem Testen erklären können. (K2) 

4.3 Spezifikationsorientierte oder Black-Box-Verfahren (K3)  
 

LO-4.3.1  Testfälle anhand  unterschiedlicher Softwaremodelle schreiben können,  unter  Verwendung 

von  Äquivalenzklassenbildung,  Grenzwertanalyse,  Entscheidungstabellen  und  Zustands-
übergangsdiagrammen und –tabellen. (K3) 

LO-4.3.2  Hauptziele  der  fünf  Testverfahren  erklären  können,  auf  welchen  Ebenen  und  in  welchem 

Testumfeld  das  Verfahren  eingesetzt  und  wie  jeweils  der  Überdeckungsgrad  gemesse n 
werden kann. (K2) 

LO-4.3.3  Das  Konzept  der  anwendungsfallbasierten  (use  case)  Tests  und  der  damit  verbundene n 

Vorteile erklären können. (K2) 

4.4 Strukturorientierte oder White-Box-Verfahren (K4)  

LO-4.4.1  Das Konzept und den Wert von Codeüberdeckung beschreiben können. (K2) 

LO-4.4.2  Die  Konzepte  von  Anweisungs-  und  Entscheidungsüberdeckung  erklären  können  und 

Gründe  nennen  können,  warum  diese  Überdeckungsmaße  auch  auf  anderen  Teststufen 
als im Komponententest eingesetzt werden können (z.B. bei Geschäftsprozessen auf Sys-
temebene). (K2) 

LO-4.4.3  Testfälle  zu  vorgegebenen  Kontrollflüssen  schreiben  können  unter  Verwendung  von  An-

weisungs- und Entscheidungsüberdeckungsverfahren. (K3) 

LO-4.4.4  Vollständigkeit  von  Anweisungs-  und  Entscheidungsüberdeckung  in  Bezug  auf  definierte 

Ausgangskriterien überprüfen können. (K4) 

4.5 Erfahrungsbasierte Verfahren (K2) 

LO-4.5.1  Gründe  wiedergeben  können,  warum  Testfälle  auf  der  Grundlage  von  Intuition,  Erfahrung 

und Wissen über typische Fehlerzustände geschrieben werden sollten. (K1) 


background image

Certified Tester 

Foundation Level Syllabus 
(Deutschsprachige Ausgabe) 
 

Version 2011  

Seite 39/84 

1.8.2011 

© International Software Testing Qualifications Board 

LO-4.5.2  Erfahrungsbasierte Verfahren  mit spezifikationsorientierten Testverfahren  vergleichen kön-

nen. (K2) 

4.6 Auswahl von Testverfahren (K2) 

LO-4.6.1  Testentwurfsverfahren  in  einem  vorgegebenen  Zusammenhang  gemäß  ihrer  Tauglichkeit, 

für  die  Testbasis  und  bezüglich  Modellen  und  Softwaremerkmalen  klassifizieren  können. 
(K2) 


background image

Certified Tester 

Foundation Level Syllabus 
(Deutschsprachige Ausgabe) 
 

Version 2011  

Seite 40/84 

1.8.2011 

© International Software Testing Qualifications Board 

4.1  Der Testentwicklungsprozess (K3) 

15 Minuten 

Begriffe  
Rückverfolgbarkeit,  Testablaufspezifikation,  Testausführungsplan,  Testentwurf,  Testfallspezifikation,  
Testskript 
 

Hintergrund 
Der Testentwicklungsprozess, der in diesem Kapitel beschrieben wird, kann auf  verschiedene Weise 
durchgeführt werden, von sehr informell – mit wenig oder keiner Dokumentation – bis sehr formal (wie 
in diesem Abschnitt weiter unten beschrieben). Der Grad der Formalisierung  hängt  vom Kontext des 
Testens  ab,  einschließlich  der  Reife  des  Testprozesses  und  des  Entwicklungsprozesses,  zeitlicher 
Beschränkungen, Sicherheits- oder regulatorischer Anforderungen und der einbezogenen Personen. 
 
Während der Testanalyse werden die dem  Test  zugrunde liegenden Dokumente analysiert, um fest-
zustellen, was getestet werden muss,  d.h. die  Testbedingungen festzulegen. Eine Testbedingung ist 
definiert als eine Einheit oder ein Ereignis, z.B. eine Funktion, eine Transaktion, ein Qualitätsmerkmal 
oder ein strukturelles Element, das durch einen oder mehrere Testfälle verifiziert werden kann. 
 
Indem  Testbedingungen  auf  Spezifikationen  und  Anforderungen  zurückgeführt  werden,  erlauben  sie 
sowohl  eine  effektive  Auswirkungsanalyse  (impact  analysis)  bei  geänderten  Anforderungen  als  auch 
die  Bestimmung  einer  Anforderungsüberdeckung,  bezogen  auf  eine  bestimmte  Menge  von  Tests. 
Während der Testanalyse wird eine  detaillierte Testvorgehensweise  –  neben anderen Gesichtspunk-
ten – auf Grundlage  von den festgestellten Risiken angewendet, um benötigte Testentwurfsverfahren 
auszuwählen (siehe Kapitel 5 zum Thema Risikoanalyse).  
 
Während des Testentwurfs werden die Testfälle und Testdaten definiert und dokumentiert. Ein Testfall 
besteht aus einer Menge  von  Eingabewerten, den für die  Ausführung  notwendigen Vorbedingungen, 
der Menge der  vorausgesagten  Ergebnisse  und den erwarteten  Nachbedingungen, definiert mit dem 
Ziel,  ein  oder  mehrere  Testziele  oder  Testbedingungen  abzudecken.  Der  IEEE  Standard  829-1998 
(‘Standard  for  Software  Test  Documentation’)  beschreibt  die  Inhalte  von  Testentwurfsspezifikationen 
(inkl. Testbedingungen) und Testfallspezifikationen. 

Erwartete Ergebnisse sollten im  Rahmen der Spezifikation eines Testfalls ermittelt werden,  und Aus-
gaben, Änderungen  von  Daten  und Zuständen sowie alle anderen  Folgen des  Tests enthalten. Falls 
die  erwarteten  Ergebnisse  nicht  definiert  wurden,  könnte  ein  plausibles,  aber  fehlerhaftes  Ergebnis 
fälschlicherweise  als  richtig  angesehen  werden.  Erwartete  Ergebnisse  sollten  idealerweise  vor  der 
Testdurchführung festgelegt werden. 
 
Während  der  Testimplementierung  werden  die  Testfälle  entwickelt,  implementiert,  priorisiert  und  in 
einer  Testablaufspezifikation  (Drehbuch  oder  Testskript)  zusammengefasst  (IEEE  STD  829-1998). 
Das Testdrehbuch legt die Reihenfolge der Aktionen für die Ausführung eines Tests fest. Wenn Tests 
unter  Verwendung  eines  Testausführungswerkzeugs  durchgeführt  werden,  ist  die  Reihenfolge  der 
Aktionen in einem Testskript festgelegt (in einem automatisierten Testszenario). 
 
Die  verschiedenen  manuellen  und  automatisierten  Testskripte  werden  anschließend  in  einem  Test-
ausführungsplan zusammengestellt, der die Reihenfolge festlegt, in der die verschiedenen Testszena-
rios  (und  gegebenenfalls  die  automatisierten  Testskripte)  ausgeführt  werden.  Der  Testausführungs-
plan berücksichtigt Faktoren wie Regressionstests, Priorisierung und logische Abhängigkeiten.