This awk statement works as expected:
# echo "one potato? two potato" | awk \'{gsub(/[[:punct:]]/," test "); print}\' one potato test two pot