Takeaways from TestCon Europe, 2019

Deepika Tiwari
4 min readNov 4, 2019

--

In October, I attended this year’s edition of TestCon Europe in Vilnius, Lithuania.

Most of the attendees and speakers had been working in the industry for several years now, so all the questions they asked, and solutions they came up with were concrete and practical. Many speakers shared stories on how AI is not “stealing our jobs”, how software testing can be automated but shouldn’t always be, how test-driven development can actually save you time, how agile can be adopted even if it seems like your colleagues are anything but, and how the architecture of a product can be scaled up for an organization that is growing.

Since I was only on the second month of my new job as a research engineer at KTH, I tried to hold on to each word they said for dear life. And sure enough, they introduced me to some really cool new tools that I’m learning more about.

During the two-day conference, I attended talks (thirteen, to be precise) on topics such as test-driven development, testing for the web, testing for performance and security vulnerabilities, AI, and automation. Given that these are pretty much the most novel ideas in the testing ecosystem, I would say they covered a lot of ground.
Talks were held in parallel so I missed out on a lot more of them which seemed interesting. Luckily, videos and presentation material for all of the conference is now available online.

In this post, I discuss three talks I found most enjoyable.

Chaos: Breaking your Systems to Make them Unbreakable
- Jason Yee, DataDog, USA

Jason gave a short demonstration of a 90-minute high-risk-high-gain chaos exercise called Game Day that they schedule, plan, and play at DataDog HQ. The game has 6 levels (0-indexed!), where each level intends to incrementally cripple a running application. That sounds dangerous, crazy even, but it’s always advisable to discover a critical bug before it discovers you in the middle of the night.

Level 0: Terminate the service, block access to one dependency
Level 1: Block access to all dependencies
Level 2: Terminate the host
Level 3: Degrade the environment, monitor and alert
Level 4: Spike traffic
Level 5: Terminate region/cloud

Pretty intense and fun. Also rather relevant to a project I’ve been working on at KTH where we’re studying how a running containerized application would react to injected exceptions.

Keywords:
chaos, resilience, APM, Kubernetes, AWS, systemctl, iptables, stress-ng,
Gremlin

Candy Crush QA AI Saga
- Alexander Andelkovic, King, Sweden

Most of us, at some point in our lives, have given in to an intensive Candy Crush session. For me at least, it’s always been a mystery how they manage to have such a seemingly endless queue of levels. It’s all fun and games until someone has to manually test them though. So the folks over at King did the next best thing: hired students to do the job for them. And thus, BAIT — Bot for AI Testing — was born.

Simply put, BAIT takes screenshots of the game, identifies clickable buttons from it, clicks on them, takes a screenshot of the new screen, and repeats the process. Alexander took us over some of the algorithms that allow BAIT to do its job. BAIT has been successful not just at its primary task, but also in finding graphic and text rendering errors, and issues with audio, and even latency and performance.

I thoroughly enjoyed this talk. The idea behind BAIT is simple, yet it has been amazingly helpful across multiple teams at King.

Keywords:
Exploratory testing, automation,
pHash, Euclidean distance, Google Vision API, TFIDF, Open CV

Testing Software Architecture
- Vladik Khononov, Invesus Group, Israel

Back home, I’d been working on a script which, I had originally thought, was pretty straightforward. A little feature here, a little fix there, and before I know it, it’s showing signs of monstrosity. I knew I was treading dangerous waters, and this talk hit the nail on the head.

Vladik argued how we should never EVER take architecture for granted, because the thing about software is that it tends to scale, and things can come crashing down if the foundations are not well laid out. He talked about how static analysis tools can help us keep a check on coupling, and local and global complexities of our components. Tools to control codebase evolution are friends, not foes, and can really help in the long run.

First order of business, tidy up.

Keywords:
big ball of mud, NDepend, Domain Driven Design, design heuristics

I got acquainted with many interesting people and ideas at TestCon, and had an overall good time. Whether you’re just starting out, or whether you’re a testing boss, there’s something for everyone!

--

--

No responses yet