Softwarequalitätssicherung:Zusammenfassung

Aus II-Wiki
Version vom 10. Juli 2013, 17:39 Uhr von Pegro (Diskussion | Beiträge) (Petronios verschob Seite Softwarequalitätssicherung:Zusammenfassung nach Softwarequalitätssicherung:Zusammenfassung, ohne dabei eine Weiterleitung anzulegen: Schei? Encoding)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

1.

Produkt-Qualitätsmodell

Prozess-Qualitätsmodelle

Softwarequalität und Produktivität

Produktivitätsfaktoren

Total Quality Management TQM

Qualitätssicherung

Bewertung von Prozessen

Capability Maturity Model CMMI

SPICE Assessment

Cleanroom-Qualitätsverbesserung

Zertifizierung

Fehler – Arten, Analyse, Prognose

Konstruktive Maßnahmen zur QS

  • Präventive Maßnahmen zur Fehlervermeidung; damit Fehler erst garnicht entstehen.

Projektmanagement PM

Konfigurationsmanagement KM

Spezielle Probleme in der Wartung

Vorgehensmodelle

Technische Maßnahmen zur QS

Psychologische Maßnahmen

Analytische Maßnahmen zur QS

  • Postventive Maßnahmen (Fehlerfindung); es must erst ein Fehler gemacht werden damit Maßnahmen greifen.

Statische Maßnahmen

Review

Formale Prüftechniken

  1. Formaler Korrektheitsbeweis:
  1. Symbolische Programmausführung:

Dynamische Maßnahmen

Testen von Software

Der Testprozess

Funktionsorientierter Test

Methode der Funktionsabdeckung

Äquivalenzklassenmethode

  1. Zu jeder Funktion werden Äquivalenzklassen gebildet:
    • Für jedes möglichen Ergebnisse der Funktion wird eine Äquivanzklasse gebilden. Alle Elemente (Eingaben) die das äquivalente Ergebins leifern gehören zu dieser Klasse.
    • Jeder Eingabe wurd genau eine Äquivalenzklasse zugeordnet. Eingaben die einen bestimmte Fehler veruhrsachen gehören zu genau dieser Fehlerklasse (ungültige)
    • Gültige und ungültige Aquivalnzklassen decken den gesammten Eingaberaum ab.
  2. Testfallgenerierung:

Grenzwertanalyse

Ursache-Wirkungsgraph-Methode

Zustandsbasierter Test

9.

Kontrollflussorientierte Testverfahren

Zusammenfassung

Kurzname erfüllte Bediungung
Anweisungsüberdeckungstest

C0-Test

  • jeder Knoten im KFG wird mindestens einmal ausgeführt
Zweigüberdeckungstest

C1-Test

  • jede Kante im KFG wird mindestens einmal durchlaufen
Bedingungsüberdeckungstest
Minimale Bedingungsabdeckung

C2-Test

  • jede atomare Bedingung wird einmal mit true und false getestet
Bedingungs-Entscheidungsabdeckung

Starker C2-Test

  • jede atomare Bedingung wird einmal mit true und false getestet
  • und zeigen, das jede atomare Bedingung für sich selbst die Gesamtentscheidung beeinflussen kann
Mehrfache Bedingungsabdeckung

C3-Test

  • jede true/false Kombination der atomaren Bedingungen wird getestet
minimalen Mehrfach-Bedingungstest

Schwacher C3-Test

  • jede atomare Bedingung und die Gesamtbedingung wird mit true und false getestet
Pfadüberdeckungstest

C4-Test

  • Alle möglichen Pfade werden durchlaufen
Boundary-Interiour

Sonderform des C4-Tests

  • wie C4, Schleifen werden jedoch nach speziellen Regeln durchlaufen
Bei uns In der Wikipedia

C0-Test
Anweisungsüberdeckungstest
statement-coverage

C1-Test
Zweigüberdeckungstest
branch coverage

C2-Test
Minimale Bedingungsabdeckung
simple condition coverage

(Abweichende C-Bezeichnungen in der Wikipedia möglich:)

Starker C2-Test
Bedingungs-Entscheidungsabdeckung
modified condition/decision coverage

(Keine Entsprechung in der Wikipedia gefunden)

C3-Test
Mehrfache Bedingungsabdeckung
multiple condition coverage

(Abweichende C-Bezeichnungen in der Wikipedia möglich:)

Schwacher C3-Test
minimalen Mehrfach-Bedingungstest
minimal multiple condition coverage

(Abweichende C-Bezeichnungen in der Wikipedia möglich:)

C4-Test
Pfadüberdeckungstest
path-coverage

(Abweichende C-Bezeichnungen in der Wikipedia möglich:)

Boundary Interior Test
Sonderform des C4

(Abweichende C-Bezeichnungen in der Wikipedia möglich:)

Beispiel zum Starken C2-Test

Eine Beispiel

A ^ B v C ^ D

D 0 0 1 1
A B\C 0 1 1 0
0 0 0 0 1 0
0 1 0 0 1 0
1 1 1 1 1 1
1 0 0 0 1 0

Übergänge von A,B,C und D bei denen sich das Ergebnis ändert:

+---+---+---------------+
|   | D | 0   0   1   1 |
+---+---+---------------+
| A |B\C| 0   1   1   0 |
+---+---+---------------+
|   |   |               |
| 0 | 0 | 0   0---1---0 |
|   |   |               |
| 0 | 1 | 0   0---1---0 | 
|   |   | |   |       | |
| 1 | 1 | 1   1   1   1 | 
|   |   | |   |       | |
| 1 | 0 | 0   0---1---0 |
|   |   |               |
+---+---+---------------+

Mögliche Testfallwahl:

+---+---+---------------+
|   | D | 0   0   1   1 |
+---+---+---------------+
| A |B\C| 0   1   1   0 |
+---+---+---------------+
|   |   |               |
| 0 | 0 | 0   0   1   0 |
|   |   |               |
| 0 | 1 | 0   0---1---0 | 
|   |   |     |         |
| 1 | 1 | 1   1   1   1 | 
|   |   |     |         |
| 1 | 0 | 0   0   1   0 |
|   |   |               |
+---+---+---------------+

Liste der Testfälle:

A B C D A^BvC^D
1 0 1 0 0
1 1 1 0 1
0 1 1 0 0
0 1 1 1 1
0 1 0 1 0

Datenflussorientiertes Testen