TestCon 2024-10-23
Dr. Florian Rappl
Florian Rappl
Solution Architect
Distributed Web Applications
Workshops and Reviews
https://smapiot.com
Platforms
Modularity
Performance
Debugging
Security
API Design
linkedin.com/in/florian-rappl/
CLI Utilities
Run in a terminal
Require stdin / stdout to work
Potentially require network access
Might read / write from disk
Access to other system resources
linkedin.com/in/florian-rappl/
Demo
linkedin.com/in/florian-rappl/
Challenges
Input / Output
Console Interaction
Serving Content
Server Interaction
Fragmentation
X-platform Coverage
Performance
Fast Test Exectution
linkedin.com/in/florian-rappl/
Using Temp Directories
Test Suite
Test 1 Test 2 Test 3
Temp
Dir 1
Temp
Dir 3
Temp
Dir 2
linkedin.com/in/florian-rappl/
Adding a FS Cache
Test Suite
Test 1 Test 2 Test 3
Temp
Dir 1
Temp
Dir 3
Temp
Dir 2
Template
Dir
linkedin.com/in/florian-rappl/
Serving Content
Test Suite
Test
Case
Svc 1
Res.
Mmgt
Svc 2
Port
Allocator
linkedin.com/in/florian-rappl/
Basic Setup
Jest
Test Runner
Playwright
Verify (Some) Results
TypeScript
High-Quality Codebase
Azure Pipelines
X-platform Testing
linkedin.com/in/florian-rappl/
Basic Setup
CI/CD
System
Run Tests
Publish
Results
linkedin.com/in/florian-rappl/
Import run
test wrapper
Parameters from
env. variables
Context ensures
conflict-free run
linkedin.com/in/florian-rappl/
Always async
and in context
Always relative
to temp. directory
linkedin.com/in/florian-rappl/
Demo
linkedin.com/in/florian-rappl/
CI Considerations
Matrix testing
Scheduled runs
Automatic notifications
Dynamic dependencies
linkedin.com/in/florian-rappl/
Useful matrix
entry names
Just variables
define them
linkedin.com/in/florian-rappl/
Results
linkedin.com/in/florian-rappl/
Results
Time to investigate
linkedin.com/in/florian-rappl/
Results
linkedin.com/in/florian-rappl/
Demo
linkedin.com/in/florian-rappl/
linkedin.com/in/florian-rappl/
Conclusion
Abstract wisely
Control everything you can control
Performance and reproducibility is key
Take care of OS specific needs
linkedin.com/in/florian-rappl/
smapiot
smapiot.com
github.com/smapiot
Florian Rappl
florian.rappl@smapiot.com
@FlorianRappl
Piral
piral.io
docs.piral.io
Get access to the most advanced
micro frontend discovery service

TestCon 2024 - Testing CLI Utilities (Vilnius)