Skip to content

Commit

Permalink
fix some problems in week 10
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelluethi committed Nov 6, 2023
1 parent 3bf260f commit b0ae482
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 7 deletions.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Einen Überblick über die einzelnen Projektschritte finden Sie auf der [Projekt
|[Woche 8](./week8) | UML | Prototyping / Design |
|[Woche 9](./week9) | Verifikation / Grundlagen des Testens | Design / Testplan erstellen |
| | Testen im Grossen | |
| [Woche 10](underconstruction) | Testen im Kleinen | Implementation / Testen |
| [Woche 10](./week10) | Testen im Kleinen | Implementation / Testen |
| [Woche 11](underconstruction) | Softwareprozesse | Implementation / Testen |
| | Agile Softwareentwicklung | |
| [Woche 12](underconstruction)| Scrum | Implementation / Testen|
Expand Down
2 changes: 1 addition & 1 deletion docs/week10/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Wir lernen auch konkrete Methoden kennen, mit denen wir Testfälle finden könne
* Schritt 1: Lesen Sie den Artikel "Theoretische Grundlagen des Testens" ([Artikel](./testing-foundations))
* Schritt 2: Schauen Sie das Video zum Thema White box testing ([Video](https://unibas.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=f8358f9a-b865-498f-a8ca-b07b00e32ce3), [Slides](./slides/Testen-im-kleinen.pdf))
* Schritt 3: Lesen Sie den Artikel zum Thema Black box testing ([Artikel](./testing-in-the-small-bb))
* Schritt 4: Bearbeiten Sie den Test. ([(Adam)](https://adam.unibas.ch/goto_adam_tst_1629487.html)).
* Schritt 4: Bearbeiten Sie den Test. ([(Adam)](https://adam.unibas.ch/goto_adam_tst_1646911.html)).

#### Präsenzveranstaltung vom 22. November

Expand Down
6 changes: 1 addition & 5 deletions docs/week10/testing-foundations.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,11 @@ Stattdessen versuchen wir unsere ideale Testmenge zu approximieren, indem wir Te
und $$x=2,y=3$$ diejenige Klasse, für die die erste Bedingung $$\texttt{false}$$ ist. Jeder weitere Testfall würde hier nicht mehr helfen weitere Fehler zu entdecken.

Das allgemeinere Konzept, das hier zugrunde liegt ist das Definieren von Äquivalenzklassen von Tests. Im oberen Beispiel haben wir die Äquivalenzklassen gemäss der Struktur vom Code definiert (also welcher Teil der if Bedinung erfüllt war).
Wir werden nächste Woche sehen, dass es ganz verschiedene Arten gibt, die Äquivalenzklassen zu formulieren. Auf abstrakter Ebene, können wir aber bereits unser Ziel formulieren. Wir möchten
Auf abstrakter Ebene, können wir aber bereits unser Ziel formulieren. Wir möchten
unsere Testfälle in Äquivalenzklassen $$D_1, D_2, \ldots, D_n$$ einteilen, so dass
* Elemente von $D_i$ dasselbe Verhalten haben
* wir eine möglichst *vollständige Testabdeckung* erreichen, also $$\cup_i D_i = D$$
* die Testfälle möglichst spezifisch für eine Gruppe sind, also $D_i \cap D_j = \emptyset$. Falls $D_i \cap D_j \neq \emptyset$, sollte der Testfall in der Schnittmenge der Klassen liegen, also sowohl die Kriterien von Äquivalenzklasse $$D_i$$ also auch der Klasse $$D_j$$ testen.

Dieser Sachverhalt wird in untenstehender Abbildung illustriert.

<img src="../../slides/images/equivalenceclasses.png" style="width:30%" class="plain"/>


0 comments on commit b0ae482

Please sign in to comment.