#!/usr/bin/env python
from __future__ import division, print_function

import os
import sys
from io import BytesIO, IOBase

if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip

############################################################################
#                           ACTUAL CODE
############################################################################
def solve(t):
	n,m = map(int, input().strip().split())
	data = []

	for i in range(n):
		data.append(list(input()))
	# block all the bad people
	no_of_goods = 0
	for i in range(n):
		for j in range(m):
			if(data[i][j] == 'B'):
				nxts = [(1,0), (-1,0), (0,1), (0,-1)]

				for x,y in nxts:
					if(i+x >= 0 and j+y >= 0 and i+x < n and j+y < m):
						if(data[i+x][j+y] == 'G'):
							return 'No'
						if(data[i+x][j+y] == '.'):
							data[i+x][j+y] = '#'
			if(data[i][j] == 'G'): no_of_goods += 1

	# for row in data:
	# 	print(row)

	if(data[n-1][m-1] == '#'):

		return 'No' if no_of_goods > 0 else 'Yes'

	reachable = [[False for i in range(m)] for j in range(n)]
	# reachable[n-1][m-1] = True

	from collections import deque
	qq = deque()
	qq.append((n-1,m-1))

	nxts = [(1,0), (-1,0), (0,1), (0,-1)]

	while(qq):
		x,y = qq.popleft()
		if(reachable[x][y]):
			continue
		if(data[x][y] == '#'):
			continue
		if(data[x][y] == 'B'):
			return 'No' # should not happend though

		reachable[x][y] = True

		for i, j in nxts:
			if(x+i < 0 or y+j < 0 or x+i >= n or y+j >= m):
				continue
			qq.append((x+i, y+j))

	for i in range(n):
		for j in range(m):
			if(data[i][j] == 'G' and reachable[i][j] == False):
				return 'No'

	return 'Yes'






def main():
	tc = int(input().strip())

	for t in range(1, tc+1):
		print(solve(t))

	# print(solve(1))

############################################################################
#                         FAST-IO
#                         PyRIVAL
############################################################################

BUFSIZE = 8192


class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = "x" in file.mode or "r" not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b"\n") + (not b)
			ptr = self.buffer.tell()
			self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			self.buffer.truncate(0), self.buffer.seek(0)


class IOWrapper(IOBase):
	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode("ascii"))
		self.read = lambda: self.buffer.read().decode("ascii")
		self.readline = lambda: self.buffer.readline().decode("ascii")


def print(*args, **kwargs):
	"""Prints the values to a stream, or to sys.stdout by default."""
	sep, file = kwargs.pop("sep", " "), kwargs.pop("file", sys.stdout)
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop("end", "\n"))
	if kwargs.pop("flush", False):
		file.flush()

# ''' uncomment if fastIO not required
if sys.version_info[0] < 3:
	sys.stdin, sys.stdout = FastIO(sys.stdin), FastIO(sys.stdout)
else:
	sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)

input = lambda: sys.stdin.readline().rstrip("\r\n")
# '''

############################################################################



## DRIVER # PROGRAM ########################################################

if __name__ == "__main__":
	main()