testing and validation