import java.io.*;
import java.util.*;
 
public class ShostPath2 {
    static int[]X = new int[]{0,0,1,-1};
    static int[]Y = new int[]{1,-1,0,0};
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args){
        int t = sc.nextInt();
        for (int i = 0; i < t; i++) {
            solve();
        }
    }
    private static boolean valid(int x,int y,int n,int m){
        return x >= 0 && y >= 0 && x < n && y < m;
    }
    private static void solve(){
        int n = sc.nextInt();
        int m = sc.nextInt();
        char[][]maze = new char[n][m];
        for (int i = 0; i < n; i++) {
            maze[i] = sc.next().toCharArray();
        }
        for (int i = 0; i < maze.length; i++) {
            for (int j = 0; j < maze[0].length; j++) {
                if(maze[i][j] == 'B'){
                    for (int d = 0; d < 4; d++) {
                        int newX = i + X[d];
                        int newY = j + Y[d];
                        if(valid(newX,newY,n,m) && maze[newX][newY] == '.')
                            maze[newX][newY] = '#';
                    }
                }
            }
        }
        boolean[][]path = new boolean[n][m];
        Queue<int[]>queue = new LinkedList<>();
        if(maze[n - 1][m - 1] == '.'){
            path[n - 1][m - 1] = true;
            queue.add(new int[]{n - 1,m - 1});
        }
        while (!queue.isEmpty()){
            int[] poll = queue.poll();
            for (int i = 0; i < 4; i++) {
                int newX = poll[0] + X[i];
                int newY = poll[1] + Y[i];
                if(valid(newX,newY,n,m) && maze[newX][newY] != '#' && !path[newX][newY]){
                    path[newX][newY] = true;
                    queue.add(new int[]{newX,newY});
                }
            }
        }
        boolean valid = true;
        for (int i = 0; i < maze.length; i++) {
            for (int j = 0; j < maze[0].length; j++) {
                if((maze[i][j] == 'G' && !path[i][j]) || (maze[i][j] == 'B' && path[i][j]))
                    valid = false;
            }
        }
        System.out.println(valid ? "YES" : "NO");
    }
}