Here is a command that should achieve what you want:
for f in test1/*; do find test2 -name $(basename $f) -size $(stat -c %s $f)c -delete; done
**Explanation:**
* `for f in test1/*`: Loop over each file in test1
* `$(basename $f)`: Return the base name of the file passed through by the loop
* `$(stat -c %s $f)`: Return the size of the file passed through by the loop
* The `c` at the end of the `stat` block is so the output is read as bytes by `find`
* `find test2 -name $(basename $f) -size $(stat -c %s $f)c -delete`: Find matching files and delete them with `-delete`
For a dry run omit the `-delete` flag.
Note: This wont work on MacOS because the built in `stat` command does not support the `-c` flag. Instead install the gnu version of stat.