Acceptance tests are commonly used to validate software but they can be improved. While acceptance tests provide value, solely relying on them has drawbacks such as being too late in the development process to detect architectural flaws. An alternative is to implement property-based testing which can validate software at different levels of abstraction earlier in development.