<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Testing on Nicole van der Hoeven</title><link>https://nicolevanderhoeven.com/tags/testing/</link><description>Recent content in Testing on Nicole van der Hoeven</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Nicole van der Hoeven</copyright><lastBuildDate>Thu, 08 Oct 2026 14:00:00 +0200</lastBuildDate><atom:link href="https://nicolevanderhoeven.com/tags/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>Asimov</title><link>https://nicolevanderhoeven.com/projects/asimov/</link><pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate><guid>https://nicolevanderhoeven.com/projects/asimov/</guid><description>&lt;p&gt;&lt;strong&gt;Asimov&lt;/strong&gt; is the companion project to my talk &lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics&lt;/em&gt;. It&amp;rsquo;s an AI app built to be observed and tested: &lt;strong&gt;The Silent Enterprise&lt;/strong&gt;, a single-player Star Trek text adventure. You play Data, and Claude is the game master. Every model call, dice roll, and turn shows up as telemetry in a Grafana that you can run on your own machine or in Grafana Cloud, and a k6 test suite, some of it judged by Claude, checks whether the AI follows the rules.&lt;/p&gt;
&lt;p&gt;The game master has some known flaws, kept on purpose. It sometimes narrates a rescue that didn&amp;rsquo;t happen, or &amp;ldquo;destroys&amp;rdquo; a drone that&amp;rsquo;s still standing. The point of the demo is catching those flaws with telemetry, tests, and online evaluators.&lt;/p&gt;
&lt;h2 id="the-idea"&gt;The idea&lt;/h2&gt;
&lt;p&gt;Isaac Asimov&amp;rsquo;s three Laws of Robotics govern how robots behave. The talk argues for a law that comes before all of them: a robot must be observable, and, in its newest version, testable. AI systems fail differently from traditional software. There&amp;rsquo;s no single correct output to assert against, a response can be fluent and completely wrong, and models drift. You can&amp;rsquo;t test what you can&amp;rsquo;t see, and you can&amp;rsquo;t trust what you can&amp;rsquo;t test.&lt;/p&gt;
&lt;h2 id="whats-in-it"&gt;What&amp;rsquo;s in it&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The game.&lt;/strong&gt; A Go program with a command-line interface and an HTTP API. The game engine owns the rules and the state. Claude interprets the player&amp;rsquo;s input, makes the game master&amp;rsquo;s own rolls through a tool, and narrates, so a narration that contradicts the saved state is a defect that can be caught.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Telemetry.&lt;/strong&gt; Traces, metrics, and logs go over OpenTelemetry to a local Grafana stack (Tempo, Prometheus, and Loki, with the game&amp;rsquo;s dashboard already loaded) or to Grafana Cloud. Generations can also go to Grafana Cloud&amp;rsquo;s Agent Observability, where online evaluators judge a sample of them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tests.&lt;/strong&gt; A k6 suite with code checks, LLM judges, dice-trajectory evals, and whole playthroughs. All of it can run for free against a mock game master and judge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No account needed to start.&lt;/strong&gt; You can play offline with no API key, and see the local monitoring stack with one command and Docker.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The screenshot above is the game&amp;rsquo;s local Grafana dashboard.&lt;/p&gt;
&lt;h2 id="the-talks"&gt;The talks&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve given the talk, in several versions, at KubeCon Europe 2025, Dutch Cloud Native Day 2025, Newcrafts 2025, ExpoQA Madrid 2026, and HUSTEF 2026. The write-ups are linked below. The earlier talks used a Python and Flask version of the app, which has since been rewritten in Go.&lt;/p&gt;
&lt;h2 id="try-it"&gt;Try it&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://github.com/nicolevanderhoeven/asimov"&gt;repository&lt;/a&gt; has a quick start for playing offline, a Docker-only path, and release binaries for Windows, macOS, and Linux.&lt;/p&gt;</description></item><item><title>Roundtable: How We Really Use AI in Testing (HUSTEF 2026)</title><link>https://nicolevanderhoeven.com/blog/20261008-ai-testing-roundtable-hustef/</link><pubDate>Thu, 08 Oct 2026 14:00:00 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20261008-ai-testing-roundtable-hustef/</guid><description>&lt;p&gt;On the final day of &lt;a href="https://hustef.com/"&gt;HUSTEF 2026&lt;/a&gt; in Budapest, I joined the conference&amp;rsquo;s roundtable on AI in testing — &lt;em&gt;&amp;ldquo;AI Open Space Experiences: a roundtable with speakers on their experiences with AI testing.&amp;rdquo;&lt;/em&gt; It was five of us on stage: me plus &lt;strong&gt;Marta Firlej&lt;/strong&gt;, &lt;strong&gt;Kristoffer Nordström&lt;/strong&gt;, &lt;strong&gt;Callum Akehurst-Ryan&lt;/strong&gt;, and &lt;strong&gt;Maryia Tuleika&lt;/strong&gt;, with Marta moderating.&lt;/p&gt;
&lt;p&gt;The format was refreshingly honest — &amp;ldquo;how we &lt;em&gt;really&lt;/em&gt; use AI, with no bullshit.&amp;rdquo; Marta had run the same &amp;ldquo;AI open space&amp;rdquo; exercise with the Polish testing community, crowdsourcing the actual, un-hyped ways people use AI (information gathering, functionality discovery, generating tests and code, TDD, recruitment, presentation prep, even designing furniture and planning holidays), and then opened it up to the panel and the room. Here&amp;rsquo;s roughly how I answered her questions:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What do you use AI for?&lt;/strong&gt; Mostly two things at work: analysing codebases and test code to understand what something actually does, and filling gaps on teams without a dedicated quality engineer — baking my testing knowledge into an AI the team can ask questions of. On the personal side, I&amp;rsquo;ve run some weird experiments: I&amp;rsquo;m a lifelong note-taker with decades of context (journals, therapy notes, eight years of WhatsApp history with my partner), so I&amp;rsquo;ve fed it all into a &lt;em&gt;local, open-weight&lt;/em&gt; model and asked things like &lt;em&gt;&amp;ldquo;what do I claim to believe, and where have I acted contrary to that — cite your evidence?&amp;rdquo;&lt;/em&gt; It&amp;rsquo;s a surprisingly honest mirror. I&amp;rsquo;m in a privileged spot with effectively unlimited AI access right now, and I know it won&amp;rsquo;t last, so I want to find out what&amp;rsquo;s safe and what isn&amp;rsquo;t while I can.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do you stay up to date?&lt;/strong&gt; Honestly, I don&amp;rsquo;t — not by chasing model releases or news. I keep up with how &lt;em&gt;other people&lt;/em&gt;, especially in testing, are using AI, and I lean on my coworkers (we&amp;rsquo;re at the forefront of this at work, so stepping outside that bubble is a useful reality check). I do have a scheduled Claude Code task that scrapes my ~34 AI-related Slack channels into a daily digest of just the things I care about.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One piece of advice?&lt;/strong&gt; Don&amp;rsquo;t trust AI too much, and don&amp;rsquo;t believe you&amp;rsquo;re as far behind as you think. Almost no one has really tried this stuff; it&amp;rsquo;s genuinely early, everyone&amp;rsquo;s learning, and your foundational testing skills transfer. Just pick it up, play, and if it&amp;rsquo;s not for you, move on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anything you&amp;rsquo;d never use AI for?&lt;/strong&gt; Communicating with people as a &lt;em&gt;proxy&lt;/em&gt;. I&amp;rsquo;ll use it to translate or to help me sound more fluent (I live across multiple languages — Portugal, Dutch, English), but I never want it to craft a whole message I didn&amp;rsquo;t think of. I don&amp;rsquo;t want to lose the discipline of actually talking to a human.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ethical dilemmas?&lt;/strong&gt; Yes — which is exactly why I keep my use mostly in the context of work, and try not to generate imagery or anything that&amp;rsquo;s obviously lifting from artists who deserve to be paid for it. There&amp;rsquo;s no hard line; it&amp;rsquo;s a sliding scale, and I have to keep questioning myself. (A Mastodon line stuck with me: &lt;em&gt;the strange future where the humans do the menial tasks and the robots write poetry and paint.&lt;/em&gt; I try not to let AI stop me from making art.)&lt;/p&gt;
&lt;p&gt;The best part of these panels is always the disagreement and the texture — five people who use AI daily and still land in very different places on trust, ethics, and what it&amp;rsquo;s actually &lt;em&gt;for&lt;/em&gt;. Thanks to Marta for moderating and to Kristoffer, Callum, and Maryia for a genuinely good conversation.&lt;/p&gt;
&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hustef.com/"&gt;HUSTEF 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My HUSTEF keynote: &lt;a href="https://nicolevanderhoeven.com/blog/20261007-asimovs-zeroth-law-testing-for-ai-hustef/"&gt;&lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics: Testing for AI&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Asimov's Zeroth Law of Robotics: Testing for AI (HUSTEF 2026)</title><link>https://nicolevanderhoeven.com/blog/20261007-asimovs-zeroth-law-testing-for-ai-hustef/</link><pubDate>Wed, 07 Oct 2026 10:00:00 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20261007-asimovs-zeroth-law-testing-for-ai-hustef/</guid><description>&lt;p&gt;This week I gave a keynote at &lt;a href="https://hustef.com/nicole_van_der_hoeven_2026/"&gt;HUSTEF 2026&lt;/a&gt; in Budapest, Hungary. The talk is called &lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics: Testing for AI&lt;/em&gt; — a testing-focused evolution of a talk I&amp;rsquo;ve been giving (and rewriting) for a while, previously as &lt;em&gt;Observability for AI&lt;/em&gt; at &lt;a href="https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/"&gt;KubeCon EU 2025&lt;/a&gt; in London, &lt;a href="https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/"&gt;Dutch Cloud Native Day 2025&lt;/a&gt; in Utrecht, &lt;a href="https://nicolevanderhoeven.com/blog/20251106-asimovs-zeroth-law-newcrafts/"&gt;NewCrafts&lt;/a&gt; in Paris, and &lt;a href="https://nicolevanderhoeven.com/blog/20260526-asimovs-zeroth-law-expoqa-madrid/"&gt;ExpoQA Madrid 2026&lt;/a&gt;. Here&amp;rsquo;s the abstract:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A robot may not harm humans. A robot must obey humans. A robot must protect its own existence. These are Isaac Asimov&amp;rsquo;s three Laws of Robotics, created to govern the ethical programming of artificial intelligences. From the Butlerian Jihad to Skynet to cylons, we&amp;rsquo;ve been immortalizing our collective nightmares about artificial intelligence for years. But there&amp;rsquo;s an unmentioned law that comes as a prerequisite to all of that: &lt;strong&gt;a robot must be testable.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI systems fail differently than traditional software. There&amp;rsquo;s no single correct output to assert against. A response can be fluent and completely wrong. Models drift silently over time. And yet we&amp;rsquo;re shipping AI into production — often without knowing what &amp;ldquo;passing&amp;rdquo; even looks like.&lt;/p&gt;
&lt;p&gt;Observability is what makes testing possible. When we can see inside our AI systems — trace the chain of reasoning, measure what changed, surface what failed — we can start to write evaluations, define what &amp;ldquo;good&amp;rdquo; looks like, and catch regressions we didn&amp;rsquo;t know to look for.&lt;/p&gt;
&lt;p&gt;In this talk, I explore what it means to test AI in the real world, drawing on lessons from building and evaluating an AI assistant for a large-scale observability platform. I&amp;rsquo;ll cover how evaluations work as the AI equivalent of a test suite, what to measure, how to catch hallucinations, and how to know when your model has regressed.&lt;/p&gt;
&lt;p&gt;You cannot test what you cannot see — and you cannot trust what you cannot test.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/20261007-hustef-01.jpg" alt="Wide shot of me presenting the keynote at HUSTEF 2026, with the title slide reading “The Zeroth Law of Robotics: A robot must be testable” on the big screen above a full audience." loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;The big shift in this version is right there in the Zeroth Law itself. In earlier iterations I argued that &lt;em&gt;a robot must be observable&lt;/em&gt;. That&amp;rsquo;s still true — observability is the only way to see the reasoning behind a system and find out what actually happened. But I&amp;rsquo;ve come to think that pure knowledge isn&amp;rsquo;t the same as trust. You can know exactly what a system did and still not trust it. The only way to trust something is to put it through its paces: to know how it behaves in the situations you foresee, and even the ones you don&amp;rsquo;t. So the Zeroth Law has become &lt;strong&gt;a robot must be &lt;em&gt;testable&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I framed the whole thing around Asimov&amp;rsquo;s short story &lt;em&gt;Runaround&lt;/em&gt; (from &lt;em&gt;I, Robot&lt;/em&gt;) and its robot, Speedy. Speedy&amp;rsquo;s smuggler owners sent him to collect selenium on Mercury, and he got stuck in a loop — circling the selenium pool, unable to resolve the conflict between obedience (the second law) and self-preservation (the third). His owners couldn&amp;rsquo;t predict his behaviour and couldn&amp;rsquo;t reason about it, so they had to do the only thing left: go out into the danger zone and fix him in production. Speedy wasn&amp;rsquo;t untestable because his owners were incompetent or lacked the tools — he was untestable because he was never &lt;em&gt;built&lt;/em&gt; to be tested. That&amp;rsquo;s the trap I think a lot of AI systems are walking into right now.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/20261007-hustef-02.jpg" alt="Me looking up at a slide of an armoured robot running across the surface of Mars while I present." loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;The through-line for a testing audience: AI is rewriting &lt;em&gt;how&lt;/em&gt; software gets built, but it doesn&amp;rsquo;t rewrite the discipline of trust. Trust that a system does what we say it does, and that when it breaks we know why and can fix it — that&amp;rsquo;s always been the job, and it isn&amp;rsquo;t going anywhere. There&amp;rsquo;s a whole generation of AI engineers shipping software they haven&amp;rsquo;t tested and can&amp;rsquo;t explain, and when someone says &amp;ldquo;the agent does this,&amp;rdquo; our job is still to ask &lt;em&gt;how do you know?&lt;/em&gt; Testing isn&amp;rsquo;t just going to survive the age of AI — testing is the reason AI gets to survive, if we make it testable.&lt;/p&gt;
&lt;p&gt;I demoed this with my TTRPG side project: an AI Dungeon Master, instrumented and put under test. It turns out that writing evals for something non-deterministic forces you to confront your real requirements. I thought I knew exactly when a dungeon master should call for a dice roll — I GM myself! — but trying to put it into words (&amp;ldquo;in &lt;em&gt;this&lt;/em&gt; situation I&amp;rsquo;d roll, but in &lt;em&gt;that&lt;/em&gt; one I wouldn&amp;rsquo;t, because I want to keep the story moving&amp;rdquo;) surfaced decisions I&amp;rsquo;d never had to make explicit. Those are things we&amp;rsquo;d normally discover much later, in production. Having to figure them out up front is a win.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/20261007-hustef-03.jpg" alt="Me grinning during the talk, holding a microphone and presenter clicker." loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;The Q&amp;amp;A was genuinely great and ranged well beyond the slides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;When has an AI been tested &lt;em&gt;enough&lt;/em&gt;?&amp;rdquo;&lt;/strong&gt; Same answer as for anything else — it&amp;rsquo;s a mix of risk and budget. If it were a life-critical robot like Speedy, you test every scenario the people relying on it need. For my little demo app, less so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testers vs. developers in the age of AI.&lt;/strong&gt; I said I&amp;rsquo;d fire developers before testers — provocatively, but the point stands: anyone can write code now. What made a good developer good was never the coding; it was communicating with business &lt;em&gt;and&lt;/em&gt; engineers, translating requirements, finding creative-but-safe solutions. Testers already think at that level and translate across teams, which makes them &lt;em&gt;more&lt;/em&gt; important in the age of AI, not less.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Defining expected results for non-deterministic systems&lt;/strong&gt;, multi-turn evals (I give the simulated user a &lt;em&gt;personality&lt;/em&gt; — adversarial, cooperative, beginner — rather than a script), and the broader shift from imperative to declarative: we no longer instruct step by step, we declare the end state we want, the way we do with Kubernetes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convincing colleagues not to fear AI.&lt;/strong&gt; I don&amp;rsquo;t, really. AI is here to stay; the question isn&amp;rsquo;t whether you approve of it, it&amp;rsquo;s whether you want to stay in this industry and help make it safe and trustworthy — or sit on the sidelines.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also recommended the book &lt;a href="https://link.amazon/B0e4SIur8"&gt;&lt;em&gt;Slow AI&lt;/em&gt;&lt;/a&gt;, which lands where I do: not an AI apologist, not a boycott, but a clear-eyed list of what AI is and isn&amp;rsquo;t good for — and the reminder to keep checking whether a given use of AI is making you &lt;em&gt;more&lt;/em&gt; capable or less.&lt;/p&gt;
&lt;p&gt;The demo app (the instrumented AI DM) lives on &lt;a href="https://nicole.to/asimov"&gt;GitHub&lt;/a&gt;, and I keep refining it with each iteration of this talk.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll update this post with the recording once HUSTEF publishes it.&lt;/p&gt;
&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nicole.to/hustef"&gt;Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nicole.to/asimov"&gt;Demo app on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://link.amazon/B0e4SIur8"&gt;&lt;em&gt;Slow AI&lt;/em&gt; (book)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Previous versions of this talk: &lt;a href="https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/"&gt;KubeCon EU 2025&lt;/a&gt; · &lt;a href="https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/"&gt;Dutch Cloud Native Day 2025&lt;/a&gt; · &lt;a href="https://nicolevanderhoeven.com/blog/20251106-asimovs-zeroth-law-newcrafts/"&gt;NewCrafts 2025&lt;/a&gt; · &lt;a href="https://nicolevanderhoeven.com/blog/20260526-asimovs-zeroth-law-expoqa-madrid/"&gt;ExpoQA Madrid 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Investigations Arena: how we test Assistant investigations</title><link>https://nicolevanderhoeven.com/blog/20260730-investigations-arena/</link><pubDate>Thu, 30 Jul 2026 09:00:00 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20260730-investigations-arena/</guid><description>&lt;p&gt;How do you test an AI agent whose whole job is to investigate incidents — when every investigation is different and &amp;ldquo;correct&amp;rdquo; isn&amp;rsquo;t a single deterministic answer? In this interview I sit down with &lt;strong&gt;Will&lt;/strong&gt;, a software engineer at Grafana who&amp;rsquo;s spent the last year focused on AI: the Grafana Assistant, investigations, and memory features.&lt;/p&gt;
&lt;p&gt;The story here is how the team got from Investigations V1 to a much better V2. V1 hit a ceiling, and the demo environment they&amp;rsquo;d been testing against turned out to be the problem — the cases were too easy and too far from the messy reality of a production cluster. So they built an &lt;strong&gt;arena&lt;/strong&gt;: think competitive bot programming, but the &amp;ldquo;game&amp;rdquo; is investigating real incidents in Grafana&amp;rsquo;s own production environment. Different AI agents, each with its own strategy and tools, all take a swing at the same incident, and an LLM-as-judge scores their answers against a human-verified root cause.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s interesting is that the &lt;em&gt;score&lt;/em&gt; wasn&amp;rsquo;t even the most valuable output at first — the &lt;strong&gt;insights&lt;/strong&gt; were. Watching which strategies worked, which tools returned so much noise that they poisoned the context, and which agents wandered off is what let the team optimize bit by bit into the V2 release. The arena also compares more than models: different harnesses running Sonnet vs. Opus, Claude Code with the Grafana MCP, even just hitting the public API directly with &lt;code&gt;curl&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A couple of my favorite moments: Will explains the &lt;strong&gt;guardrails&lt;/strong&gt; that stop agents from &amp;ldquo;cheating&amp;rdquo; (they can only look at data from within the incident&amp;rsquo;s time window, so they can&amp;rsquo;t peek at the fix commit that resolved it) — and how the models mostly play fair because they treat it like a game. And there&amp;rsquo;s a lovely example of emergent creativity: an agent reached for tools the team hadn&amp;rsquo;t even considered, they turned out to be genuinely useful for investigation, and those tools got promoted into the real harness. Will&amp;rsquo;s hope for the future is to open this up — an OliBench-style shared benchmark where the community can throw their own investigation agents into the arena and raise quality across the board.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/YPfqchw8LCo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="transcript"&gt;Transcript&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Will:&lt;/strong&gt;
Hey, my name is Will. I&amp;rsquo;m a software engineer at Grafana. I&amp;rsquo;ve been there for three years, and for the last year I&amp;rsquo;ve been focusing on AI — the Grafana Assistant, investigations, and memory features.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nicole:&lt;/strong&gt;
And what&amp;rsquo;s the latest thing you&amp;rsquo;ve been working on?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will:&lt;/strong&gt;
So we developed Investigations V1, and we saw that we hit a ceiling at some point. We came up with a different approach, but this time we needed a good evaluation environment — the demo environment wasn&amp;rsquo;t enough, because those cases were too easy and too far from the reality of a production environment. So we decided to build an arena.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a little bit like the idea of competitive bot programming, where bots fight against each other on specific tasks or games. In this case, the topic was investigations in our production cluster — real incidents. We started building bots that had different strategies and different tools; these were AI agents. Comparing a diversity of strategies let us surface the best approaches, and from there we could iterate, bring in more test cases from more incidents, and reach higher and higher quality.&lt;/p&gt;
&lt;p&gt;The idea is that the bots try to solve the same case, and we use an LLM as a judge to compare the different approaches. We have different criteria, because for each incident we have a root cause that&amp;rsquo;s been verified by a human. That gives us our ground truth, and the LLM-as-judge compares that ground truth against the answers the agents came up with.&lt;/p&gt;
&lt;p&gt;The important part at first wasn&amp;rsquo;t even the score — it was the insights. This tool was better with this strategy; this one had noise in the results that poisoned the context; the results returned from this specific tool were just too much. So we managed to really optimize bit by bit and come up with Investigations V2, which we just released. It&amp;rsquo;s a massive improvement compared to our V1 approach.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nicole:&lt;/strong&gt;
So is it comparing just different models for investigations, or is it also comparing things like Claude Code and the Grafana MCP versus Assistant?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will:&lt;/strong&gt;
Both, actually. We have different versions of our harness for investigations that we run with Sonnet and with Opus, but we also use the Claude Code harness with the Grafana MCP — and even just using &lt;code&gt;curl&lt;/code&gt; to directly hit our public API.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nicole:&lt;/strong&gt;
Do the models ever cheat?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will:&lt;/strong&gt;
So far it&amp;rsquo;s been quite good. We have guardrails. Because we investigate past incidents, we need to make sure the LLM only looks at a specific time window — only from when the incident started — otherwise it would be able to find the pull request that was used to solve the incident. But they&amp;rsquo;re pretty good at following the rules; they take it as a game a little bit. We even have an agent that checks afterward, with the judge, to make sure they followed every rule.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s funny, actually — we had a case using Claude Code where it started to use some tools we hadn&amp;rsquo;t thought about in the first place, and they turned out to be very useful for investigation. We&amp;rsquo;d never considered them, so we brought them into our investigation harness and it helped a lot. Giving the agents freedom and creativity in this kind of environment is really useful. That diversity sponsors new ideas that we can put into our own work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nicole:&lt;/strong&gt;
Cool. Do you have any plans to publish this and share it so that other people can do it too — kind of like OliBench?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will:&lt;/strong&gt;
Yeah, I think, why not? I think we can go this way too. I&amp;rsquo;m sure it would be useful for other agents. And it would be very nice if we could compare agents from other people and other companies — maybe with different harnesses, maybe even different tools — because right now it&amp;rsquo;s mostly about our MCP, our CLI, and our investigation harness. But if the community comes up with their own investigation agents — and I think I&amp;rsquo;ve seen a few — it would be fun to put them in the arena and help not just our product, but any product improve in quality.&lt;/p&gt;
&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;My notes on &lt;a href="https://notes.nicolevanderhoeven.com/Grafana+Assistant"&gt;Grafana Assistant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Asimov's Zeroth Law of Robotics: Observability for AI (ExpoQA Madrid 2026)</title><link>https://nicolevanderhoeven.com/blog/20260526-asimovs-zeroth-law-expoqa-madrid/</link><pubDate>Tue, 26 May 2026 10:00:00 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20260526-asimovs-zeroth-law-expoqa-madrid/</guid><description>&lt;p&gt;This week I gave the opening keynote at &lt;a href="https://expoqa.eu/events/cd1-t1-kn2/"&gt;ExpoQA Madrid 2026&lt;/a&gt; in Madrid, Spain. I presented a talk called &lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics: Observability for AI&lt;/em&gt;, which I had previously given at &lt;a href="https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/"&gt;KubeCon EU 2025&lt;/a&gt; in London, at &lt;a href="https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/"&gt;Dutch Cloud Native Day 2025&lt;/a&gt; in Utrecht, and at &lt;a href="https://nicolevanderhoeven.com/blog/20251106-asimovs-zeroth-law-newcrafts/"&gt;Newcrafts&lt;/a&gt; in Paris. Here&amp;rsquo;s the abstract:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A robot may not harm humans. A robot must obey humans. A robot must protect its own existence. These are Isaac Asimov&amp;rsquo;s three Laws of Robotics, created to govern the ethical programming of artificial intelligences. From the Butlerian Jihad to Skynet to cylons, we&amp;rsquo;ve been immortalizing our collective nightmares about artificial intelligence for years. But there&amp;rsquo;s an unmentioned law that comes as a prerequisite to all of that: a robot must be observable.&lt;/p&gt;
&lt;p&gt;In this talk, I discuss the different types of AI, the factors that make observing AI different from observing applications, and the telemetry signals specific to AI that we might want to listen to. How do we deal with large data sets? How do we observe for model drift? How do we take into account the costs of LLMs? How can we use distributed tracing to follow event sequences? Part cautionary tale and part technical demo, this talk shows how to instrument and monitor AI apps using OpenTelemetry, Prometheus, OpenLit, and more.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was a keynote slot at a testing-focused audience, which gave me the chance to lean more into the &lt;em&gt;evals vs. observability&lt;/em&gt; framing — what evals can and can&amp;rsquo;t tell you about an AI system in production, and how distributed tracing fills the gap that benchmarks leave behind. The demo app (a Flask-based &amp;ldquo;play.py&amp;rdquo; instrumented with OpenTelemetry, flowing into Tempo for traces, Prometheus for metrics, and Loki for logs) is still on &lt;a href="https://nicole.to/asimov"&gt;GitHub&lt;/a&gt;, and I&amp;rsquo;ve been refining it with each iteration.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the recording of the talk:&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/06Uus-llIBg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nicole.to/asimov"&gt;Demo app on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Asimov's Zeroth Law of Robotics: Observability for AI (Newcrafts 2025)</title><link>https://nicolevanderhoeven.com/blog/20251106-asimovs-zeroth-law-newcrafts/</link><pubDate>Thu, 06 Nov 2025 12:23:19 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20251106-asimovs-zeroth-law-newcrafts/</guid><description>&lt;p&gt;Today I presented at &lt;a href="https://ncrafts.io/"&gt;Newcrafts&lt;/a&gt; in Paris, France. I gave a talk I&amp;rsquo;ve given before, called &lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics: Observability for AI&lt;/em&gt;, which I had previously presented at &lt;a href="https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/"&gt;KubeCon EU&lt;/a&gt; in London and at &lt;a href="https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/"&gt;Dutch Cloud Native Day 2025&lt;/a&gt; in Utrecht. I was happy to present it again, as it gave me the chance to further refine my demo application, which you can find on &lt;a href="https://nicole.to/asimov"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The main change I made was to use the &amp;ldquo;AI as judge&amp;rdquo; approach that I had previously only talked about in theory. In this version of the demo app, I use AI in both the game as well as in the testing of the game, showing how AI can be integrated into both the application and its observability/testing stack. It was really interesting to note that testing with AI ended up exposing more defects than my hardcoded test cases did, which goes to show the potential of AI-driven testing.&lt;/p&gt;</description></item><item><title>Asimov's Zeroth Law of Robotics (Dutch Cloud Native Day 2025)</title><link>https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/</link><pubDate>Thu, 03 Jul 2025 15:01:24 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20250703-asimovs-zeroth-law-dutch-cloud-native-day/</guid><description>&lt;p&gt;Today I presented at the &lt;a href="https://www.dutchcloudnativeday.nl"&gt;Dutch Cloud Native Day 2025&lt;/a&gt; in Utrecht, the Netherlands. I gave a talk titled &lt;em&gt;Asimov&amp;rsquo;s Zeroth Law of Robotics: Observability for AI&lt;/em&gt;, which I had previously presented at &lt;a href="https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/"&gt;KubeCon EU&lt;/a&gt; earlier on in the year, in London. I was very happy to be able to present it again, because it gave me the opportunity to improve the demo app I used, which you can find on &lt;a href="https://nicole.to/asimov"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/2025-07-03-dcnd_01.jpg" alt="Me speaking at Dutch Cloud Native Day 2025" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/2025-07-03-dcnd_02.jpg" alt="Me speaking at Dutch Cloud Native Day 2025" loading="lazy" decoding="async"&gt;
&lt;/p&gt;</description></item><item><title>Asimov's Zeroth Law of Robotics: Observability for AI (KubeCon EU 2025)</title><link>https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/</link><pubDate>Wed, 02 Apr 2025 13:46:42 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20250402-asimovs-zeroth-law-of-robotics/</guid><description>&lt;p&gt;Today I gave a talk at &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/"&gt;KubeCon EU 2025 in London&lt;/a&gt; called &amp;ldquo;Asmiov&amp;rsquo;s Zeroth Law of Robotics: Observability for AI&amp;rdquo;. Here&amp;rsquo;s the abstract:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A robot may not harm humans. A robot must obey humans. A robot must protect its own existence. These are Isaac Asimov&amp;rsquo;s three Laws of Robotics, created to govern the ethical programming of artificial intelligences. From the Butlerian Jihad to Skynet to cylons, we&amp;rsquo;ve been immortalizing our collective nightmares about artificial intelligence for years. But there&amp;rsquo;s an unmentioned law that comes as a prerequisite to all of that: a robot must be observable.&lt;/p&gt;
&lt;p&gt;In this talk, I discuss the different types of AI, the factors that make observing AI different from observing applications, and the telemetry signals specific to AI that we might want to listen to. How do we deal with large data sets? How do we observe for model drift? How do we take into account the costs of LLMs? How can we use distributed tracing to follow event sequences? Part cautionary tale and part technical demo, this talk shows how to instrument and monitor AI apps using OpenTelemetry, Prometheus, OpenLit, and more.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/x6EKTCAWtn8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Cartography of the Deep: Distributed Tracing for Testing (Romanian Testing Conference)</title><link>https://nicolevanderhoeven.com/blog/20240613-cartography-of-the-deep/</link><pubDate>Thu, 13 Jun 2024 12:24:02 -0700</pubDate><guid>https://nicolevanderhoeven.com/blog/20240613-cartography-of-the-deep/</guid><description>&lt;p&gt;I presented a talk today at the Romanian Testing Conference 2024 in Cluj-Napoca, Romania! My talk was called &amp;ldquo;Cartography of the Deep: Distributed Tracing for Testing&amp;rdquo; and it covered how to tie in distributed tracing into tests to get a better understanding of your system under test.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://nicole.to/rtc2024"&gt;Here are my slides&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/rtc2024-02.jpg" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/rtc2024-01.jpg" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;h2 id="abstract"&gt;Abstract&lt;/h2&gt;
&lt;p&gt;From the Scandinavian Kraken that drags entire ships to their early graves to the Philippine Bakunawa said to rise from the waters to swallow the moon, our existential fears about what lurks at the bottom of our own oceans has inspired us to create hundreds of folkloric monsters across cultures. We&amp;rsquo;ve charted the surface of our planet, but the vast majority of the ocean floor remains a mystery.&lt;/p&gt;
&lt;p&gt;The mysterious depths of modern software architectures makes it difficult for us to test a system for performance and reliability. The easy solution? Unmanned underwater probes: send inputs to the system, and judge its state based on the outputs that return. But this method is often too limited to tell us what&amp;rsquo;s really going on when something goes wrong. What if there were a way to make our tests themselves more observable?&lt;/p&gt;
&lt;p&gt;In this talk, you will learn how to use open-source tools to instrument performance tests, identify bottlenecks at the code level using distributed tracing, and map out a system using a type of software bathymetry. You&amp;rsquo;ll also learn about the Mariana Trench expeditions, the difficulties of operating in a high-pressure underwater environment, and how to come face to face with monsters of our mythologies.&lt;/p&gt;</description></item><item><title>Mental Health as a Superpower with Karen Todd (Adobo &amp; Avocados #28)</title><link>https://nicolevanderhoeven.com/blog/20240125-ana28-mental-health-as-a-superpower-with-karen-todd/</link><pubDate>Thu, 25 Jan 2024 15:12:44 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20240125-ana28-mental-health-as-a-superpower-with-karen-todd/</guid><description>&lt;p&gt;My friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I interviewed &lt;a href="https://www.youtube.com/c/KarenTestsStuff"&gt;Karen Todd&lt;/a&gt; about neurodivergence and neurodiversity, and how her ADHD can be a positive thing in her career as a tester.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/X0dQY-gxPYg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Why People Leave Software Testing, with Maria Kedemo (Adobo &amp; Avocados #27)</title><link>https://nicolevanderhoeven.com/blog/20240118-ana27-why-people-leave-software-testing/</link><pubDate>Thu, 18 Jan 2024 11:54:46 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20240118-ana27-why-people-leave-software-testing/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, &lt;a href="https://mkedemo.wordpress.com/"&gt;Maria Kedemo&lt;/a&gt; talks to my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and me about why she left software testing&amp;ndash; and why she came back.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/s-tv51fMRXo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>The Power of Community, with Tara Walton (Adobo &amp; Avocados #26)</title><link>https://nicolevanderhoeven.com/blog/20240110-ana26-the-power-of-community-with-tara-walton/</link><pubDate>Wed, 10 Jan 2024 13:48:34 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20240110-ana26-the-power-of-community-with-tara-walton/</guid><description>&lt;p&gt;What does a community builder do? In this episode of Adobo and Avocados, Tara Walton talk to my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and me about what community is, its benefits, and ways to misuse it.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/TciFUzx69xY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Learning about Glue Work and Quiet Quitting (Adobo &amp; Avocados #25)</title><link>https://nicolevanderhoeven.com/blog/20231220-ana25-learning-about-glue-work-and-quiet-quitting/</link><pubDate>Wed, 20 Dec 2023 19:36:04 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231220-ana25-learning-about-glue-work-and-quiet-quitting/</guid><description>&lt;p&gt;What is glue work, and how is it linked to quiet quitting and quality engineering? In this episode of Adobo and Avocados, Vernon Richards talks to &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and me about what glue work is, the dangers of quiet quitting, its implications with quality engineering, and what we can do about it.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/0Wqf-NZQNkY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>DevOps Culture from a Tester's Perspective (Adobo &amp; Avocados #24)</title><link>https://nicolevanderhoeven.com/blog/20231215-ana24-devops-culture-from-testers-perspective/</link><pubDate>Fri, 15 Dec 2023 17:50:03 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231215-ana24-devops-culture-from-testers-perspective/</guid><description>&lt;p&gt;We&amp;rsquo;ve all heard of DevOps, but what is DevOps from a tester&amp;rsquo;s perspective? How can we embrace this culture? In this episode of Adobo and Avocados, the one and only Lisa Crispin talks to my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and me about DevOps culture from a testing mindset, what holistic testing is really about, and her journey to being one of the well-respected voices in the testing community.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/vCjXPEV4ib4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Performance Testing With Nicole van der Hoeven (Quality Bits Podcast)</title><link>https://nicolevanderhoeven.com/blog/20231128-quality-bits-performance-testing-with-nicole-van-der-hoeven/</link><pubDate>Tue, 28 Nov 2023 14:01:35 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231128-quality-bits-performance-testing-with-nicole-van-der-hoeven/</guid><description>&lt;p&gt;My friend Lina Zubyte invited me to her podcast Quality Bits to talk about performance testing. We talked about what performance testing is, why it is important, how to get started, and how to get better at it. We also talked about the foundation of any type of testing: empathy.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://qualitybits.buzzsprout.com/2037134/13909242-performance-testing-with-nicole-van-der-hoeven"&gt;Check out the episode here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Navigating through Unemployment with Renata Andrade (Adobo &amp; Avocados #22)</title><link>https://nicolevanderhoeven.com/blog/20231128-ana22-navigating-through-unemployment/</link><pubDate>Tue, 28 Nov 2023 13:16:15 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231128-ana22-navigating-through-unemployment/</guid><description>&lt;p&gt;With the rise of redundancies in the tech industry, how do you navigate through unemployment calmly? In this episode of Adobo and Avocados, Renata Andrade, a Quality Engineer Lead, talks to &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and me about her experience navigating unemployment and the steps she followed to bounce back.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/0UlUBkAETCU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Minimalism in Software Testing with Lina Zubyte (Adobo &amp; Avocados #21)</title><link>https://nicolevanderhoeven.com/blog/20231115-ana21-minimalism-in-software-testing/</link><pubDate>Wed, 15 Nov 2023 13:13:52 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231115-ana21-minimalism-in-software-testing/</guid><description>&lt;p&gt;How can we apply minimalism in software testing? Lina Zubyte, an Independent Quality Consultant, talks to &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I about what really matters in testing, why empathy is at the root of the testing attitude, and how we can incorporate principles from minimalism to improve quality.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/VQQFFVXg-Do?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Learning about experience design with Jenna Charlton (Adobo &amp; Avocados #20)</title><link>https://nicolevanderhoeven.com/blog/20231108-ana20-learning-about-experience-design/</link><pubDate>Wed, 08 Nov 2023 13:01:12 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231108-ana20-learning-about-experience-design/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I chat with fellow Developer Advocate Jenna Charlton, where they talk about their career journey, what can we learn from experience design, and the impact of different job titles to testers.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/aooYirC-meo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Becoming an accessibility advocate with Erin Crise (Adobo &amp; Avocados #19)</title><link>https://nicolevanderhoeven.com/blog/20231101-ana19-becoming-an-accessibility-advocate-with-erin-crise/</link><pubDate>Wed, 01 Nov 2023 12:22:40 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231101-ana19-becoming-an-accessibility-advocate-with-erin-crise/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I speak with Erin Crise about her tech career journey, what led to her accessibility advocacy, and why empathy drives innovation.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ZCr_z9ii4Io?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>(TL) Ano ang relasyon ng testing at observabilidad?</title><link>https://nicolevanderhoeven.com/blog/20231101-relasyon-ng-testing-at-observabilidad/</link><pubDate>Wed, 01 Nov 2023 12:19:46 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20231101-relasyon-ng-testing-at-observabilidad/</guid><description>&lt;p&gt;Ano ang relasyon ng testing sa observabilidad? Sa video na ito, pinag-uusapan namin ng kaibigan kong si &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; kung ano ang testing, ano ang observabilidad, at bakit dapat nating gamitin pero para pabutihin ang ating mga aplikasyon.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/rC9trgeMYyk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Emergent Load Testing - TestCon Europe 2023</title><link>https://nicolevanderhoeven.com/blog/20231025-emergent-load-testing-testconeu/</link><pubDate>Wed, 25 Oct 2023 20:05:36 +0300</pubDate><guid>https://nicolevanderhoeven.com/blog/20231025-emergent-load-testing-testconeu/</guid><description>&lt;p&gt;I presented at &lt;a href="https://testcon.lt/"&gt;TestCon Europe 2023&lt;/a&gt; in Vilnius, Lithuania about emergent load testing, and how to use it to find the limits of your system. My talk was called &lt;a href="https://events.pinetool.ai/3078/#sessions/100686?referrer%5Bpathname%5D=%2Fsessions&amp;amp;referrer%5Bsearch%5D=&amp;amp;referrer%5Btitle%5D=Sessions"&gt;Emergent load testing: Rules for Organized Chaos&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can find the slides &lt;a href="https://slides.nicolevanderhoeven.com/2023-emergent-load-testing-testconeu/"&gt;here&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/JUJ_0079.jpg" alt="Me speaking at TestCon Europe 2023" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/JUJ_0102.jpg" alt="Portrait snapshot of me presenting at TestCon Europe 2023" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/JUJ_0193.jpg" alt="Wide shot of me talking about agency, feedback, and affordances" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/JUJ_0208.jpg" alt="Me at the podium at TestCon Europe 2023" loading="lazy" decoding="async"&gt;
&lt;/p&gt;</description></item><item><title>Inspiring others and fuelling your passion with Jonah Andersson (Adobo &amp; Avocados #18)</title><link>https://nicolevanderhoeven.com/blog/20231023-ana18-inspiring-others-and-fuelling-your-passion/</link><pubDate>Tue, 24 Oct 2023 20:00:53 +0300</pubDate><guid>https://nicolevanderhoeven.com/blog/20231023-ana18-inspiring-others-and-fuelling-your-passion/</guid><description>&lt;p&gt;In this episode of Adobo &amp;amp; Avocados, my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I chat with Jonah Andersson, a Software Developer, Cloud &amp;amp; DevOps Engineer, and the founder of Azure User Group Sweden. We spoke about her career journey and how she is fuelling her passion and inspiring others.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/bO67fbpFRJM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Having a coaching mindset with Kulas Angeles (Adobo &amp; Avocados #17)</title><link>https://nicolevanderhoeven.com/blog/20231018-ana17-having-a-coaching-mindset/</link><pubDate>Wed, 18 Oct 2023 12:27:16 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20231018-ana17-having-a-coaching-mindset/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I chat with &lt;a href="https://kulasangeles.com/"&gt;Kulas Angeles&lt;/a&gt;, a DevOps coach and Quality Engineering leader, about his career journey and how he transitioned from engineering to coaching mindset.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/K9jQ7HEo5bw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Investing in yourself with Nicola Lindgren (Adobo &amp; Avocados #16)</title><link>https://nicolevanderhoeven.com/blog/20231011-ana16-investing-in-yourself/</link><pubDate>Wed, 11 Oct 2023 11:52:37 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20231011-ana16-investing-in-yourself/</guid><description>&lt;p&gt;My friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I talked with &lt;a href="https://nicolalindgren.com/"&gt;Nicola Lindgren&lt;/a&gt; about different ways we&amp;rsquo;ve all invested in ourselves and our career&amp;ndash; and how you can do the same.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/x9g1k7SvFjg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>The Role of AI in Gender Equality with Nicola Martin (Adobo &amp; Avocados #15)</title><link>https://nicolevanderhoeven.com/blog/20231004-ana15-the-role-of-ai-in-gender-equality/</link><pubDate>Wed, 04 Oct 2023 17:26:14 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20231004-ana15-the-role-of-ai-in-gender-equality/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I chat with &lt;a href="https://linktr.ee/nlmit"&gt;Nicola Martin&lt;/a&gt;, Head of Quality Engineering at Adarga, to talk about the role of AI, technology, and education in gender equality.&lt;/p&gt;
&lt;p&gt;Nicola is a Council and Committee Member for the British Computer Society and WomenTech Global Network. She is also a mentor, speaker, and panelist speaking on subjects such as AI and quality, software testing, and diversity in tech.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/yoErbu09AGw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>The benefits and dangers of public speaking (Adobo &amp; Avocados #14)</title><link>https://nicolevanderhoeven.com/blog/20230919-ana14-benefits-and-dangers-of-public-speaking/</link><pubDate>Tue, 19 Sep 2023 21:40:43 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20230919-ana14-benefits-and-dangers-of-public-speaking/</guid><description>&lt;p&gt;In this episode of Adobo and Avocados, my friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I chat with &lt;a href="https://maaretp.com/"&gt;Maaret Pyhäjärvi&lt;/a&gt;, a Development Manager and Testing Specialist who has shared countless resources about exploratory testing. We talk about her journey to tech, the benefits and dangers of public speaking, and her approach to testing.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/P4LKvoFxfm0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Navigating parenthood with Laveena Ramchandani (A&amp;A #11)</title><link>https://nicolevanderhoeven.com/blog/20230807-ana11-navigating-parenthood-with-laveena-ramchandani/</link><pubDate>Mon, 07 Aug 2023 21:30:33 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20230807-ana11-navigating-parenthood-with-laveena-ramchandani/</guid><description>&lt;p&gt;My friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I speak to &lt;a href="https://laveenaramchandani01.medium.com/"&gt;Laveena Ramchandani&lt;/a&gt;, a Digital and Data Science Test Manager at easyJet and also a Digital Star finalist, speaker, blogger, and coach. Laveena talks about her career journey and her journey to parenthood.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/YiGfyQU6IZo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Why monoculture is problematic for quality with Callum Akehurst-Ryan (Adobo &amp; Avocados #9)</title><link>https://nicolevanderhoeven.com/blog/20230719-ana09-why-a-monoculture-in-tech-is-a-bad-thing/</link><pubDate>Wed, 19 Jul 2023 21:16:32 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20230719-ana09-why-a-monoculture-in-tech-is-a-bad-thing/</guid><description>&lt;p&gt;My friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I speak to Callum-Akehurst Ryan about his experience as an LGBTQIA+ software tester, the importance of diversity and inclusion, and how it can improve testing and quality.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Xdpyf4XNdTs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Marie Cruz and Callum Akehurst-Ryan&amp;rsquo;s joint presentation on &lt;a href="https://www.youtube.com/watch?v=XQn0WdHbVtg"&gt;Testing in Story Shaping&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Quality Engineering, DevOps, and work-life balance (Adobo &amp; Avocados #07)</title><link>https://nicolevanderhoeven.com/blog/20230706-ana07-quality-engineering-with-katja-obring/</link><pubDate>Thu, 06 Jul 2023 21:55:46 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20230706-ana07-quality-engineering-with-katja-obring/</guid><description>&lt;p&gt;Developer Advocates Marie Cruz and I talk to Katja Obring, an experienced Quality Engineering Coach, about her experience in tech and moving to freelance for better work-life balance. We also talk about her book, &amp;ldquo;Testing in DevOps: A Guide to Optimised Testing for Speedy and High Quality Delivery,&amp;rdquo; and how Testing fits in the overall DevOps landscape, the importance of automated testing, and the cultural changes crucial to DevOps.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/bjrZst8Flm0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Why Representation Matters (Adobo &amp; Avocados #06)</title><link>https://nicolevanderhoeven.com/blog/20230701-ana06-why-representation-matters/</link><pubDate>Sat, 01 Jul 2023 15:08:51 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20230701-ana06-why-representation-matters/</guid><description>&lt;p&gt;My friend Marie Cruz and I talk to Parveen Khan about her experience in tech and the importance of diversity and inclusion. Parveen is a Senior QA Consultant at Thoughtworks, a quality advocate, and an international speaker.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/sdaK-iv_bHE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Do Appearances Matter in Tech (Adobo &amp; Avocados #05)</title><link>https://nicolevanderhoeven.com/blog/20230623-ana05-do-appearances-matter-in-tech/</link><pubDate>Fri, 23 Jun 2023 15:03:33 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20230623-ana05-do-appearances-matter-in-tech/</guid><description>&lt;p&gt;My fellow Developer Advocate Marie Cruz and I talk to Imma Valls, a community support engineer who works with us at Grafana Labs, about image biases that people might have, whether that’s piercings, tattoos, or hair dye!&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/B4jg_UiO7_g?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>10 tips for starting (or progressing) a career in tech (Adobo &amp; Avocados #04)</title><link>https://nicolevanderhoeven.com/blog/20230607-ana04-10-tips-for-starting-a-career-in-tech/</link><pubDate>Wed, 07 Jun 2023 08:00:25 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20230607-ana04-10-tips-for-starting-a-career-in-tech/</guid><description>&lt;p&gt;&lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I did another Adobo &amp;amp; Avocados livestream, this time about 10 tips (five from each of us) about starting a career in tech.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/LVVR_56jdU0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Intersectionality in Tech (Adobo &amp; Avocados #03)</title><link>https://nicolevanderhoeven.com/blog/20230510-ana03-intersectionality-in-tech/</link><pubDate>Wed, 10 May 2023 21:35:00 +0800</pubDate><guid>https://nicolevanderhoeven.com/blog/20230510-ana03-intersectionality-in-tech/</guid><description>&lt;p&gt;&lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I talk about what intersectionality is and how intersecting identities can affect how we relate to the world and our experiences.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/IxHvtWBFCoY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Getting started in testing (Adobo &amp; Avocados #02)</title><link>https://nicolevanderhoeven.com/blog/20230503-ana02-getting-started-in-testing/</link><pubDate>Wed, 03 May 2023 21:22:18 +0800</pubDate><guid>https://nicolevanderhoeven.com/blog/20230503-ana02-getting-started-in-testing/</guid><description>&lt;p&gt;&lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I interviewed &lt;a href="https://azevedorafaela.com/"&gt;Rafaela Azevedo&lt;/a&gt; about her experiences in getting started in testing, what it&amp;rsquo;s like to be a woman in tech, cultural differences between Brazil and the UK, and how she became a founder of a new Blockchain startup.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/MwBKEGkMbP0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>How we got into tech (Adobo &amp; Avocados #01)</title><link>https://nicolevanderhoeven.com/blog/20230329-ana01-how-we-got-into-tech/</link><pubDate>Wed, 29 Mar 2023 14:54:43 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20230329-ana01-how-we-got-into-tech/</guid><description>&lt;p&gt;My friend &lt;a href="https://testingwithmarie.com"&gt;Marie Cruz&lt;/a&gt; and I have been wanting to talk about a few topics related to diversity in tech, and over the few years we&amp;rsquo;ve known each other, we&amp;rsquo;ve only added to that list. We finally decided to take a leap and start a new YouTube channel/video podcast just so we have a space to have those discussions. Here&amp;rsquo;s the first one, where we talk about how we got into tech.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/25Ba4Z694Gw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Below is a transcript of our conversation.&lt;/p&gt;
&lt;h2 id="why-adobo--avocados"&gt;Why &amp;ldquo;Adobo &amp;amp; Avocados&amp;rdquo;?&lt;/h2&gt;
&lt;p&gt;MARIE: All right, we&amp;rsquo;re live. So, hey everyone, my name is Marie Cruz and with me I have my colleague today.&lt;/p&gt;
&lt;p&gt;NICOLE: Hi, I&amp;rsquo;m Nicole van der Hoeven, I&amp;rsquo;m her colleague. And I&amp;rsquo;m a little sick, but I&amp;rsquo;m here.&lt;/p&gt;
&lt;p&gt;MARIE: So we, today we&amp;rsquo;re actually gonna be doing the first ever recording for the Adobo and Avocados podcast. So we thought about this name and initially like Nicole and I wanted to, you know, ever since before we wanted to launch a podcast where we can talk about, you know, our experiences working in tech and all other things. And then we thought about the name Adobo and Avocado. So you know, to anyone who doesn&amp;rsquo;t know, so we&amp;rsquo;re both from the Philippines, and Adobo is the national dish of the Philippines. So that&amp;rsquo;s why we thought we&amp;rsquo;ll add the name of Adobo in our podcast title. Avocados, &amp;lsquo;cause we&amp;rsquo;re both Developer Advocates. But yeah, I think, why don&amp;rsquo;t we discuss like, why was it called avocados in the first place? Do you have any idea?&lt;/p&gt;
&lt;p&gt;NICOLE: Yeah, well, we don&amp;rsquo;t really know for sure. So I thought that it was something to do with the language of it. Like, you know, an advocate is usually like a, could be like a lawyer in common non-tech senses. And the translation for that is abogado in Spanish or Tagalog actually,&lt;/p&gt;
&lt;p&gt;MARIE: Even in Tagalog.&lt;/p&gt;
&lt;p&gt;NICOLE: our native language.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: So it&amp;rsquo;s like kind of similar to avocado. I don&amp;rsquo;t know, that&amp;rsquo;s kind of what I thought.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah, that&amp;rsquo;s actually an interesting thought. Like, &amp;lsquo;cause the abogado does sound very, you know, similar to avocado, but I actually read this one article where I think their project manager had a hard time saying Developer Advocate, they ended up saying developer avocado. So who knows what the origin is. But yeah, I think it&amp;rsquo;s a great, you know, you know, term in terms of like, you know, the whole play, like playful, you know, meaning behind the word Developer Advocate.&lt;/p&gt;
&lt;h2 id="how-we-got-into-tech"&gt;How we got into tech&lt;/h2&gt;
&lt;p&gt;MARIE: So yeah, I guess first things first, like you know, who we are? Like, why are we doing this podcast? How, you know, we got into tech? So we&amp;rsquo;ll talk first about, I guess a bit of some introductions about ourselves. So Nicole, why don&amp;rsquo;t you start, like how did you get started? You know, what&amp;rsquo;s been your, I guess, background so far? Did you have a traditional, you know, computer science background or did you do like a different, I guess course back when you were still studying?&lt;/p&gt;
&lt;h3 id="nicoles-background"&gt;Nicole&amp;rsquo;s background&lt;/h3&gt;
&lt;p&gt;NICOLE: I did not have a traditional background. I grew up in the Philippines. I moved away when I was 18. And I don&amp;rsquo;t know what your experience was, Marie, but mine was that in the Philippines there are still, I think we do a pretty good job at being equal between genders, but I think there&amp;rsquo;s still gender roles. And when I was growing up, I really loved both the maths and sciences and like literature and languages, but I was very heavily pushed towards the humanities, &amp;lsquo;cause that&amp;rsquo;s what girls do. Girls don&amp;rsquo;t go into tech.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: And so I really struggled at uni and in college. I shifted majors six times. I had no idea what I wanted to do.&lt;/p&gt;
&lt;p&gt;MARIE: Wow.&lt;/p&gt;
&lt;p&gt;NICOLE: And I went through, and that was over two countries. I went to the US to study as well. None of them was computer science because my brother was a developer. And I don&amp;rsquo;t know, he&amp;rsquo;s a little too introverted for me. And I just had this idea that, if I go into computer science, I have to be a developer, and if I&amp;rsquo;m a developer, I won&amp;rsquo;t talk to anyone. I&amp;rsquo;m just going to be&lt;/p&gt;
&lt;p&gt;MARIE: Yes.&lt;/p&gt;
&lt;p&gt;NICOLE: with a machine. Like I had that in mind, which now I know is completely wrong,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: but that&amp;rsquo;s why I never went into it. So finally my parents were just like, we don&amp;rsquo;t care what you finish,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: we don&amp;rsquo;t care if it&amp;rsquo;s basket weaving, just pick a major and finish it.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And that was economics,&lt;/p&gt;
&lt;p&gt;MARIE: Oh.&lt;/p&gt;
&lt;p&gt;NICOLE: which I have never used in a job.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And then so-&lt;/p&gt;
&lt;p&gt;MARIE: That&amp;rsquo;s really interesting. Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And then I, how did I get into IT? I was applying for different economics related ones, and then I met my now husband and he,&lt;/p&gt;
&lt;p&gt;MARIE: Hi Rob.&lt;/p&gt;
&lt;p&gt;NICOLE: he was a test manager. Yeah, hi Rob! He was a test manager and I said, well what&amp;rsquo;s a test manager? And then he told me about the world of testing.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And I didn&amp;rsquo;t understand it at first, but I wanted to know more. And then I thought the way that he described it sounded so interesting, like the idea that,&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: that there is a job, there is a person whose job it is to be the one using applications or products first. And then trying to see what&amp;rsquo;s wrong with it for the purposes of improving it. I just, I really loved that idea and it was another branch of tech that I didn&amp;rsquo;t know existed.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: So I started to, I did an ISTQB certification just to like have something&lt;/p&gt;
&lt;p&gt;MARIE: No background.&lt;/p&gt;
&lt;p&gt;NICOLE: &amp;lsquo;cause I didn&amp;rsquo;t have any background. Yeah. And I started job hunting, and somehow managed to land a performance testing job under someone who became my mentor.&lt;/p&gt;
&lt;h3 id="maries-background"&gt;Marie&amp;rsquo;s background&lt;/h3&gt;
&lt;p&gt;MARIE: Hmm, nice. Yeah, it&amp;rsquo;s really relatable because like similar with myself, I fall into tech accidentally. Like it was never my intention, you know, okay, I&amp;rsquo;m gonna study computer science, although I did actually have a computer science degree.&lt;/p&gt;
&lt;p&gt;NICOLE: Oh, wow.&lt;/p&gt;
&lt;p&gt;MARIE: But the story, the story behind that, I don&amp;rsquo;t share it too much to other people &amp;lsquo;cause I think the story behind it is a bit funny. But my first experience with tech is actually updating my MySpace profile. Do you remember MySpace?&lt;/p&gt;
&lt;p&gt;NICOLE: Yes.&lt;/p&gt;
&lt;p&gt;MARIE: Yes so, before you can customize your profile with a bunch of HTML, CSS codes and like I think before I was just trying to, you know, create something even though it didn&amp;rsquo;t look very accessible. I remember I had lots of animations, just lots of like&lt;/p&gt;
&lt;p&gt;NICOLE: Oh.&lt;/p&gt;
&lt;p&gt;MARIE: striking fonts, background music, and it was just something that I was doing for fun. I did a mass communications course back home in the Philippines. So I was majoring in digital media. And then I had to go back here in the UK. So I was working first for about two years before I decided to go back to uni. And during that time when I was looking at, you know, courses catalog, &amp;lsquo;cause I wasn&amp;rsquo;t really sure what to pick. So I saw a course which basically has three different things. So it&amp;rsquo;s computer science with business management and financial accounting.&lt;/p&gt;
&lt;p&gt;So I thought,&lt;/p&gt;
&lt;p&gt;NICOLE: Oh wow, okay.&lt;/p&gt;
&lt;p&gt;MARIE: I was like thinking in my head I think that sounds like a really cool name for a course, so I&amp;rsquo;m gonna go for it. So to me I just found the name like very interesting. And it means that-&lt;/p&gt;
&lt;p&gt;NICOLE: So when did you&lt;/p&gt;
&lt;p&gt;MARIE: Yeah?&lt;/p&gt;
&lt;p&gt;NICOLE: move out of the Philippines?&lt;/p&gt;
&lt;p&gt;MARIE: So I, so we went back 2008. So I was in the UK since 2004. Actually no, we went back 2006, and then I went back in the UK 2008. So 2006 I enrolled, you know, to study mass communications. I didn&amp;rsquo;t finish the course &amp;lsquo;cause I had to go back in the UK after two years because of like visa, like status. And then when I got back, I just put that into a pause, you know, did some work experience. So I was working as an office assistant for about two years and then my friend and I just decided, okay, I think we should go back to uni. So I actually applied as a mature student &amp;lsquo;cause I didn&amp;rsquo;t, you know, had any like actual qualifications &amp;lsquo;cause I never graduated from my degree in the Philippines. I never finished high school as well, &amp;lsquo;cause I kept going back and forth between the UK and the Philippines. So the last time I actually graduated was during middle school.&lt;/p&gt;
&lt;p&gt;NICOLE: Oh, wow.&lt;/p&gt;
&lt;p&gt;MARIE: but applying as a mature student, they just looked at my, you know, work credentials, like my work attitude. And I submitted some of my grades like back, you know, when I was still in the Philippines &amp;lsquo;cause like my first two years I had some, you know, grades from like the different subjects that I was doing. But yeah, that&amp;rsquo;s how I got into tech. I just found the name like really interesting and I thought before I could mix and match it with business and accounting. So even if the computer science bit didn&amp;rsquo;t work out, like I can still maybe utilize some of the things that I&amp;rsquo;ve learned on the business side and on the accounting side. And then, when I was about to look for graduate jobs, I got approached by a testing consultancy company. I didn&amp;rsquo;t, I wasn&amp;rsquo;t aware that there&amp;rsquo;s a graduate job for, you know, just doing testing &amp;lsquo;cause most of the graduate jobs that, you know, we were being offered is, you know, how to, you know, do like development, or like database like management roles. So initially I wasn&amp;rsquo;t really sure if I wanted to do the developer route. Like I enjoyed the coding, I was doing the coding bit, but like back then I wasn&amp;rsquo;t like fully 100% sure that it was the right path for me. So I found out that, yeah you can have a career in testing. Again this is all accidental &amp;lsquo;cause if that testing company didn&amp;rsquo;t approach me, I would&amp;rsquo;ve probably looked at like other roles. So it was like really great to hear that, yeah, there&amp;rsquo;s like a graduate jobs for just doing testing. And yeah, we were doing the ISTQB as well. So we were doing some training. And yeah, the rest is history. It&amp;rsquo;s funny because I didn&amp;rsquo;t intend to continue on a developer route, but then now I work as a Developer Advocate.&lt;/p&gt;
&lt;h2 id="how-did-we-become-developer-advocates-without-being-developers"&gt;How did we become Developer Advocates without being developers?&lt;/h2&gt;
&lt;p&gt;NICOLE: Yeah, maybe we should talk about that a bit &amp;lsquo;cause I also don&amp;rsquo;t consider myself as a developer even though I can code.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm. Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And yet somehow we&amp;rsquo;re both Developer Advocates. How did that happen?&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. It&amp;rsquo;s like there&amp;rsquo;s some sort of, I guess, interesting link between software testing and developer advocacy. I don&amp;rsquo;t know like if it&amp;rsquo;s the same for you, but like with me, I really enjoy the teaching part, the learning and public part as well. And when I was doing my role as a software tester, I felt that I was doing the advocacy, but maybe, you know, not really in a way that it&amp;rsquo;s very out there. So I was, you know, helping my colleagues, I was talking about tools that I&amp;rsquo;ve learned, you know, with them, I was showing them how to use it. And then while I was working as well, like I started doing the learning in public on the side. So I started with my personal blog and then getting involved, you know, with meetups to talk about, you know, the different tools that I&amp;rsquo;ve learned. So I guess for me, like being a software tester also, you know, encouraged me to, I guess be a Developer Advocate &amp;lsquo;cause I was just telling people what I&amp;rsquo;ve been doing as a software tester. I&amp;rsquo;ve been telling them what different tools I&amp;rsquo;ve been using, you know, different concepts that I&amp;rsquo;ve been learning as well on like a day-to-day. So is that the same for you?&lt;/p&gt;
&lt;p&gt;NICOLE: For me it was more because I was a consultant,&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: which means I was going on different projects all the time. And when you&amp;rsquo;re really new in an industry, I think it&amp;rsquo;s really exciting and you&amp;rsquo;re learning a lot. And certainly every project has like its own framework and different languages and different people, which is interesting for a while.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: But I don&amp;rsquo;t know, after several years of it, I started to feel like, people are actually asking the same questions. You know, there&amp;rsquo;s always, there&amp;rsquo;s some things that I always had to explain. You know, I always had to, for example, fight against the fact that performance testing is often seen as just something where you run the test, okay, you check the box, you&amp;rsquo;ve done performance testing.&lt;/p&gt;
&lt;p&gt;MARIE: Uh-huh.&lt;/p&gt;
&lt;p&gt;NICOLE: There&amp;rsquo;s always a certain amount of education where I&amp;rsquo;m like, no, it&amp;rsquo;s not just about checking the box, it can actually provide real value, here&amp;rsquo;s how.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And I just found myself repeating a lot of the same things. And so I actually started to create videos also because load testing results are kind of difficult to explain sometimes.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And I would create this like test summary report that lots of people don&amp;rsquo;t read.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And so, as kind of an alternative way to explain things, I started creating video summaries to go along with it. And then I just thought, well maybe I can, &amp;lsquo;cause I can&amp;rsquo;t publish those, because it&amp;rsquo;s very specific to that company.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: But then I, I thought maybe I can pull out, I can abstract away some things and then publish those videos where I&amp;rsquo;m not talking about a specific project. And I guess that&amp;rsquo;s kind of how it started. I started, I put it into text first, because that&amp;rsquo;s just easier than video.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: And then eventually found myself into video anyway.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: So I guess for me, I got into Developer Advocacy because I was tired of, I was trying to automate a part of my life, the explanation part where I kept having to say the same things and I just wanted to be like, hey, read this blog post where I explain why you need think time in a much more coherent and considerate way.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: So that&amp;rsquo;s, that&amp;rsquo;s how it naturally happened. I think you and I are the same in that regard that we were already doing it before we got the title.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. I totally relate to that. Like, especially when you said that like, we&amp;rsquo;re just trying to solve the same problems. I started, you know, my blogging journey just trying to communicate like, you know, questions that people have been asking me on a day-to-day basis. And rather than just, you know, speaking to individual people and repeating the same things like again and again, like just put everything into a post or like you said like a video, and then just share that, you know, like to the public, &amp;lsquo;cause you&amp;rsquo;re not only gonna be able to help like one person but you know, maybe if someone else stumbled upon your blog or your video, then like, you might help them as well. I think like one of the, like, one of the best reward that I experienced when doing this like learning in public and you know, sharing more content out there is if you just get a message from someone or like a comment and then they say that, oh, like, I&amp;rsquo;ve been stuck with the same issue, I found your blog post or your video and it really helped me. And just that feeling that you know, you&amp;rsquo;ve helped someone is like a really great feeling. &amp;lsquo;Cause at first I wanted the blog as well just so that I can have something that I can look back to in case I, you know, forget like what I&amp;rsquo;ve done on a previous project. Like I can document it on a blog post, but then like now it&amp;rsquo;s also helping like other people who are experiencing the same like issues at work.&lt;/p&gt;
&lt;p&gt;NICOLE: Yeah, I definitely see that. At first I was doing these things for myself because you know, you don&amp;rsquo;t really know that you know a subject until you can teach it to some degree. And I really believe that. And I, for me there were so many things &amp;lsquo;cause as a consultant, you have to switch tools very quickly, you have to switch languages, you have to be a polyglot on a lot of different levels and it&amp;rsquo;s impossible to keep all that in your mind. So after every project I tried to like, distill my learnings from it, so that I,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: future me would come back to that framework, or tool, or whatever, and not be starting from zero. But yeah,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: the kind of other people finding it was an unexpected boon.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. So let&amp;rsquo;s just move on a bit. So we&amp;rsquo;ve talked about, you know, how we transition from software testing to developer advocacy. But I guess in terms of like the process, like did you apply to a lot of, you know, companies? Was developer advocacy something that, you know, you were aware of already, or like you just found a job description and then you&amp;rsquo;re like, oh, this is what I do already. Okay, let me apply to that job. So what&amp;rsquo;s been like the process for you?&lt;/p&gt;
&lt;p&gt;NICOLE: So I was, this is only, this is my first job as an actual, like the first job where I have Developer Advocate in my title.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: My previous job was with a, well at the time it was a startup, it was Flood.io, which is now acquired by Tricentis.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And when I joined, I think I was like, I think the fifth person that they hired in the team.&lt;/p&gt;
&lt;p&gt;MARIE: Oh, wow.&lt;/p&gt;
&lt;p&gt;NICOLE: So it was very small. And it was, I really love that environment because you can do a lot of things, you can wear multiple hats. And that&amp;rsquo;s really where it started. On a typical day, I might be answering questions in support, or presenting at a conference or ducking into a sales call or like,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: there were so many things that I could do. I was like part of the rotation for things going down basically, for things exploding. And I had to learn a lot about infrastructure as well to be competent in that role. And I started doing a lot of advocacy type things, mainly from a support perspective&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: because I got the same questions there as well. And I wanted to be able to focus on the crunchier topics.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And you can&amp;rsquo;t do that unless you address some of the more basic or common questions. And then my manager at the time told me about Developer Advocacy&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: and my immediate response was, but I&amp;rsquo;m not a developer.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: He said that that&amp;rsquo;s just the name for the whole industry that I think you would be really good at and that you&amp;rsquo;re already doing. And with his encouragement, this is Tim Koopmans, the one of the co-founders of Flood, with his encouragement, strong encouragement by the way, things like, he said, oh, I&amp;rsquo;ve got this conference in Moscow that I&amp;rsquo;m speaking at. Do you wanna come watch me?&lt;/p&gt;
&lt;p&gt;MARIE: Right.&lt;/p&gt;
&lt;p&gt;NICOLE: And I said yes. And he backed out so I had to do it, things like that. Because of things like that that he did, I started to understand what developer advocacy is&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: and when it was, when I felt the time to change directions, I specifically looked at k6 actually. I didn&amp;rsquo;t apply to any other jobs because I was pretty happy where I was.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: But I really loved k6. I had already not used it in a project, but I&amp;rsquo;d already, I knew what the tool was and I used it, I tested it a bit. I love the site, I love the principles behind it. And I saw that they had a Developer Advocate role. So,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: It just kind of happened. How about you?&lt;/p&gt;
&lt;p&gt;MARIE: Well the first time I heard about the term was from you, when you said that, hey we&amp;rsquo;ve got this role for, you know like, you know like, we&amp;rsquo;ve got a Developer Advocate role for one of the tools that, you know, we&amp;rsquo;re gonna launch. Like, you&amp;rsquo;ll be like the great fit. So I didn&amp;rsquo;t really send any CV. I don&amp;rsquo;t think I sent any CV or like, yeah, I think, you just like, &amp;lsquo;cause we just connected already like via this Automation Guild conference. So like we were already connected via Twitter. And I think this is where like one of the benefits of like learning in public really came into play, &amp;lsquo;cause I was just, you know, publishing constantly. I was, you know, talking at various meetups and conferences already. But I was just doing all of this like as part of my, you know, side projects. Like it wasn&amp;rsquo;t part of my day-to-day role on my previous job. So when you explain to me what a Developer Advocate is, I&amp;rsquo;m like, oh yeah, I&amp;rsquo;ve been doing that on the side. So that was my first actual, you know, experience of like hearing what a Developer Advocate, you know, does on a day-to-day. &amp;lsquo;Cause I had the same perception that I&amp;rsquo;m not a developer, how can I be a Developer Advocate? But I think because as like as part of our day-to-day jobs, like even if we&amp;rsquo;re not writing application code, we&amp;rsquo;re still writing, you know, test scripts. we&amp;rsquo;re creating test automation frameworks. So I think that&amp;rsquo;s really helped as well transitioning into this role. But yeah, like I never sent any CV. I just remembered like we were talking a lot like back and forth and then I met up with, you know, a bunch of our colleagues now. And yeah, the rest is like history again.&lt;/p&gt;
&lt;p&gt;NICOLE: Yeah, I think that there are just some people that when you meet them, you click or you don&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: And when that click happens, I&amp;rsquo;m just like, okay, I&amp;rsquo;m gonna write her name down. I think I told you about it like for two years,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah, I just joined-&lt;/p&gt;
&lt;p&gt;NICOLE: we were talking, and I was like, hey, this could happen&amp;hellip;&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: Yeah, I don&amp;rsquo;t know when. I think you&amp;rsquo;d be perfect for it. And you&amp;rsquo;re like, okay,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: but it&amp;rsquo;s kind of early to be telling me, right?&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: I was like, Yeah, yeah, but let&amp;rsquo;s just keep in touch. You know, and it worked out. I can&amp;rsquo;t believe it actually did.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. And now we&amp;rsquo;re, doing.&lt;/p&gt;
&lt;p&gt;NICOLE: We didn&amp;rsquo;t actually-&lt;/p&gt;
&lt;p&gt;MARIE: Yeah, go on Nicole.&lt;/p&gt;
&lt;p&gt;NICOLE: We haven&amp;rsquo;t actually defined what a Developer Advocate is.&lt;/p&gt;
&lt;h2 id="whats-a-developer-advocate"&gt;What&amp;rsquo;s a Developer Advocate?&lt;/h2&gt;
&lt;p&gt;MARIE: Yeah, I guess like we can both, you know, share what our, you know, view is of a Developer Advocate. So to me when it comes to developers, I guess trying out, you know, new tools or learning about new things, they feel most comfortable talking to someone who&amp;rsquo;s actually used, you know, the product, or you know, the tool that they want to use. So, we are, you know, that person. So we&amp;rsquo;re helping developers, we&amp;rsquo;re helping testers when it comes to, I guess learning about best recommended practices, learning about different tools. So we&amp;rsquo;re kind of like a bridge between the community and like the company that we work for. There&amp;rsquo;s a lot of misconception that people think that we&amp;rsquo;re salespeople but we&amp;rsquo;re actually not, like it&amp;rsquo;s a completely different, you know, role. We are focused more on the community side, helping them grow, helping them, you know, I guess in some ways, like be some sort of champions as well, so they can also promote like, you know, the different tools, the different practices that we have been communicating to them. But yeah, what about you? Is that like sort of the same concept?&lt;/p&gt;
&lt;p&gt;NICOLE: Yeah, I agree with everything you said, especially about being a bridge.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: Because as a Developer Advocate you&amp;rsquo;re not quite a developer, that&amp;rsquo;s not our primary responsibility,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: but we&amp;rsquo;re also not like marketers or sales people. Although there&amp;rsquo;s an overlap there in both. I kind of think of it as anti-marketing. So a marketer is going to be talking about something that they themselves have never used, are not the target user for.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And might not know much about in terms of the technical details.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: A Developer Advocate is someone who actually is the target user. So for those who don&amp;rsquo;t know, Marie and I work at Grafana Labs specifically on k6, which is a performance testing tool. But we have both used k6, we have both been testers and still are. And so there are things that we can suggest. Part of it is advocating internally.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: We advocate for testers everywhere to the product team so that we say, like these are the features that we would be looking for as testers. Like we would say it this way or we wouldn&amp;rsquo;t really use that feature, we want this other one. But another part of it is advocating externally. So this is the part that people think of as marketing, but I think of it as anti-marketing, because we&amp;rsquo;re not going out there and saying, hey, you should use this product that we&amp;rsquo;ve never used before.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: Instead, we build cool things and demonstrate cool things that we have done, not some other developer.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: Like we do our demos,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And then when people ask us, then we say, oh yeah, we use k6. So I don&amp;rsquo;t know, marketing definitely has its place, but for me I am so addicted to that authenticity and genuineness that comes from just talking about a tool that you actually love, which is,&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: what k6 is for me.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. I really like that because for me, an important part of, you know, this advocacy is, like communicating something that I truly believe in. Like I&amp;rsquo;m not going to advocate for, you know, a tool that I haven&amp;rsquo;t used. Like I would just feel like, you know, I&amp;rsquo;m a fraud if I do that. So if I know that, you know, there are situations where a certain tool or a certain practice, you know, would work better, then I would advocate for, you know, that as well. So it&amp;rsquo;s not just about, you know, for example, like at the moment we can&amp;rsquo;t do k6 for accessibility and I&amp;rsquo;m an accessibility advocate as well. So I would go and, you know, recommend like other tools and practices based on what like I&amp;rsquo;ve experienced, based on what I&amp;rsquo;ve done. And I think, like for me, that&amp;rsquo;s one of the biggest like advantage, &amp;lsquo;cause yeah, if I&amp;rsquo;ve been put on the spot and say, hey, you should talk about this to then promote it to other people, that would just totally go against my, like one of my beliefs.&lt;/p&gt;
&lt;p&gt;NICOLE: I think I also really appreciate that this position lets us shine a light on people like us who maybe,&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: who don&amp;rsquo;t look like the average person in tech. I know it&amp;rsquo;s still, I&amp;rsquo;ve been lucky to work with teams of mainly men that haven&amp;rsquo;t treated me any differently because I&amp;rsquo;m a woman, but there is still like a sense of being Other.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah And I guess that-&lt;/p&gt;
&lt;p&gt;NICOLE: And being in a position of advocacy means that we&amp;rsquo;re, we&amp;rsquo;re also able to appeal to other women who maybe didn&amp;rsquo;t, who didn&amp;rsquo;t have as good an experience as we did.&lt;/p&gt;
&lt;h2 id="what-can-you-expect-from-adobo--avocados"&gt;What can you expect from Adobo &amp;amp; Avocados?&lt;/h2&gt;
&lt;p&gt;MARIE: Yeah. And I guess that really leads to this next question. And you know, people who will watch this in the future might also ask like, what are the expectations like for this podcast? Like why are we doing this? So do you want to maybe start.&lt;/p&gt;
&lt;p&gt;NICOLE: Why ARE we doing this Marie?&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. Oh, yeah. So do you wanna start like from your side, like what are the expectations that you know, that we can, yeah, share to people?&lt;/p&gt;
&lt;p&gt;NICOLE: Sure. I think that you and I both do a lot of technical advocacy. We, you know, do demos, we write scripts, and we tell people how to do things in tech, very technical things. But, I think that there&amp;rsquo;s a whole other side of tech that doesn&amp;rsquo;t get talked about and that&amp;rsquo;s like, things like interpersonal dynamics or cultural differences. You and I are both Europeans that have to work in, in our situation, predominantly American space, and we&amp;rsquo;re also Asian. So balancing the two, you know, we are on different sides of the spectrum on that. Just also the general stress that comes with tech. It is not easy, not just as a Developer Advocate, but just to be in tech to keep up with changing trends.&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: I feel like there are so many emotional aspects and psychological aspects that don&amp;rsquo;t get talked about that I would really like to cover.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: Then also, I kind of alluded to it. I would like to make it a little bit more open, an open discussion for particularly underrepresented people&lt;/p&gt;
&lt;p&gt;MARIE: Mm-hmm.&lt;/p&gt;
&lt;p&gt;NICOLE: like ourselves. We identify with several minority groups.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: And maybe help them along a bit by telling them things that we had to find out the hard way early on in our career. How about you?&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. Yeah, I agree with all of those. And I guess it&amp;rsquo;s also to just have a safe space, you know, for everyone just to share their experiences in tech. Like you said, there&amp;rsquo;s this whole other side of tech that we don&amp;rsquo;t talk about that maybe other women are also uncomfortable to talk about, you know, with like, I guess other colleagues, especially if it&amp;rsquo;s just predominantly male. So we want to, you know, have a safe space for them, share, you know, I guess from their side, like their unique experiences as well. And maybe like we can all have, I mean maybe we also have those shared experiences that we don&amp;rsquo;t talk about, but then when someone says, oh yeah, I&amp;rsquo;ve experienced that too. So it&amp;rsquo;s just really finding, you know, shared experiences that we can all relate to. And like you said, just helping them, you know, or empower them to, I guess move forward in terms of like the next stage in their career. Like, you know, share what&amp;rsquo;s worked for us, share what hasn&amp;rsquo;t worked for us. &amp;lsquo;cause I think it&amp;rsquo;s all about like being authentic as well and not just talking about the good things, but we could also talk about the bad and the negative things as well.&lt;/p&gt;
&lt;p&gt;NICOLE: I&amp;rsquo;m excited to see where we go from here.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah.&lt;/p&gt;
&lt;p&gt;NICOLE: I think we have a lot of ideas about where we&amp;rsquo;re going to take this and I hope people will come along for the ride.&lt;/p&gt;
&lt;p&gt;MARIE: Yeah. So, yep. I guess this is it for the first episode. We are just, you know, extremely excited to do this on a regular basis. So we&amp;rsquo;ll talk about different, you know, topics in every episode. And we might, you know, have like really awesome, like guests as well in future episodes. So yeah, I guess just stay tuned and yeah, look out for Adobo and Avocados.&lt;/p&gt;
&lt;p&gt;MARIE: Thanks everyone. See you next time.&lt;/p&gt;
&lt;p&gt;NICOLE: Bye-bye.&lt;/p&gt;</description></item><item><title>Frontend vs Backend Performance Testing</title><link>https://nicolevanderhoeven.com/blog/20230201-frontend-vs-backend-performance-testing/</link><pubDate>Wed, 01 Feb 2023 22:59:18 +0000</pubDate><guid>https://nicolevanderhoeven.com/blog/20230201-frontend-vs-backend-performance-testing/</guid><description>&lt;p&gt;Which should you do: frontend vs. backend performance testing? The short answer is both. Each has its pros and cons, but hybrid load testing combines them and gives you the most holistic view of performance, including frontend concerns like how quickly a page renders or perceived application performance as well as backend concerns like response times of individual components.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/xVACRP5qIJI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Introduction to Performance Testing</title><link>https://nicolevanderhoeven.com/blog/20230125-introduction-to-performance-testing/</link><pubDate>Wed, 25 Jan 2023 22:28:43 +0000</pubDate><guid>https://nicolevanderhoeven.com/blog/20230125-introduction-to-performance-testing/</guid><description>&lt;p&gt;In this introduction to performance testing, we talk about how performance is part of the functionality of an application, why you should do performance testing, and some myths about performance that discourage teams from testing for it and make applications more likely to fail and fail miserably.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/FqOwO4y8SbA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>How to Be a Gish - API, browser, and chaos testing in one script (ExpoQA 2022)</title><link>https://nicolevanderhoeven.com/blog/20220601-how-to-be-a-gish-expoqa/</link><pubDate>Wed, 01 Jun 2022 14:06:49 +0200</pubDate><guid>https://nicolevanderhoeven.com/blog/20220601-how-to-be-a-gish-expoqa/</guid><description>&lt;p&gt;For the ExpoQA 2022 conference in Madrid, Spain, I presented a talk about how to be a gish. In this talk, I covered the following topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what a gish is, and how it applies to the field of testing&lt;/li&gt;
&lt;li&gt;how testing is a multidisciplinary field, and why generalists triumph over specialists in the face of uncertainty&lt;/li&gt;
&lt;li&gt;how the tool we choose to do our testing informs the type of testing and the type of results we get&lt;/li&gt;
&lt;li&gt;a hands-on example of how to do API load testing, browser automation, and chaos engineering in one script using a tool like &lt;a href="https://k6.io/"&gt;k6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There was no recording of the conference talk, but here is a video of me going through my presentation beforehand:&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/aq0XSNcXDb0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;You can find the slides &lt;a href="https://slides.nicolevanderhoeven.com/2022-how-to-be-a-gish/#/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And here are some photos from the event!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/expoqa-3.jpeg" alt="Me speaking at ExpoQA 2022 in Madrid, Spain" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/expoqa-1.jpeg" alt="Me speaking at ExpoQA 2022 in Madrid, Spain" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/expoqa-4.jpeg" alt="Me speaking at ExpoQA 2022 in Madrid, Spain" loading="lazy" decoding="async"&gt;
&lt;/p&gt;</description></item><item><title>Real Browser Testing With xk6-browser</title><link>https://nicolevanderhoeven.com/blog/20220315-real-browser-testing-with-xk6-browser/</link><pubDate>Wed, 16 Mar 2022 16:55:56 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220315-real-browser-testing-with-xk6-browser/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/y04wavsZxSs?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Transcript:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Without a doubt, my favorite k6 extension is xk6-browser. xk6-browser finally brings browser test automation to k6. So you don&amp;rsquo;t need to learn a new tool or figure out how to integrate it if you already have load tests. You can create JavaScript-based, browser-driven tests with k6. Here&amp;rsquo;s how.&lt;/p&gt;
&lt;p&gt;Since xk6-browser is an extension, we&amp;rsquo;re gonna need to build a custom version of k6 that includes that extension. And the thing that builds that is called xk6. What I&amp;rsquo;m doing here is I&amp;rsquo;m instructing xk6 to create a build using version 0.35 of k6, that includes xk6-browser. And this is a link to the repository where xk6-browser is stored.&lt;/p&gt;
&lt;h2 id="writing-a-browser-testing-script"&gt;Writing a browser testing script&lt;/h2&gt;
&lt;p&gt;So now that we have a version of k6 that includes xk6-browser, the next step is to create the browser script. Now you can do that in the one script, but just for ease of debugging I&amp;rsquo;m gonna put it in another script for now. We&amp;rsquo;re not going to be using the HTTP requests anymore so I&amp;rsquo;m going to import launcher from k6/x/browser. And I&amp;rsquo;ll save that as browser.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m definitely going to be using sleep, so let me go ahead and import that now as well. We&amp;rsquo;ll also need a default function for this. We&amp;rsquo;re setting up an instance of the launcher that&amp;rsquo;s going to launch Chromium in particular, and we do want to see it so I&amp;rsquo;m going to say &lt;code&gt;headless: false&lt;/code&gt;. If you set this to true, that means that you won&amp;rsquo;t actually see the web browser being driven by the script, which is handy to see during demos. So we&amp;rsquo;ll do that, and then we have to set up the context.&lt;/p&gt;
&lt;p&gt;So browser, oops, new context. And then we set up a page. The first one is go to the homepage. The second one is to view a product. Third, add the product to the cart. Fourth is go to the cart and then last, I want to check out. So to do that, I&amp;rsquo;ve already defined the browser context in page. Now I need to do &lt;code&gt;page.goto http://ecommerce.k6.io&lt;/code&gt; and I will also want to wait for &lt;code&gt;waitUntil: networkidle&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Great. I wanted to add some sort of check to make sure that I&amp;rsquo;ve actually gotten to a place so, let&amp;rsquo;s open up DevTools here and I wanna make sure that some results are displayed. I don&amp;rsquo;t necessarily need, you know 1-12 of 17 but, I want this one. Okay, so I&amp;rsquo;ll also say &lt;code&gt;page.waitForSelector&lt;/code&gt; and that&amp;rsquo;ll be this.&lt;/p&gt;
&lt;p&gt;And then let&amp;rsquo;s do a screenshot, because we just for, just in case we wanna debug later we wanna make sure that we will be able to have a look at at this screenshot to see what exactly went wrong. And I&amp;rsquo;ll put that in screenshots and I&amp;rsquo;ll say &lt;code&gt;01_homepage&lt;/code&gt;. Then let&amp;rsquo;s do a sleep. And I always like to do the random one. Random, and let&amp;rsquo;s say it from zero to four. This time I&amp;rsquo;m doing the custom k6 version &lt;code&gt;browser.js&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For browser-based tests, I find it much more useful to actually see what&amp;rsquo;s going on rather than to look at the output. Because as you can see there are all sorts of errors here and I believe that they&amp;rsquo;re actually application errors so they can be a little bit misleading. It looks like that happened but let&amp;rsquo;s just look at the screenshots. Screenshot, yeah. That, that loaded fine. So we can continue.&lt;/p&gt;
&lt;p&gt;Next step is to view a product. Okay, let&amp;rsquo;s go back here. This time I want to click this thing. It doesn&amp;rsquo;t really matter which, which item it is. I&amp;rsquo;ll just choose the first one. Looks like this is the actual product link. So let element = page. And this is where we actually paste the selector which is what I got from DevTools.&lt;/p&gt;
&lt;p&gt;And then we haven&amp;rsquo;t done anything yet with it. We want to actually click it. So &lt;code&gt;element.click&lt;/code&gt;. After that though, I&amp;rsquo;m going to want to make sure that we get to the right page. So, let&amp;rsquo;s see what happens when we click it. What can we look for? I guess we can look for this add to cart button, cuz if the item didn&amp;rsquo;t show up then we wouldn&amp;rsquo;t be able to add it to the cart. So let&amp;rsquo;s grab that. Button, button name is add to cart. Copy that.&lt;/p&gt;
&lt;p&gt;So then I&amp;rsquo;ll say &lt;code&gt;page.waitForSelector&lt;/code&gt;, the selector with a button name there. Take another screenshot because why not? I&amp;rsquo;ll say &lt;code&gt;02_view-product&lt;/code&gt; and then another sleep. From here it was pretty much more of the same. Here&amp;rsquo;s me scripting adding the product to the cart, viewing the cart and then finally going to the checkout page. And here&amp;rsquo;s what happened when I played it all back. Here it is going to the homepage, and then clicking on the first product, and then adding that product to the cart, and then clicking view cart, and then proceeding to checkout.&lt;/p&gt;
&lt;p&gt;The best part about this is that you don&amp;rsquo;t have to choose between the browser test and the protocol test. They&amp;rsquo;re both in k6 and written in JavaScript so you could include them in the same script. You can use stages to schedule when one starts and when one ends. You can change the load profile, add checks and thresholds. And you can also use all of the output options that are available for protocol tests for the browser tests as well.&lt;/p&gt;
&lt;p&gt;The catch is that xk6-browser is really new. We&amp;rsquo;ve just announced it. It&amp;rsquo;s still in beta so you are likely to come across more than a few bugs. However, I&amp;rsquo;d still recommend that you give it a go. I&amp;rsquo;ve been playing around with it and I&amp;rsquo;ve found it more than serviceable for a lot of my use cases. Plus it&amp;rsquo;s just really cool to be able to test front-end performance along with back-end performance in the same testing script.&lt;/p&gt;
&lt;p&gt;Thanks for watching. I will put a link to the xk6-browser repository below and happy testing.&lt;/p&gt;</description></item><item><title>Private Load Zones for Load Testing (k6 Office Hours #44)</title><link>https://nicolevanderhoeven.com/blog/20220304-koh44-private-load-zones-for-load-testing/</link><pubDate>Fri, 04 Mar 2022 10:01:57 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220304-koh44-private-load-zones-for-load-testing/</guid><description>&lt;p&gt;Load testing on the cloud definitely has its advantages, but what if you need to load test behind a firewall? Here to talk about using private load zones in k6 are k6 CTO Pawel Suwala and k6 Backend Lead Samuel Regandell. Private load zones are a new feature of k6 Cloud that will allow you to run load tests against applications that are not publicly accessible and also use your own AWS account to generate the load.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/sqKc95zdXyI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Basics of Chaos Engineering for Testers</title><link>https://nicolevanderhoeven.com/blog/20220302-basics-of-chaos-engineering-for-testers/</link><pubDate>Wed, 02 Mar 2022 09:59:52 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220302-basics-of-chaos-engineering-for-testers/</guid><description>&lt;p&gt;What is chaos engineering? And what does it mean for testers? In this video, I go through the basics of chaos engineering from the perspective of a software tester. How can we go about incorporating principles of chaos into our testing activities?&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/z1-_R-h2unE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Señor Performo's Week of Load Testing (k6 Office Hours #39)</title><link>https://nicolevanderhoeven.com/blog/20220128-koh39-leandros-week-of-load-testing/</link><pubDate>Fri, 28 Jan 2022 23:27:47 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220128-koh39-leandros-week-of-load-testing/</guid><description>&lt;p&gt;This week for k6 Office Hours, I talked to one of the newest members on our team, &lt;a href="https://srperf.com"&gt;Leandro Melendez, aka Señor Performo&lt;/a&gt;, about his experience in joining k6/Grafana Labs. We ended up talking about performance &amp;ldquo;deadly sins&amp;rdquo; and how the practice of performance engineering has changed in the last decade.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/bi-RuT9eZdA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>Why All Roads Lead to Testing</title><link>https://nicolevanderhoeven.com/blog/20220125-all-roads-lead-to-testing/</link><pubDate>Tue, 25 Jan 2022 23:59:03 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220125-all-roads-lead-to-testing/</guid><description>&lt;h1 id="why-all-roads-lead-to-testing"&gt;Why all roads lead to testing&lt;/h1&gt;
&lt;p&gt;Testing is a skill every software engineer should develop.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s easy to dismiss testing as a responsibility only some carry, but it&amp;rsquo;s best thought of as a hat that &lt;em&gt;anyone&lt;/em&gt; can put on. How well you learn to wear this hat affects your career whether or not you&amp;rsquo;re a tester. Here&amp;rsquo;s why.&lt;/p&gt;
&lt;h2 id="ideas-are-cheap"&gt;Ideas are cheap.&lt;/h2&gt;
&lt;p&gt;In tech, having an idea isn&amp;rsquo;t what sells&amp;ndash; the success is in the execution.&lt;/p&gt;
&lt;p&gt;iPhones didn&amp;rsquo;t become popular because it was the first mobile with a touchscreen. The Nintendo Switch isn&amp;rsquo;t ubiquitous because of its revolutionary hardware. Behind every successful product is a lot of testing.&lt;/p&gt;
&lt;h2 id="testing-isnt-just-for-testers"&gt;Testing isn&amp;rsquo;t just for testers.&lt;/h2&gt;
&lt;p&gt;Every good software engineer does testing.&lt;/p&gt;
&lt;p&gt;Debugging is a form of testing. Questioning requirements is a form of testing. Testers don&amp;rsquo;t (and shouldn&amp;rsquo;t) have a monopoly on testing. The reality is that everyone is doing it, often without calling it &amp;ldquo;testing&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="testing-is-about-people-more-than-it-is-about-machines"&gt;Testing is about people more than it is about machines.&lt;/h2&gt;
&lt;p&gt;The fundamental goal of any app is to address a human need.&lt;/p&gt;
&lt;p&gt;Testing is finding new ways to represent and understand this need at all stages of development. Testing is a people problem, not a technical problem.&lt;/p&gt;
&lt;h2 id="humans-are-irrational"&gt;Humans are irrational.&lt;/h2&gt;
&lt;p&gt;The biggest challenge in building apps is human irrationality.&lt;/p&gt;
&lt;p&gt;We don&amp;rsquo;t always &lt;em&gt;want&lt;/em&gt; what we need, we don&amp;rsquo;t always &lt;em&gt;know&lt;/em&gt; what we need, and even when we&amp;rsquo;re building &lt;em&gt;for&lt;/em&gt; others, we don&amp;rsquo;t always &lt;em&gt;work&lt;/em&gt; towards what we need. Testing is an attempt to make sense of this irrationality.&lt;/p&gt;
&lt;h2 id="testing-is-an-attitude"&gt;Testing is an attitude.&lt;/h2&gt;
&lt;p&gt;Getting good at testing extends to aspects beyond work.&lt;/p&gt;
&lt;p&gt;Testing is a discipline of questioning. It&amp;rsquo;s having curiosity as a default state and trying to meet people where they are. These are things every project, and every community, needs in spades.&lt;/p&gt;
&lt;h2 id="testing-is-rarely-the-destination"&gt;Testing is rarely the destination.&lt;/h2&gt;
&lt;p&gt;But some time, some how, all roads lead to testing.&lt;/p&gt;</description></item><item><title>How to Actually Remember What You Learn, for Engineers with Long Reading Lists</title><link>https://nicolevanderhoeven.com/blog/20220124-how-to-actually-remember-what-you-learn/</link><pubDate>Mon, 24 Jan 2022 21:47:59 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220124-how-to-actually-remember-what-you-learn/</guid><description>&lt;p&gt;Who says you need the terminology of the Zettelkasten process? Here&amp;rsquo;s how I&amp;rsquo;ve learned how to learn and how to apply new ideas to my daily work.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re reading this, you probably make your living on what you&amp;rsquo;ve learned that other people haven&amp;rsquo;t. Unfortunately, if you don&amp;rsquo;t have a written system to keep track of new ideas, you&amp;rsquo;ll probably unlearn everything in a few years.&lt;/p&gt;
&lt;h2 id="most-people-think-reading--learning"&gt;Most people think reading = learning.&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s why reading isn&amp;rsquo;t enough.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Our brains are best at linking concepts, not at remembering them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Writing doesn&amp;rsquo;t help us learn; it IS how we learn.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can&amp;rsquo;t learn to swim by reading about it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If reading isn&amp;rsquo;t enough, then what should you do instead?&lt;/p&gt;
&lt;h3 id="step-1-consume"&gt;&lt;strong&gt;Step 1: Consume&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The first step is to consume content, but &lt;em&gt;selectively&lt;/em&gt; so.&lt;/p&gt;
&lt;p&gt;Content could be a book, a video, a podcast, an article, or even a conversation. &lt;em&gt;Take notes&lt;/em&gt; on the author&amp;rsquo;s main points.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Shape Up is a methodology emphasising iterative cycles, &amp;ldquo;betting&amp;rdquo; on work to be done, and building fully integrated slices of work.&lt;/p&gt;
&lt;h3 id="step-2-redefine"&gt;&lt;strong&gt;Step 2: Redefine&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Next, go beyond facts and add your thoughts.&lt;/p&gt;
&lt;p&gt;Think about the broader picture of what the author might be saying, and supplement it with &lt;em&gt;your&lt;/em&gt; opinions. &lt;em&gt;Example:&lt;/em&gt; Shape Up is an Agile methodology concerned with the limits we should apply to different stages of work.&lt;/p&gt;
&lt;h3 id="step-3-contextualize"&gt;&lt;strong&gt;Step 3: Contextualize&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Think about what the content means to you, specifically&amp;ndash; how does it stack with other things you&amp;rsquo;ve learned? Where does it fit into your interests? Accept that your context, and your notes, will change.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Example:&lt;/em&gt; Shape Up&amp;rsquo;s idea of fully integrated work supports the notion of context-switching (see: Continuous integration, Multithreading) but could be in contention with productivity concepts like deep work (David Allen), batching, and Productivity Momentum.&lt;/p&gt;
&lt;h2 id="its-your-brain"&gt;It&amp;rsquo;s your brain!&lt;/h2&gt;
&lt;p&gt;In the end, nobody can tell you the &amp;ldquo;right&amp;rdquo; way to learn.&lt;/p&gt;</description></item><item><title>How to Do What Kind of Testing When: Testing Types by Scope</title><link>https://nicolevanderhoeven.com/blog/20220122-how-to-do-what-kind-of-testing-when/</link><pubDate>Sat, 22 Jan 2022 16:42:49 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220122-how-to-do-what-kind-of-testing-when/</guid><description>&lt;p&gt;Correctly identifying &lt;em&gt;when&lt;/em&gt; you test could be just as important as &lt;em&gt;what&lt;/em&gt;. Below are types of testing according to scope.&lt;/p&gt;
&lt;h3 id="static-testing"&gt;Static testing&lt;/h3&gt;
&lt;p&gt;Static testing occurs when requirements are written. Question requirements and spell out what each one means.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Setting up a system to track and link requirements to test cases, negotiating business needs with technical feasibility, clarifying scope.&lt;/p&gt;
&lt;h3 id="unit-testing"&gt;Unit testing&lt;/h3&gt;
&lt;p&gt;Unit testing occurs when coding begins. Practice Test-Driven Development by translating requirements into tests before writing the code.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Treating test code like application code, getting developer buy-in, communicating technical implementation, performance, pair programming.&lt;/p&gt;
&lt;h3 id="system-testing"&gt;System testing&lt;/h3&gt;
&lt;p&gt;System testing occurs when a build is released. Employ black-box testing: step back from the code and assess the feature as a whole for consistency.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Adherence to common design standards, equivalence partitioning, boundary value analysis, fighting scope creep, usability, creating test data.&lt;/p&gt;
&lt;h3 id="system-integration-testing-sit"&gt;System integration testing (SIT)&lt;/h3&gt;
&lt;p&gt;SIT occurs when integrating multiple components. Use white-box or grey-box testing to target the interactions and traffic between components.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; API testing, stubbing and mocking, identifying request paths throughout the system, performance benchmarking, observability and analysis.&lt;/p&gt;
&lt;h3 id="business-acceptance-testing-bat"&gt;Business acceptance testing (BAT)&lt;/h3&gt;
&lt;p&gt;BAT occurs when the code is assessed against overall business goals. Seek out SMEs who can help you verify expected outcomes.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Adherence to business requirements and regulations, process testing, simplifying request flows, identifying potential customer pain points.&lt;/p&gt;
&lt;h3 id="user-acceptance-testing-uat"&gt;User acceptance testing (UAT)&lt;/h3&gt;
&lt;p&gt;User acceptance testing occurs before code is released to production. Map test cases to requirements and test real-world scenarios.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Testing for superuser workflows, data cleansing, verifying real user behavior from historical logs, exploratory testing, end-to-end performance.&lt;/p&gt;
&lt;h3 id="regression-testing"&gt;Regression Testing&lt;/h3&gt;
&lt;p&gt;Regression testing occurs between builds. Supplement a robust automation test suite with nuanced manual test cases that address known problem areas.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Concerns:&lt;/em&gt; Setting up a CI/CD pipeline, deciding what to automate, consolidating test and development tools, tracking failures over time.&lt;/p&gt;
&lt;h3 id="question-everything"&gt;Question everything&lt;/h3&gt;
&lt;p&gt;Remember: &lt;strong&gt;testing is an attitude.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>An Overview of Software Testing</title><link>https://nicolevanderhoeven.com/blog/20220119-an-overview-of-software-testing/</link><pubDate>Wed, 19 Jan 2022 17:10:11 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220119-an-overview-of-software-testing/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/huiptd8Y2I0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="transcript"&gt;Transcript&lt;/h2&gt;
&lt;p&gt;NICOLE: What is the difference between good software and bad software? Is it features or user interface or marketing? In my totally biased opinion, what actually makes a difference is how well the software was tested. But software testing encompasses a lot of different areas and it doesn&amp;rsquo;t even always have to be someone with a word tester in their job title that does the testing. So whether you&amp;rsquo;re looking to get started in the industry, or just trying to cross skill, here&amp;rsquo;s an overview of the main types of software testing.&lt;/p&gt;
&lt;p&gt;Is it just me, or does your desk get that clutter too after a week of work?&lt;/p&gt;
&lt;p&gt;Anyway, software testing is the process of validating whether an application works as intended, but there&amp;rsquo;s a lot of vagueness in that statement. One of the broadest ways to categorize testing types though, is whether it&amp;rsquo;s functional or operational.&lt;/p&gt;
&lt;p&gt;Functional testing is more about application features. Is there a form to capture user email addresses? Is there a button next to it that submits those addresses? Once the button is clicked, where do the user details go? Do they go to the database? Are they stored correctly? Those are the sort of ways in which functional testers think. Operational testing traditionally called non-functional testing, is a way of verifying software quality and aspects that extend beyond the features of the application.&lt;/p&gt;
&lt;p&gt;Operational testing sometimes involves concerns that are more subjective or qualitative. So it can be a little bit more difficult to test, because those things only arise in certain conditions. I&amp;rsquo;m saying operational testing here, instead of non-functional testing, because I was talking to Paul Bruce who made an excellent video just on this topic. He talks about why the term nonfunctional requirement is really a bit of a misnomer.&lt;/p&gt;
&lt;p&gt;PAUL: It relegates all these other things, security, performance, installation, deployment, accessibility. It relegates them to a nice to have, so it should be functional versus operational.&lt;/p&gt;
&lt;p&gt;NICOLE: So I&amp;rsquo;m using his term operational testing instead.&lt;/p&gt;
&lt;p&gt;Here are the different forms of operational or non-functional testing.&lt;/p&gt;
&lt;p&gt;First there&amp;rsquo;s accessibility testing. It is involved with verifying that end users can consume or navigate content. Usually through assistive devices like screen readers. While most forms of testing begin with a statistically normal user in mind, accessibility testing seeks out outliers in terms of location, linguistic background and disability.&lt;/p&gt;
&lt;p&gt;Usability testing is designing with user experience in mind, specifically concerning the placement of on-screen elements and the intuitiveness of the process flow of an application.&lt;/p&gt;
&lt;p&gt;Localization testing is a way of making sure that applications are usable in the local context, in the sense of being colloquially appropriate for users in different countries and from different cultures.&lt;/p&gt;
&lt;p&gt;Security testing verifies that a system has no flaws that could be exploited, to gain access to confidential information or features that would not otherwise be accessed by expected means.&lt;/p&gt;
&lt;p&gt;So that was me talking from my home in the Netherlands, but this week I am in Portugal. The remote working life, am I right?&lt;/p&gt;
&lt;p&gt;But anyway, performance testing is my favorite topic and my favorite type of testing because that&amp;rsquo;s the one that I&amp;rsquo;ve had the most experience with. Performance testing is more qualitative. So it&amp;rsquo;s more about how well the application works. And there are two main types of performance testing and that&amp;rsquo;s front-end performance, and back-end performance testing.&lt;/p&gt;
&lt;p&gt;Front-end performance testing seeks to verify the user experience at the interface level. So that&amp;rsquo;s everything that the end user sees on their local machine.&lt;/p&gt;
&lt;p&gt;There are different approaches to front-end performance testing, and the first of them is performance profiling. Performance profiling involves running your application through a series of automated checks. And there are a lot of sites for this, where you just put in your URL, if it&amp;rsquo;s a web app, and you get a score in the end. That tells you how performance your application is, the most popular example for this and also the easiest to get started with, is DevTools because that&amp;rsquo;s already in Chrome and Firefox based browsers. But you can also go to sites like Webpagetest, or GTMetrix, YSlow, which is a plugin, or you can use Google Lighthouse, which is now included with Chrome Dev Tools.&lt;/p&gt;
&lt;p&gt;The next approach to front-end performance testing is called RUM or Real User Monitoring. So the difference is that with performance profiling, that&amp;rsquo;s often done manually, and as a one-off thing, like maybe at the beginning of a test or during, but Real User Monitoring is not usually done within testing environments. As the name suggests, these tools measure the experience of real users. So they have to be run in production. Examples of tools in this space are; New Relic&amp;rsquo;s RUM, Elastic has a RUM as well, there&amp;rsquo;s Catchpoint, SpeedCurve Uptrends and many more.&lt;/p&gt;
&lt;p&gt;And the third approach to measuring front-end performance is by using some sort of browser-based automation tool. So typically this has been something like Selenium, but that&amp;rsquo;s falling out of favor in terms of more modern solutions like Playwright, Puppeteer, Cypress and so on.&lt;/p&gt;
&lt;p&gt;So front-end performance is about everything that the user sees on their end, but back-end performance testing is about everything that they don&amp;rsquo;t see. It&amp;rsquo;s about the network. It&amp;rsquo;s about latency, the application servers, the way the infrastructure is set up and all of those things that are a little bit more difficult to look into, but can also have severe bottlenecks. Back-end performance testing seeks to verify aspects of an application such as scalability, elasticity, availability, reliability and responsiveness.&lt;/p&gt;
&lt;p&gt;Scalability is the application&amp;rsquo;s ability to respond to changes in demand. This could mean scaling up, which means increasing the resources available to a server, but it could also mean scaling out, meaning increasing the number of servers that are available to handle the application load.&lt;/p&gt;
&lt;p&gt;Elasticity is a related topic to scalability, except where scalability is all about scaling up or out. Elasticity also emphasize a scaling down or in, and that&amp;rsquo;s because having these services or servers available on the Cloud that are dynamically adjusting can also be quite expensive. So elasticity makes sure that the infrastructure that&amp;rsquo;s available or the resources available are always appropriate for the size of the demand. So when demand increases, elasticity also checks whether the application decreases it servers or resources in response to that.&lt;/p&gt;
&lt;p&gt;Availability is how long the application stays up, despite changing circumstances in production. So this is typically measured by uptime. Availability can also be tested using disaster recovery procedures, and you&amp;rsquo;re not just testing the application itself, but also the processes around it. So are there enough people that are on call so that they would be able to come in and troubleshoot when there&amp;rsquo;s a production incident? All of those things are included in application availability.&lt;/p&gt;
&lt;p&gt;Reliability checks to see how your application behaves in response to unexpected errors. Reliability basically takes it as a given that your application is going to fail somehow, sometime, maybe you don&amp;rsquo;t know exactly when that will be or how it will fail, but it&amp;rsquo;s going to happen. So a big part of reliability and site reliability engineering is trying to expose your application to those failures beforehand so that you can build confidence about how it will behave when those things actually happen in production.&lt;/p&gt;
&lt;p&gt;And the last aspect to back-end performance testing is responsiveness. And this is usually equated with load testing. Load testing is more of a technique for testing though. And really load tests can be used to test not just responsiveness, but also reliability or availability or scalability, basically any of the &amp;ldquo;ilities&amp;rdquo; in this part of back-end performance testing.&lt;/p&gt;
&lt;p&gt;Protocol-based load testing verifies the backend performance of an application, not by simulating real users accessing the application, but by simulating the underlying requests that go back and forth between the client or the user and the application servers. One of the benefits of protocol-based load testing is that it takes up fewer resources on the side of the load generator, and therefore is less expensive to run. Some popular protocol-based load testing tools are k6, JMeter, Gatling LoadRunner, NeoLoad, and Silk Performer.&lt;/p&gt;
&lt;p&gt;Browser-based load testing verifies the application by simulating real users accessing it. So it also has the benefit of including these front-end performance metrics. Browser-based testing can also be called browser-driven or UI-based testing. Some popular tools for browser-based load testing are Playwright, Puppeteer, Flood Element and as of a few weeks ago, k6.&lt;/p&gt;
&lt;p&gt;Then there&amp;rsquo;s hybrid load testing, which takes the best of protocol and browser-based load testing tools by combining them in one test. Now this can present some challenges, especially if you&amp;rsquo;re using different tools for the browser-based script, than you&amp;rsquo;re using for the protocol-based script. The ideal is to use your protocol based load testing tool, to simulate majority of the load to cut down on costs for the execution and scaling out of your load test. And then you run a handful of users using your browser based load testing tool. So you still get some metrics for front-end performance while that load is being applied by the protocol based tool.&lt;/p&gt;
&lt;p&gt;Testing software can be really daunting because there are many aspects of an application that you can test. But that&amp;rsquo;s because there&amp;rsquo;s also many aspects of an application that can fail. And that&amp;rsquo;s why all roads lead to testing and why the success of an app hinges on how well it&amp;rsquo;s been tested.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;d like to zero in, on load testing in particular, check out this video that I made on what load testing is. Thanks for watching. And like they say, here in Portugal, Obrigada!&lt;/p&gt;</description></item><item><title>Six Performance Testing Hats</title><link>https://nicolevanderhoeven.com/blog/20220114-six-performance-testing-hats/</link><pubDate>Fri, 14 Jan 2022 16:30:34 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220114-six-performance-testing-hats/</guid><description>&lt;p&gt;I was reading &lt;a href="https://amzn.to/3tvLYM9"&gt;Six Thinking Hats&lt;/a&gt; by Edward de Bono when I realized that the premise could be applied to performance testing:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://nicolevanderhoeven.com/assets/six-performance-testing-hats.png" alt="The Six Performance Testing Hats" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;Each hat represents a different way of thinking, which can be useful when working through issues. Sometimes, wearing only one hat can cause us to fixate on incorrect assumptions, and &amp;ldquo;putting on another hat&amp;rdquo; can help shake things up and get to actually fixing what went wrong.&lt;/p&gt;</description></item><item><title>What Tabletop Games Teach Us About Application Perfomance</title><link>https://nicolevanderhoeven.com/blog/20220112-what-tabletop-games-teach-us-about-application-perfomance/</link><pubDate>Wed, 12 Jan 2022 16:30:29 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220112-what-tabletop-games-teach-us-about-application-perfomance/</guid><description>&lt;p&gt;Tabletop games and application performance have more in common than you might think.&lt;/p&gt;
&lt;p&gt;See, it&amp;rsquo;s all about optimization. Both involve juggling several variables: some that you can control, and some that you can&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what I&amp;rsquo;ve learned about application performance from playing tabletop games.&lt;/p&gt;
&lt;h2 id="1-get-more-workers"&gt;#1: Get more workers&lt;/h2&gt;
&lt;p&gt;In worker placement games, you should always spend your first worker to train more workers.&lt;/p&gt;
&lt;p&gt;Similarly, one of the most basic ways to increase concurrency is multithreading: using more than one thread at a time. (See: Golang) This applies to testing tools as much as to systems. The 1 Thread: 1 Virtual User paradigm is flawed.&lt;/p&gt;
&lt;h2 id="2-spend-time-on-getting-your-engine-going"&gt;#2: Spend time on getting your engine going&lt;/h2&gt;
&lt;p&gt;Get your big combos in place before you tap to attack.&lt;/p&gt;
&lt;p&gt;Things like setting up automation frameworks or CI/CD pipelines DO set you back in the beginning, but they are worth their mana cost in the long run.&lt;/p&gt;
&lt;h2 id="3draft-with-others-in-mind"&gt;#3: Draft with others in mind&lt;/h2&gt;
&lt;p&gt;The trick to drafting is knowing what you&amp;rsquo;re leaving for others as much as what you&amp;rsquo;re taking for yourself.&lt;/p&gt;
&lt;p&gt;The short game is getting your team to do the testing. The long game is getting everyone in the company involved in testing.&lt;/p&gt;
&lt;h2 id="4-hope-for-a-nat-20-plan-for-a-nat-1"&gt;#4: Hope for a nat 20, plan for a nat 1&lt;/h2&gt;
&lt;p&gt;Sometimes proficiency, expertise, and a luckstone just aren&amp;rsquo;t enough.&lt;/p&gt;
&lt;p&gt;Instead of wondering &lt;em&gt;whether&lt;/em&gt; an app will fail, take for granted that it will, and start planning for it. Keep that Action Surge in your back pocket.&lt;/p&gt;
&lt;h2 id="5-sometimes-you-just-have-to-trade-for-sheep"&gt;#5: Sometimes, you just have to trade for sheep&lt;/h2&gt;
&lt;p&gt;The 2:1 port is valuable, but not always the best option.&lt;/p&gt;
&lt;p&gt;Learn what you can, but accept that you can&amp;rsquo;t learn it all. Reach out to others with compatible skillsets and ask the &amp;ldquo;stupid&amp;rdquo; questions that nobody else wants to ask.&lt;/p&gt;
&lt;h2 id="testing-is-a-team-sport-and-everyone-gets-a-chance-to-play"&gt;Testing is a team sport, and everyone gets a chance to play.&lt;/h2&gt;
&lt;p&gt;Happy gaming!&lt;/p&gt;</description></item><item><title>The Tester's Toolbox Is Flawed</title><link>https://nicolevanderhoeven.com/blog/20220111-the-testers-toolbox-is-flawed/</link><pubDate>Tue, 11 Jan 2022 16:30:49 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220111-the-testers-toolbox-is-flawed/</guid><description>&lt;p&gt;Every tester has a toolbox.&lt;/p&gt;
&lt;p&gt;In the toolbox rests a variety of tools for every conceivable purpose. Part of our job, as testers, is to choose the right one for the job. Sounds reasonable, right?&lt;/p&gt;
&lt;p&gt;That kind of thinking could be dangerous.&lt;/p&gt;
&lt;h2 id="the-right-tool-for-every-job-fails-for-multiple-jobs"&gt;&amp;ldquo;The right tool for every job&amp;rdquo; fails for multiple jobs.&lt;/h2&gt;
&lt;p&gt;You end up with multiple tools. One for accessibility testing. Another for API testing. Another for browser testing. Another for load testing. &lt;em&gt;This is the modern tester&amp;rsquo;s dilemma&lt;/em&gt;: we spend more time working with our tools than with the application under test.&lt;/p&gt;
&lt;p&gt;In the real world, including a new tool in your testing stack means a new framework, usually a new programming language, and sometimes even new colleagues with experience in those tools. And what about continuous testing? All those tools have to talk to each other at some point.&lt;/p&gt;
&lt;p&gt;More tools = more time, effort, and money.&lt;/p&gt;
&lt;h3 id="when-choosing-tools-prioritize-multitools"&gt;&lt;strong&gt;When choosing tools, prioritize multitools.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;A multitool can be used for different purposes and prioritizes flexibility.&lt;/p&gt;
&lt;p&gt;Here are a few ways to spot a multitool:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#1: It is a polymath.&lt;/strong&gt; A multitool is good at many things and is limited in use case only by the imagination of those that use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#2: It uses what you know.&lt;/strong&gt; A multitool is built on languages and frameworks you and your team already know, reducing ramp-up time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;#3 It plays well with others.&lt;/strong&gt; A multitool doesn&amp;rsquo;t force you to use it to the exclusion of everything else. It integrates well with best-in-class tools.&lt;/p&gt;
&lt;p&gt;When you optimize for individual jobs, you&amp;rsquo;re missing the big picture. You&amp;rsquo;re ultimately left holding the ends of multiple tools and creating a kraken of a test suite with all these tools cobbled together.&lt;/p&gt;
&lt;p&gt;Instead, prioritize multitools.&lt;/p&gt;</description></item><item><title>Obsidian for the Uninitiated</title><link>https://nicolevanderhoeven.com/blog/20220110-obsidian-for-the-uninitiated/</link><pubDate>Mon, 10 Jan 2022 23:07:06 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220110-obsidian-for-the-uninitiated/</guid><description>&lt;h1 id="obsidian-for-the-uninitiated"&gt;Obsidian for the Uninitiated&lt;/h1&gt;
&lt;p&gt;You&amp;rsquo;ve installed Obsidian and created a new vault. Now what?&lt;/p&gt;
&lt;p&gt;Unfortunately, it can be more than a little daunting to get started with. It doesn&amp;rsquo;t help that there are terms like &lt;em&gt;Zettelkasten&lt;/em&gt; and &lt;em&gt;Maps of Content&lt;/em&gt; and &lt;em&gt;fleeting notes&lt;/em&gt; and &lt;em&gt;digital garden&lt;/em&gt; that are all just trying to structure what we all learned to do in primary school.&lt;/p&gt;
&lt;h2 id="start-by-logging-what-youre-doing"&gt;Start by logging what you&amp;rsquo;re doing.&lt;/h2&gt;
&lt;p&gt;Having a rigid structure does wonders for curtailing creativity and plain fun. Instead, I recommend starting small.&lt;/p&gt;
&lt;p&gt;Here are some small steps to take after installing Obsidian:&lt;/p&gt;
&lt;h3 id="step-1-enable-the-daily-notes-plugin"&gt;&lt;strong&gt;Step 1: Enable the Daily Notes plugin&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The most game-changing feature of Obsidian is plugins.&lt;/p&gt;
&lt;p&gt;Go into Settings &amp;gt; Core Plugins, and enable the &lt;em&gt;Daily notes&lt;/em&gt; plugin.&lt;/p&gt;
&lt;p&gt;Then, exit out of the dialog boxes and hit CMD P (Mac) or CTRL P (Windows) to bring up the command pane. Search for and select &lt;em&gt;Daily notes: Open today&amp;rsquo;s daily note&lt;/em&gt;. That creates a new note in your vault with today&amp;rsquo;s date.&lt;/p&gt;
&lt;p&gt;From now on, do this every day and log things you do during the day: things to do, appointments to keep, videos you watched.&lt;/p&gt;
&lt;h3 id="step-2-the-next-time-you-consume-content-take-notes"&gt;&lt;strong&gt;Step 2: The next time you consume content, take notes.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Now, the next time you read or watch something interesting, type its title into Obsidian with brackets:&lt;code&gt;[[Cool video I watched]]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s now a link. CMD+click on that link, or click the glasses icon on the top right to switch to Preview mode, and then click on the link. You should now have a new note. Write about what you thought of the video.&lt;/p&gt;
&lt;h3 id="step-3-start-identifying-and-fleshing-out-ideas"&gt;&lt;strong&gt;Step 3: Start identifying and fleshing out ideas.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Keep going with these steps and every now and then, start to identify cool ideas you come across. Create new notes from them just like you did in Step 2. Don&amp;rsquo;t worry about getting it all; just do it when and until you feel like it.&lt;/p&gt;
&lt;p&gt;These three simple steps, over time, will be the foundations of your own Personal Knowlege Management system with Obsidian.&lt;/p&gt;</description></item><item><title>5 Ways to Use Obsidian as a Software Engineer</title><link>https://nicolevanderhoeven.com/blog/20220109-5-ways-to-use-obsidian-as-a-software-engineer/</link><pubDate>Sun, 09 Jan 2022 19:20:49 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220109-5-ways-to-use-obsidian-as-a-software-engineer/</guid><description>&lt;p&gt;Yesterday, I wrote about why I think taking notes is the surprising foundation of a tester&amp;rsquo;s career.&lt;/p&gt;
&lt;p&gt;But it&amp;rsquo;s not just testers. Every software engineer is a knowledge worker, and that means we get paid for what we know. Using a Personal Knowledge Management (PKM) system such as &lt;a href="http://Obsidian.md"&gt;Obsidian.md&lt;/a&gt; helps us keep up with the constant barrage of new ideas in tech.&lt;/p&gt;
&lt;p&gt;Here are 5 things I use Obsidian for.&lt;/p&gt;
&lt;h2 id="1-my-very-own-stack-overflow"&gt;#1: My very own Stack Overflow&lt;/h2&gt;
&lt;p&gt;If you code, you&amp;rsquo;ve used Stack Overflow.&lt;/p&gt;
&lt;p&gt;What if you had your &lt;strong&gt;own&lt;/strong&gt; Stack Overflow, one that contained cheat sheets of every language you&amp;rsquo;ve ever tried to hack something up in, including only commands relevant to your job? This is exactly &lt;a href="https://notes.nicolevanderhoeven.com/Python"&gt;what I&amp;rsquo;ve done for Python&lt;/a&gt; recently, and it&amp;rsquo;s helping me solidify my knowledge.&lt;/p&gt;
&lt;h2 id="2-tools-database"&gt;#2: Tools database&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a tool for everything.&lt;/p&gt;
&lt;p&gt;To keep them straight, I have a page for every load testing tool I try, with tutorials for how to get started, an assessment of its features, and observations I had while attempting to learn it. &lt;a href="https://notes.nicolevanderhoeven.com/k6+(tool)"&gt;Here&amp;rsquo;s what I have for the load testing tool k6&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Bonus: I also use &lt;a href="https://github.com/blacksmithgu/obsidian-dataview"&gt;the Dataview plugin&lt;/a&gt; to query tools that fit my criteria.&lt;/p&gt;
&lt;h2 id="3-an-agile-workspace"&gt;#3: An Agile workspace&lt;/h2&gt;
&lt;p&gt;If Agile is good enough for my professional work, it&amp;rsquo;s good enough for my personal work.&lt;/p&gt;
&lt;p&gt;I use the &lt;a href="https://github.com/mgmeyers/obsidian-kanban"&gt;Kanban plugin&lt;/a&gt; to keep track of projects, create weekly and monthly review/retro templates, and work iteratively using &lt;a href="https://github.com/bjsi/incremental-writing"&gt;the Incremental Writing plugin&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="4-a-public-learning-log"&gt;#4: A public learning log&lt;/h2&gt;
&lt;p&gt;Learning in public is the fastest way to improve.&lt;/p&gt;
&lt;p&gt;When I&amp;rsquo;m trying to figure something out, I document my attempts. With Obsidian Publish, I can quickly push this log out to my domain and share them with colleagues to get a quick review so that they can easily follow my train of thought and tell me where I went wrong.&lt;/p&gt;
&lt;h2 id="5-a-digital-garden-of-software-ideas"&gt;#5: A digital garden of software ideas&lt;/h2&gt;
&lt;p&gt;Build libraries, not feeds.&lt;/p&gt;
&lt;p&gt;I use Obsidian to save things I read/watch/listen to but also to save space for ideas I&amp;rsquo;ve learned to germinate. I publish notes before they&amp;rsquo;re fully fleshed out, with the goal of growing everything over time.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://notes.nicolevanderhoeven.com"&gt;Today, I have 4,567 notes&lt;/a&gt;, all about things that matter to me.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Every engineer should have a PKM system.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Take Notes, Not Tools</title><link>https://nicolevanderhoeven.com/blog/20220108-take-notes-not-tools/</link><pubDate>Sat, 08 Jan 2022 17:00:44 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20220108-take-notes-not-tools/</guid><description>&lt;p&gt;When I first got into testing, I thought that testing was about learning different tools and frameworks.&lt;/p&gt;
&lt;p&gt;I learned how to use Neoload, then LoadRunner, then JMeter, and then SeleniumSilkPerformerVisualStudioGatlingPuppeteerPlaywrightk6 in short succession. I took courses on JavaScript, on C, on Java. I ticked off tools like a grocery list.&lt;/p&gt;
&lt;p&gt;It didn&amp;rsquo;t take me long to realize that I still wasn&amp;rsquo;t a good tester.&lt;/p&gt;
&lt;h2 id="taking-notes-not-tools-is-what-makes-a-good-tester"&gt;Taking notes, not tools, is what makes a good tester.&lt;/h2&gt;
&lt;p&gt;When you think about it, a lot of things a tester does revolves around taking good notes.&lt;/p&gt;
&lt;p&gt;Requirements are just notes on what the business wants to achieve. Test scenarios are notes on situations that the team wants to simulate. Test cases are notes on how a user would use an application. Defects are notes on issues.&lt;/p&gt;
&lt;p&gt;The quality of a tester&amp;rsquo;s notes dictates the quality of their work.&lt;/p&gt;
&lt;h3 id="listen-to-people-not-tool-tutorials"&gt;&lt;strong&gt;Listen to people, not tool tutorials&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Take notes on what users do.&lt;/strong&gt; Talk to the business. Pore through Google Analytics logs. Piece together a story of the kind of people who use your application, and how they use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Take notes on problem areas.&lt;/strong&gt; Talk to customer support about the most common questions they get&amp;ndash; they know more about pain points than anyone else in the company. Talk to the ops engineers who were on call during the last production incident. These problems are what you&amp;rsquo;ll need to test later.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Take notes on what you&amp;rsquo;ve learned.&lt;/strong&gt; If you don&amp;rsquo;t like learning, you&amp;rsquo;re in the wrong field. Document everything, even things you think you&amp;rsquo;ll never forget, because one day, you WILL forget.&lt;/p&gt;
&lt;p&gt;Taking notes, not tools, is the foundation every testing career is built on.&lt;/p&gt;</description></item><item><title>Performance Objective: Intro to Load Testing With k6 and Grafana</title><link>https://nicolevanderhoeven.com/blog/20211123-intro-to-load-testing-with-k6-and-grafana/</link><pubDate>Tue, 23 Nov 2021 17:05:06 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20211123-intro-to-load-testing-with-k6-and-grafana/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/fjq-JmrLjPc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;I spoke at the Performance Objective meetup to talk about how to use k6 and Grafana for beginners. I always enjoy talking to like-minded engineers, and I think sharing ideas in a meetup context is probably the best way to do it.&lt;/p&gt;</description></item><item><title>Everyone Can Contribute: Load Performance Testing With k6</title><link>https://nicolevanderhoeven.com/blog/20211123-load-performance-testing-with-k6/</link><pubDate>Tue, 23 Nov 2021 16:57:26 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20211123-load-performance-testing-with-k6/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/_ty40gSaaw8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;This is a recording of a live meetup I spoke at, the Everybody Can Contribute Café hosted by Michael Friedrich, Senior Developer Evangelist at GitLab. This was a more casual conversation and show-and-tell about k6&amp;rsquo;s capabilities, and I really enjoyed it!&lt;/p&gt;</description></item><item><title>Performance Testing with k6 and Cypress (Ministry of Testing)</title><link>https://nicolevanderhoeven.com/blog/20210323-performance-testing-with-k6-and-cypress/</link><pubDate>Tue, 23 Mar 2021 19:52:48 +0100</pubDate><guid>https://nicolevanderhoeven.com/blog/20210323-performance-testing-with-k6-and-cypress/</guid><description>&lt;p&gt;My friend &lt;a href="https://mariedrake.com"&gt;Marie Drake&lt;/a&gt; and I teamed up to give a presentation about performance testing at a &lt;a href="https://www.meetup.com/Ministry-of-Testing-Manila/events/276622895/"&gt;Ministry of Testing (Philippines) meetup&lt;/a&gt;, and we talked about using &lt;a href="https://cypress.io"&gt;Cypress&lt;/a&gt; for front-end performance testing and &lt;a href="https://k6.io"&gt;k6&lt;/a&gt; for back-end performance testing.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/yPmbZl2Qtus?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item></channel></rss>