diff --git a/index.html.pm b/index.html.pm
index d32b780..3c2ff14 100644
--- a/index.html.pm
+++ b/index.html.pm
@@ -73,9 +73,52 @@
}
◊meetups{
+ ◊meetup[#:title "28.01.26"]{
+ ◊par{
+ The next meetup will take place on the 28.01.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
+ }
+ ◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
+ ◊orga{18:45 Doors open & Welcome}
+ ◊p[#:class ""]{◊span[#:class "font-medium"]{Introduction to Property-Based Testing} (Stefan)}
+ ◊abstract{
+ ◊p[#:class "my-2"]{
+ How can we test our software, find bugs and make sure that it works as intended -- without time-consumingly hand-crafting example-based tests, which are still likely to miss important cases?
+ }
+ ◊p[#:class "my-2"]{
+ Originating from Haskell's QuickCheck and the world of functional programming, *property-based testing* is one interesting approach to this problem:
+ }
+ ◊p[#:class "my-2"]{
+ instead of writing individual tests, inputs are automatically generated and the implementation is verified by checking expected relationships between inputs and outputs (*properties*).
+ }
+ ◊p[#:class "my-2"]{
+ This introduction will cover the basics:
+ }
+ ◊p[#:class "my-2"]{
+ Starting from testing purely functional code, we'll discuss strategies for expressing properties without actually knowing the correct solution beforehand and without having to duplicate implementation logic.
+ }
+ ◊p[#:class "my-2"]{
+ This will be most useful during development.
+ }
+ ◊p[#:class "my-2"]{
+ From there on, we'll also take a look into model-based/stateful property tests, which can be used when you are not in full control of the system-under-test, e.g. for testing non-functional stateful code/interfaces and already-existing real-world systems.
+ }
+ ◊p[#:class "my-2"]{
+ Afterwards I'd like to hear from *YOU*:
+ ◊ul[#:class "list-inside list-disc"]{
+ ◊li{When did you use property testing?}
+ ◊li{What was a surprising or interesting property that helped you specify system behavior?}
+ ◊li{Can you share further strategies for expressing properties?}
+ }
+ }
+ }
+ ◊orga{Food, talking, coding, whatever}
+ ◊orga{22.00 End}
+ }
+ }
+
◊meetup[#:title "03.12.25"]{
◊par{
- The next meetup will take place on the 29.10.25 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
+ This meetup took place on the 29.10.25 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
}
◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
◊orga{18:45 Doors open & Welcome}
@@ -124,7 +167,7 @@ Neat tricks welcome :)
◊meetup[#:title "29.10.25"]{
◊par{
- The this meetup took place on the 29.10.25 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
+ This meetup took place on the 29.10.25 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
}
◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
◊orga{18:45 Doors open & Welcome}