Test Pyramid for AI Agents
Traditional testing assumes that given the same input, you get the same output. Agents break that assumption immediately. Learn how the test pyramid evolves when verifying agentic software.
Traditional testing assumes that given the same input, you get the same output. Agents break that assumption immediately. Learn how the test pyramid evolves when verifying agentic software.
A practical look at how Karpathy’s LLM Wiki pattern can serve as long term agent memory, turning raw sources, markdown pages, and schema instructions into a living knowledge system for semantic, entity, episodic, summary, and procedural memory.
When we talk about agent memory, I don't think we really consider what memory actually is. In this piece, I look at various types of memory and explore ways to implement them.
How to design effective agent skills when codifying tribal knowledge
I've been seeing more and more open source maintainers throwing [...]
About 95% of our engineers are regularly using AI to assist with their development efforts. They are mostly working outside of the IDE, with many running 3-5 agent instances in parallel. Then there's a small population that is actively building our internal agent orchestrator in preparation for the inevitable.
What if I told you that you could build a [...]
A straightforward explanation of agents, subagents, and multi-agents, and how agents are organized to work together
An overview of Agent Skills vs MCP
Lately, I've seen more developers online starting to side eye [...]
Learn how MCP Sampling lets your tools call the AI instead of the other way around.
Open source maintainers are getting more contributions than ever, thanks to AI-assisted coding. That's great for community growth but it also means a flood of PRs to review. Here's how I taught GitHub Copilot Code Review to think like a maintainer.
As AI reshapes how we develop software, DevRel professionals find themselves not just promoting tools, but helping entire communities navigate uncharted territory.
Forget the flashy demos. Here's everyday use cases for AI.
A series of prompts to test an LLM's capabilities to be used with AI agents
Use MCPs with Goose to automate task management and enhance productivity.
Practical tips to help you use Goose more effectively and efficiently.
A 101 introduction to AI Agents
David Fowler recently asked an excellent question that’s been on [...]
Learn how MCP standardizes integrations and fosters an ecosystem for the future of AI-enabled tools
A simple observation at airport security highlights the concept of Betterment and how it applies to engineering teams. Which group are you in?
What if Wordle could replace job interviews? Every guess, letter choice, and even your settings say a lot about your problem-solving abilities and how you adapt to feedback.
Those looking to break into the test automation field have difficulty doing [...]
Here is a recipe for deserializing API responses into the new Java construct: Record, and using it for easier verification.
A common frequently asked question is "what is the career [...]
I had the pleasure of getting some of my favorite [...]
Techniques to manage a large suite of automated tests within a CI environment and yet still get fast feedback.
Do you know what to look for when reviewing test code? Here are 8 specific things I pay close attention to when conducting code reviews for tests.
Angie Jones explains the architecture behind Selenium 4’s new Chrome DevTools API and how to use it to take your tests to the next level.
Learn 3 practical approaches to achieve in-sprint test automation to reduce risk and technical debt.
The Playwright open source automation framework has released a Java API for cross-browser end-to-end testing! See how to install Playwright, create tests, and implement the Page Object Model design pattern.
Join the TAU community as we celebrate this amazing milestone - 50,000 engineers now enrolled! I'll be hosting a Live Stream Party which will include special guests (instructors and students), trivia games, and TAU swag prizes! All who attend will also get a cool new TAU 50K badge.
This recipe shows how to automate the playing of an online tic-tac-toe game using Selenium WebDriver and Java
While most people are still using Java 8 from [...]
This recipe demonstrates how to use Selenium 4 to mock geolocation of user within Chrome DevTools.
When using Cucumber, if you want to share state between [...]
Here is a recipe for programmatically reading data from an [...]
Here is the recipe for automating the task of selecting [...]
For the next couple of months, I’ll be live streaming every Wednesday at 12:00 PM PST. In each session, I’ll take a specific automation challenge and come up with a recipe for solving it.
The most popular design pattern used in web UI test codebases is the Page Object Model (POM) design pattern. These tips should help you design healthy classes that implement the Page Object Model design pattern. The use of this pattern promotes separation of concerns (e.g. tests vs managing state), reduces code duplication, and provides reusable methods.
I joined a live Twitch session with Jason Lengstorf on [...]
Selenium 4 brings Relative Locators (originally named Friendly Locators). This functionality was added to help you locate elements that are nearby other elements. The available options are above, below, toLeftOf, toRightOf, and near.
I've released a brand new course - completely free - [...]
Behavior Driven Development, also known as BDD, is an example-based [...]
Many development teams won't attempt to create features and automate the tests for those features [...]
Since Java 8, there have been many cool features introduced. In fact, Java is releasing a new version every 6 months! With so many additions, it can be hard to keep up. Here’s how some of the newer features from Java 8 – 12 can be used in test automation.
Most people do a pretty lazy job of testing APIs. [...]
With Java being the most popular language for test automation, [...]
A code smell is code that isn't technically wrong, meaning, it works; however, the implementation of said code is problematic in that it's difficult to manage and thus can lead to delayed development time and even the introduction of bugs. There are many writings about code smells in application code, but it's not always apparent how to clean up those smells within a test automation code base. There are also code smells which are unique to test automation in particular, which cannot be found in those writings.I've written about seven code smells in test automation, and how you can refactor your code to rid it of the smells.
There's been a resurgence of codeless test automation tools. I've been burned by these types of tools in the past, so have written an open letter to codeless tool vendors with a list of demands. Many have responded. There's also been lively discussion from community members.
I recently conducted research to determine the most widely used programming languages for UI test automation. A complete write-up of my findings, with percentage breakdowns, can be found on Applitools blog. But here's the results at a quick glance.
There’s two ways to invoke PDF test automation using this tool. In the first one, I'll show how to execute the PDF validation via the command line. In the second, how to execute it as part of an automated test.
DZone published a 2019 Guide to DevOps e-Book which contains [...]
I've published a free course on Test Automation University that [...]
Fun fact: In addition to being an automation engineer, I [...]
Joe Colantonio hosted Dave Haeffner, Gil Tayar, and myself for [...]
When automating scenarios, we have to be very careful to [...]
Software developers in test (SDETs), engineers who are a hybrid of software [...]
For many, Machine Learning and AI are nothing more than buzz words. However, machine learning is a realized form of AI that is currently being utilized by top tech companies in products that we use every day. For this reason, it’s important that we understand how this works and what vulnerabilities we should we aware of as testers. In this session, we’ll stay away from all the fancy jargon, and instead look at a demonstration of machine learning in action.
I've been exploring some of the newer testing tools lately [...]
If you've been in software development for any amount of [...]
There's a lot of talk nowadays about the impact that [...]
With JavaMail API, I've been able to not only verify that an email was received, but also verify its contents, open links within the email, extract data sent (temp passwords, verification codes, etc). Someone recently asked me about email verification within automation, so I decided to open source the utility methods I've written that use the JavaMail API.
Does your application and test automation code reside in separate repositories? If so you're missing out. Angie Jones explains the benefits.
I’ve seen (and written) several automation projects where each page class requires a constructor that takes a WebDriver object so that the page classes can access the current browser instance. There’s nothing particularly wrong with this, but I do find it a bit annoying to pass around the WebDriver like a hot potato. There’s a couple of ways to handle it and both involve inheritance.
Before 2018 kicks in, 4 leading experts joined forces to [...]
Are you interested in becoming a test automation engineer? Do [...]
The concept of shifting left suggests that testing be done earlier in the software development process. The notion of this is admirable and, when done properly, can enable teams to be very successful with their quality initiatives. However, the implementation of this practice is often defined from the top down where the powers-that-be aren’t necessarily experts in testing. This has led us to the current state of the industry where being a programmer has become a requirement to shift left. This is a very dangerous state to be in. It’s time to rise up and own our narrative. In this talk, we will explore how to do just that by climbing out of the box that we’ve been placed into as testers and redefining what it means to shift left - from our perspective.
When learning an object-oriented programming (OOP) language, we learn about [...]
At Twitter, we currently have 14 automation engineers and more [...]
Don’t become a closet rock star! While developing your brand as a thought leader, your company may not be aware of the impact that you’re making on the industry. Learn key strategies to ensure that your external stardom is also recognized and celebrated internally within your company.
I was recently featured in QASymphony's e-book, The Future of [...]
Test Automation Engineers are in high demand, but that doesn’t [...]
When done properly, Behavior-Driven Development (BDD) can drastically improve the [...]
Mike Horn, a writer for Smartsheet, reached out to me [...]
The odds of a test automation project succeeding are not [...]
I had the honor of contributing a chapter to Eran Kinsbruner's new book, The Digital Quality Handbook: Guide for Achieving Continuous Quality in a DevOps Reality. My chapter is titled "Actualizing Quality While Practicing Agile" and focuses on how to effectively perform mobile testing in an agile environment.
Once upon a time I needed to automate tests for machine learning...here's what I learned about testing, automation, and the future of both.
Test automation is an essential ingredient to a successful continuous integration/deployment pipeline. [...]
European Testing Conference 2017
Mike Cohn's Test Automation Pyramid is a guide that is [...]
TechGirlz, a wonderful organization that I volunteer with who is [...]
If you search online for articles on Behavior-Driven Development (BDD), [...]
As quality initiatives shift left in an agile world, software testing teams [...]
One reason why human testers are far better at finding [...]
TestBash Philly 2016
Selenium Conf 2016, London, UK
When interviewing candidates for UI automation openings, I like to [...]
TL;DR: taught a workshop and it went great. planned as [...]
It's conference season for me! In my role, it's imperative [...]
I'm an Adjunct Instructor who teaches Java programming to college [...]
Behavior Driven Development (BDD) has become a popular approach in [...]
The Ministry of Testing recently launched Gem Webinars, and I [...]
Developers should not lead your automation efforts. I've never seen this succeed. In fact, many times I have been brought on to teams to clean up the mess that is left behind when developers try to lead this effort. The reason is simple. Developers are not automation engineers.
There's quite a demand for automation engineers. Unfortunately, as the [...]
Test cases are important. They provide step by step instructions [...]
I've been in Automation for more than 10 years. I [...]
Marlena Compton wrote a very interesting blog post on the [...]
I received a pleasant surprise when the Principal of Sci [...]
The Black Data Professionals Association (BDPA) sponsors a wonderful technology [...]
I am very passionate about advocating for minorities and women [...]
I hosted a vendor booth at the US2020 RTP Gaming [...]