Testing has been voted THE major pain point in the development life cycle by a recent Forrester research. And for good reason. Test automation (regression testing) is essentially not working—many teams are discarding efforts and people talk about the ROI of deleting tests. Especially on the UI-level, tests tend to be brittle and incomplete, yet a huge effort to create and maintain—reflected in the famous test pyramid. This is a stark contrast to current trend topics, like CI/CD, DevOps and shift-left. So how can we solve that problem?
Assertions are the go-to checking mechanism in unit tests. However, when applied to testing interfaces, specifically GUIs, they turn to be toxic for various reasons. But there are alternatives. From ApprovalTests to TextTest to various pixel-comparison tools, Golden Master Testing is a viable option. I give a short overview about them, together with some practical example when to apply what.