from sys import stdin, stdout
from collections import Counter, defaultdict
from itertools import permutations, combinations
from fractions import gcd
import heapq
raw_input = stdin.readline
pr = stdout.write
mod=998244353

def ni():
    return int(raw_input())


def li():
    return list(map(int,raw_input().split()))


def pn(n):
    stdout.write(str(n)+'\n')


def pa(arr):
    pr(' '.join(map(str,arr))+'\n')

# fast read function for total integer input

def inp():
    # this function returns whole input of
    # space/line seperated integers 
    # Use Ctrl+D to flush stdin.
    return tuple(map(int,stdin.read().split()))
    
range = xrange # not for python 3.0+

# main code
for t in range(ni()):
    n,m=li()
    arr=[]
    for i in range(n):
        arr.append(list(raw_input().strip()))
    f=0
    c=0
    move=[(0,1),(0,-1),(-1,0),(1,0)]
    for i in range(n):
        for j in range(m):
            if arr[i][j]!='B':
                if arr[i][j]=='G':
                    c+=1
                continue
            for x,y in move:
                px=i+x
                py=i+y
                if px>=0 and px<n and py>=0 and py<m:
                    if arr[px][py]=='G':
                        f=1
                        break
                    elif arr[px][py]!='B':
                        arr[px][py]='#'
                if f:
                    break
            if f:
                break
        if f:
            break
    
            
    if f==0 and c==0:
        if arr[-1][-1]!='B':
            pr('Yes\n')
        else:
            pr('No\n')
        continue
    if f or (c!=0 and (arr[n-1][m-1]=='#' or arr[n-1][m-1]=='B')):
        pr('No\n')
        continue
    q=[(n-1,m-1)]
    vis=[[0 for i in range(m)] for j in range(n)]
    vis[-1][-1]=0
    while q:
        x,y=q.pop(0)
        #print x,y
        if arr[x][y]=='G':
            c-=1
        for x1,y1 in move:
            px,py=x+x1,y+y1
            #print px,py
            if px>=0 and px<n and py>=0 and py<m:
                if not vis[px][py] and arr[px][py] != '#':
                    vis[px][py]=1
                    q.append((px,py))
    
        
    if c:
        pr('No\n')
    else:
        pr('Yes\n')
