import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskD solver = new TaskD();
        int testCount = Integer.parseInt(in.next());
        for (int i = 1; i <= testCount; i++)
            solver.solve(i, in, out);
        out.close();
    }

    static class TaskD {
        public static char[][] arr;
        public static int[][] vis;
        public static int[][] dp;
        public static int n;
        public static int m;

        public void solve(int testNumber, Scanner in, PrintWriter out) {
            n = in.nextInt();
            m = in.nextInt();
            arr = new char[n][];
            dp = new int[n][m];
            for (int i = 0; i < n; i++) {
                String str = in.next();
                arr[i] = str.toCharArray();
            }
            vis = new int[n][m];
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    if (vis[i][j] == 1)
                        continue;
                    if (arr[i][j] == 'B') {
                        vis = new int[n][m];
                        if (convert(i, j))
                            continue;
                        else {
                            out.println("No");
                            return;
                        }
                    }
                }
            }
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    if (arr[i][j] == 'G') {
                        vis = new int[n][m];
                        if (check(i, j))
                            continue;
                        else {
                            out.println("No");
                            return;
                        }
                    }
                }
            }
            out.println("Yes");
        }

        public boolean convert(int i, int j) {
            if (vis[i][j] == 1)
                return true;
            vis[i][j] = 1;
            if (i != 0) {
                char val = arr[i - 1][j];
                if (val == 'G')
                    return false;
                else if (val == 'B')
                    if (!convert(i - 1, j))
                        return false;
                arr[i - 1][j] = '#';
            }
            if (i != n - 1) {
                char val = arr[i + 1][j];
                if (val == 'G')
                    return false;
                else if (val == 'B')
                    if (!convert(i + 1, j))
                        return false;
                arr[i + 1][j] = '#';
            }
            if (j != 0) {
                char val = arr[i][j - 1];
                if (val == 'G')
                    return false;
                else if (val == 'B')
                    if (!convert(i, j - 1))
                        return false;
                arr[i][j - 1] = '#';
            }
            if (j != m - 1) {
                char val = arr[i][j + 1];
                if (val == 'G')
                    return false;
                else if (val == 'B')
                    if (!convert(i, j + 1))
                        return false;
                arr[i][j + 1] = '#';
            }
            return true;
        }

        public boolean check(int i, int j) {
            if (i >= n || j >= m || i < 0 || j < 0)
                return false;
            if (arr[i][j] == '#') {
                return false;
            }
            if (i == n - 1 && j == m - 1)
                return true;
            if (dp[i][j] == 1)
                return true;
            if (vis[i][j] == 1)
                return false;
            vis[i][j] = 1;
            boolean flag1 = check(i + 1, j);
            boolean flag2 = check(i - 1, j);
            boolean flag3 = check(i, j + 1);
            boolean flag4 = check(i, j - 1);
            boolean result = flag1 || flag2 || flag3 || flag4;
            if (result)
                dp[i][j] = 1;
            return result;
        }

    }
}

