Christie Wilson/Michael Tom-Wing - System Testing with pytest and docker-py
System tests are an invaluable tool for verifying correctness of large
scale online services. This talk will discuss best practices and
tooling (pytest and docker-py) for writing maintainable system tests.
Demonware has used System tests to verify online services for some of
the biggest AAA video game launches as well as internal operational
tools.
Many folks who write software are familiar with unit testing, but far
fewer with system testing.
-----
System testing a microservice architecture is challenging. As we move
away from monolithic architectures, system testing becomes more
important but also more complicated.
In the video game industry, if a game doesn’t work properly
immediately after launch, it will heavily impact game success. We have
found system testing to be an important tool for pre launch testing of
game services and operational tools, to guarantee quality of these
services at launch.
We want to share with you best practices for system testing: when to
write system tests, what to test and what not to, and common pitfalls
to avoid. Using python’s pytest tool and docker-py for setting up
services and their dependencies has made it easier than ever to write
complex but maintainable system tests and we’ll share with you how
we’ve made use of them.
Developers (senior and junior) and ops folks can walk away from this
talk with practical tips they can use to apply system testing to their
software. |