While you should know by now that you should not be using the Selenium PageFactory class, it is by far the most common Page Object implementation in Java. If you are starting from scratch there are much better solutions; but if you are using PageFactory and you want to improve it without rewriting everything, here is a simple way to get better performance without sacrificing reliability.
In general, I dislike analogies when it comes to testing. Anything that starts with “testing is like…” Specifically, I hate mountain climbing analogies. They are always used to represent achievement in the face of something daunting, and there’s always a chasm of some kind that you have to cross along the way. The analogy always breaks down because testing is a continuous activity; there is no “top,” no ultimate achievement that can’t be undone by something released tomorrow. I think this analogy is the opposite of how we should think about testing, so I’ve come up with an analogy that is both more apt and more generalizable: The Valley of Success.
In response to the questions people have asked me about my talk on The Hidden Costs of BDD Tools, I’ve created a couple dozen short videos. I’m going to tweet them out over the course of the next couple days with the hashtag #TitusOnBDD, and the videos will all be posted on my YouTube channel. If anyone wants to have a longer conversation about the topic, we can do that in the comments here.