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.
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.
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.
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.
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.
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.
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.
