import sys
import string
input = sys.stdin.readline
import math
#import stdout
#import numpy
#letters = list(string.ascii_lowercase)
#from decimal import Decimal
from operator import xor
#d = pow(a, b, p)

p = 10**9 + 7

n = int(input())
for i in range(n):
    #if i > 30:
    #    print(i)
    a,b = list(map(int,input().split()))
    
    ll = []
    good_count = 0
    
    for x in range(a):
        r = list(input().rstrip())
        good_count += r.count('G')
        ll.append(r)
        
    ok = 1
        
    for x in range(a):
        for y in range(b):
            if x+1 < a:
             
                if 'G'==ll[x][y] and 'B'==ll[x+1][y]:
                    ok = 0
                    #print('no')
                    
                if 'B'==ll[x][y] and 'G'==ll[x+1][y]:
                    ok = 0
                    #print('no')
                    
            if y+1 < b:
                if 'G'==ll[x][y] and 'B'==ll[x][y+1]:
                    ok = 0
                    #print('no')
                    
                if 'B'==ll[x][y] and 'G'==ll[x][y+1]:
                    ok = 0
                    #print('no')
                    
    if ok == 0:
        print('no')
        
    for x in range(a):
        for y in range(b):
            if ll[x][y] == 'B':
                if x+1 < a and ll[x+1][y]=='.':
                    ll[x+1][y]='#'
                if x-1 > -1 and ll[x-1][y]=='.':
                    ll[x-1][y]='#'
                    
                if y+1 < b and ll[x][y+1]=='.':
                    ll[x][y+1]='#'
                if y-1 > -1 and ll[x][y-1]=='.':
                    ll[x][y-1]='#'
                    
    if ok == 1:
        if ll[a-1][b-1]!='#':
            explored = [(a-1, b-1)]
        else:
            explored = []
            
        all_explored = set()
        visited =  set()
        xc = len(all_explored)
            
        for j in range(a*b+5):
          
            all_explored.update(set(explored))
            if len(all_explored) == xc:
                break
            
            xc = len(all_explored)
            
            new_explored = []
            
            for node in explored:
                x,y = node
                if (x,y) not in visited:
                
                    if x+1 < a and ll[x+1][y]!='#':
                        new_explored.append((x+1, y))
                    if x-1 > -1 and ll[x-1][y]!='#':
                        new_explored.append((x-1, y))
                        
                    if y+1 < b and ll[x][y+1]!='#':
                        new_explored.append((x, y+1))
                    if y-1 > -1 and ll[x][y-1]!='#':
                        new_explored.append((x, y-1))
                
                visited.add((x,y))
                    
            explored = new_explored
            
        #print(explored,ll)
        #print(all_explored)
        
        count = 0
        for node in list(all_explored):
            if ll[node[0]][node[1]] == 'G':
                count += 1
                
        #print(count, good_count)
                
        if count == good_count or good_count==0:
            print('yes')
        else:
            print('no')
        
                    
    