
import java.util.Scanner;

public class Main {
    static int count ;
    static boolean mark [][] ;
    static final int row[]={0,0,1,-1};
    static final int column [] = {1,-1,0,0};
    static int n,m;
    static   String a[][];
    static boolean res;
    static boolean ck(int r, int c){
        if (r >=  n || c >= m) return false ;
        if (r < 0 || c < 0 ) return false ;
        if ( a[r][c].equals("#")) return false ;
        return true;
    }

    static void dfs (int r,int c){
        mark [r][c] = true;
        if (a[r][c].equals("G")) {
            count++;
            for (int i = 0; i < 4 ; i++)
                if (ck (r+row[i],c+column[i]) && a[r + row[i]][c+ column[i]].equals("B"))
                {
                    res = false;
                    return ;
                }
        }

        if (res == false ) return ;


        for (int i = 0; i < 4 ; i++)
        if (ck (r+row[i],c+column[i]) && !mark[r + row[i]][c+ column[i]]  && !a[r+row[i]][c+column[i]].equals("B"))
            dfs (r+row[i],c+column[i]);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        int t = sc.nextInt();
        int totalG;

        for (int x = 0 ; x< t ; x++){
            n = sc.nextInt();
            m = sc.nextInt();
            a = new String [n][m];
            count = 0 ;
            totalG =0 ;
            mark = new boolean[n][m];
            res = true ;
            sc.nextLine();

            for (int i = 0 ; i < n ; i++)
                a[i] = sc.nextLine().split("");

            for (int i = 0 ; i < n ; i++)
                for (int j = 0 ; j< m ; j++)
                    if (a[i][j].equals("G")) totalG ++;
                    else if  ( a[i][j].equals("B"))
                    {
                        for (int q = 0 ; q <4;q++)
                            if (ck(i+row[q],j+column[q]) && a[i+row[q]][j+column[q]].equals("."))
                                a[i+row[q]][j+column[q]] = "#";
                    }

            dfs (n-1,m-1);

            for (int i=0 ; i <4 ; i++)
                if (ck(n-1+row[i],m-1+column[i]) && a[n-1 +row[i]][m-1+column[i]].equals("B") && totalG >0 )
                    res =false ;

            if (res && count == totalG) System.out.println ("Yes");
            else System.out.println("NO");
        }
    }
}
