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.
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 [...]
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.
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 [...]
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 [...]
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 [...]
When learning an object-oriented programming (OOP) language, we learn about [...]
At Twitter, we currently have 14 automation engineers and more [...]
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. [...]
Mike Cohn's Test Automation Pyramid is a guide that 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 [...]
When interviewing candidates for UI automation openings, I like to [...]
Behavior Driven Development (BDD) has become a popular approach in [...]
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 [...]