• 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 up their hands over AI generated pull requests. Going so far as to stop accepting PRs from [...]

  • 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 complete, working web application in under an hour using nothing but AI agents? Not just a simple [...]

  • 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 MCP. There was a tweet by Darren Shepherd that summed it up well: "Most devs were introduced to MCP [...]

  • 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 my mind as well. I know we’re talking about how the future is “agentic” but who is [...]

  • 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 so because of lack of experience. One way to gain experience is, of course, to study and practice [...]

  • 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 ladder for a test automation engineer?". This is a great question, as this role is often perceived [...]

  • I had the pleasure of getting some of my favorite developer advocates together in one virtual space to discuss the role of Developer Relations! If you are [...]

  • 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 six years ago, new versions of the language are being released every six months! The latest Java [...]

  • 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 multiple step definition files, you'll need to use dependency injection (DI). There are several options: PicoContainer, Spring, [...]

  • Here is a recipe for programmatically reading data from an Excel spreadsheet using Apache POI. Note that in this example, I'm using the spreadsheet to store test [...]

  • Here is the recipe for automating the task of selecting a date from a Date Picker component. I illustrate this recipe with Selenium WebDriver and Java, however, [...]

  • 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 his show "Learn with Jason".  We paired as I showed him how to use Cypress for test [...]

  • 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 - on Selenium WebDriver with Java! The Test Automation University course takes you from zero to 100, covering [...]

  • Behavior Driven Development, also known as BDD, is an example-based methodology for developing software. The key to BDD is collaborative exercises between Business, Development, and Testers. These [...]

  • Many development teams won't attempt to create features and automate the tests for those features within the same sprint, since these two development activities together can easily take up the entire two-week sprint. However, [...]

  • 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. In my ABCs of APIs workshop, I ask people to manually test an API. When looking at [...]

  • With Java being the most popular language for test automation, I decided to create a FREE course that teaches core Java! This course is a self-paced, online [...]

  • 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 a chapter that I've written called Testing in CI. In this chapter, I cover key considerations which [...]

  • I've published a free course on Test Automation University that walks you through how to define a successful test automation strategy and the many considerations you need [...]

  • Fun fact: In addition to being an automation engineer, I am also a game designer. I created a competitive fashion game that has all of the elements [...]

  • Joe Colantonio hosted Dave Haeffner, Gil Tayar, and myself for a roundtable to discuss 2019 trends in test automation. We discussed some side effects in tooling and [...]

  • When automating scenarios, we have to be very careful to capture all of the various verification points that a tester would process when executing a test. I've [...]

  • Software developers in test (SDETs), engineers who are a hybrid of software developer and tester, are in high demand. From small startups to mega-tech companies, great SDETs are highly [...]

  • 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 and this week I had a look at TestProject. This tool promotes itself as a free community-driven [...]

  • If you've been in software development for any amount of time, chances are you've dealt with code reviews where the comments are harsh, blunt, or sometimes downright rude. Code reviews [...]

  • There's a lot of talk nowadays about the impact that artificial intelligence (AI) will have on testing. There's a new generation of testing tools being developed 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 share the test automation trends that will dominate our daily work procedures and processes in the upcoming [...]

  • Are you interested in becoming a test automation engineer? Do you lead a team you'd like to see transition toward test automation by learning the skills needed [...]

  • When learning an object-oriented programming (OOP) language, we learn about key concepts in theory, but it's not always clear on how to apply those concepts to practical [...]

  • At Twitter, we currently have 14 automation engineers and more than a quarter of them are new college hires. All of us work on different projects which [...]

  • I was recently featured in QASymphony's e-book, The Future of Software Testing: 12 Testing Experts Share Their Predictions discussing my thoughts on what's in store for the [...]

  • Test Automation Engineers are in high demand, but that doesn’t mean companies are willing to lower the bar in hiring for these roles. With test automation projects [...]

  • When done properly, Behavior-Driven Development (BDD) can drastically improve the communication and understanding of requirements. An additional benefit is being able to utilize the domain-specific language of [...]

  • Mike Horn, a writer for Smartsheet, reached out to me and several other test automation practitioners for a piece he was writing on the basics of test [...]

  • The odds of a test automation project succeeding are not favorable. There are many reasons why projects fail, and as much as experienced leaders preach the dos and [...]

  • 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. Because of this, automation engineers—specialized hybrid professionals with both development and testing skills—are in high demand. It's not [...]

  • Mike Cohn's Test Automation Pyramid is a guide that is frequently cited as a good practice to follow. It suggests that: the bulk of your automated tests [...]

  • TechGirlz, a wonderful organization that I volunteer with who is committed to bridging the gender gap by exposing middle school girls to technology, recently held an exciting [...]

  • If you search online for articles on Behavior-Driven Development (BDD), you're likely to find more literature on how everyone is doing it wrong versus what it really [...]

  • As quality initiatives shift left in an agile world, software testing teams realize that they must rely on the fast feedback of automated scenarios for continuous integration and deployment. But [...]

  • One reason why human testers are far better at finding bugs than automated scenarios is because testers aren't just validating the expected results. They are also able [...]

  • When interviewing candidates for UI automation openings, I like to give them typical automation 'problems' to solve. Most of the problems provide them with a picture of [...]

  • TL;DR: taught a workshop and it went great. planned as a Selenium workshop but morphed into a broader automation workshop. presents practical use of automation over simplistic [...]

  • It's conference season for me! In my role, it's imperative that I stay up to date with current trends and technologies, so for the next few months, [...]

  • I'm an Adjunct Instructor who teaches Java programming to college students. I was recently asked by Anna Royzman, President of A Quality Leadership Institute, if I taught [...]

  • Behavior Driven Development (BDD) has become a popular approach in communicating requirements between stakeholders of agile teams. In fact, it's so effective that it's also being adopted [...]

  • 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 demand grows, so has the difficulty in finding testers with automation skills. As of late, I'm seeing more [...]

  • Test cases are important. They provide step by step instructions on how to validate a feature. They are essential for cross-training and necessary for auditing. They also take quite [...]

  • I've been in Automation for more than 10 years. I consider myself a hardcore automation engineer, and have always thought that to truly get automation done you [...]

  • Marlena Compton wrote a very interesting blog post on the power structure in tech and how she believes women and minorities are pushed into software testing roles. [...]

  • The Black Data Professionals Association (BDPA) sponsors a wonderful technology training program for high school students in the community. Some of the students even go on to [...]

  • I hosted a vendor booth at the US2020 RTP Gaming Expo where I showcased my Indie fashion game, Diva Chix, on my 13” Macbook. Amongst the other [...]