diff --git a/docs/index.md b/docs/index.md index 3da195f..4dbb687 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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| diff --git a/docs/week10/index.md b/docs/week10/index.md index 7be853a..c1d957f 100644 --- a/docs/week10/index.md +++ b/docs/week10/index.md @@ -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 diff --git a/docs/week10/testing-foundations.md b/docs/week10/testing-foundations.md index c9bcd61..89db353 100644 --- a/docs/week10/testing-foundations.md +++ b/docs/week10/testing-foundations.md @@ -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. - - -