Skip to content

Commit f010b1c

Browse files
committed
added reference to ArchUnit
Signed-off-by: Konstantin Läufer <laufer@cs.luc.edu>
1 parent eee4ca4 commit f010b1c

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

source/30-testing.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ Dynamic Nonfunctional Requirements
3535
- Assessing aspects like performance, scalability, reliability, and more.
3636
- Involves performance testing, stress testing, load testing, reliability testing, and more.
3737

38+
Static Nonfunctional Requirements
39+
40+
- Although primarily addressed through static analysis, some aspects can be indirectly tested, e.g., security testing and usability.
41+
- Architectural conformance can also be partially verified through testing; `this example <https://github.com/lucproglangcourse/stopwatch-java/blob/main/src/test/java/edu/luc/etl/cs313/android/simplestopwatch/architecture/PackageDependencyTest.java>`_ based on `ArchUnit <https://www.archunit.org/>`_ illustrates this approach.
42+
3843

3944
Significance
4045
^^^^^^^^^^^^
@@ -183,7 +188,7 @@ Here, we express the relationship between arguments and expected results as a un
183188
184189
\forall \texttt{s} \in \text{String} : \texttt{isPalindrome(s)} \Leftrightarrow (\texttt{s} = \texttt{s.reverse})
185190
186-
Using a suitable propert-based testing library, such as `jqwik <https://jqwik.net>`_, we can express this property as executable code.
191+
Using a suitable property-based testing library, such as `jqwik <https://jqwik.net>`_, we can express this property as executable code.
187192
Typically, such a library automatically generates a large number of argument values and then evaluates the property for each argument as a separate test.
188193

189194
.. code-block:: java

0 commit comments

Comments
 (0)