#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const int maxn = 50, maxm = 1005;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
long long powermod(long long a, long long b, long long c) {
  a = a % c;
  long long ans = 1;
  while (b) {
    if (b % 2) ans = (ans * a) % c;
    b = b / 2;
    a = (a * a) % c;
  }
  return ans;
}
long long jc[105];
long long C(long long n, long long m) {
  return jc[n] * powermod(jc[m] * jc[n - m] % mod, mod - 2, mod) % mod;
}
char s[55][55];
long long f[4][2] = {-1, 0, 1, 0, 0, -1, 0, 1};
long long flag[55][55];
long long vis[55][55];
long long n, m;
long long check(long long x, long long y) {
  for (long long i = 0; i <= 3; i++) {
    long long xx = x + f[i][0];
    long long yy = y + f[i][1];
    if (s[xx][yy] == 'B') return 0;
  }
  return 1;
}
void fin(long long x, long long y) {
  vis[x][y] = 1;
  for (long long i = 0; i <= 3; i++) {
    long long xx = x + f[i][0];
    long long yy = y + f[i][1];
    if (xx >= 1 && xx <= n && yy >= 1 && yy <= m) {
      if (s[xx][yy] != '#' && vis[xx][yy] == 0) {
        flag[xx][yy] = 1;
        fin(xx, yy);
      }
    }
  }
}
int main() {
  long long T;
  scanf("%lld", &T);
  while (T--) {
    memset(s, 0, sizeof(s));
    memset(flag, 0, sizeof(flag));
    memset(vis, 0, sizeof(vis));
    long long i, j, k;
    scanf("%lld%lld", &n, &m);
    for (i = 1; i <= n; i++) scanf("%s", s[i] + 1);
    for (i = 1; i <= n; i++) {
      for (j = 1; j <= m; j++) {
        if (s[i][j] == 'B') {
          for (k = 0; k <= 3; k++) {
            long long xx = i + f[k][0];
            long long yy = j + f[k][1];
            if (xx >= 1 && xx <= n && yy >= 1 && yy <= m) {
              if (s[xx][yy] == '.') s[xx][yy] = '#';
            }
          }
        }
      }
    }
    long long vis1 = 0;
    if (s[n][m] != '#') {
      flag[n][m] = 1;
      fin(n, m);
    }
    for (i = 1; i <= n; i++) {
      for (j = 1; j <= m; j++) {
        if (s[i][j] == 'G') {
          if (flag[i][j] == 0 || check(i, j) == 0) vis1 = 1;
        }
        if (s[i][j] == 'B' && flag[i][j] == 1) {
          vis1 = 1;
        }
      }
    }
    if (vis1 == 1)
      printf("No\n");
    else
      printf("Yes\n");
  }
}
