#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long powmod(long long a, long long n) {
  long long ans = 1;
  while (n) {
    if (n & 1) ans = (ans * a) % mod;
    a = (a * a) % mod;
    n >>= 1;
  }
  return ans;
}
long long inv(long long a) { return powmod(a, mod - 2); }
long long n, m;
bool check(long long i, long long j) {
  return 0 <= i && i < n && 0 <= j && j < m;
}
vector<pair<long long, long long> > dir = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
void dfs(long long i, long long j, vector<string> &a,
         vector<vector<long long> > &visited) {
  if (a[i][j] != '#') {
    visited[i][j] = true;
    for (auto p : dir) {
      long long i1 = i + p.first;
      long long j1 = j + p.second;
      if (check(i1, j1) && !visited[i1][j1]) {
        dfs(i1, j1, a, visited);
      }
    }
  }
}
void solve() {
  cin >> n >> m;
  vector<string> a(n);
  vector<vector<long long> > visited(n, vector<long long>(m));
  for (long long i = 0; i < n; i++) cin >> a[i];
  long long initcountg = 0;
  for (long long i = 0; i < n; i++)
    for (long long j = 0; j < m; j++)
      if (a[i][j] == 'G') initcountg++;
  for (long long i = 0; i < n; i++) {
    for (long long j = 0; j < m; j++) {
      if (a[i][j] == 'B') {
        for (auto p : dir) {
          if (check(p.first + i, p.second + j)) {
            long long i1 = i + p.first;
            long long j1 = j + p.second;
            if (a[i1][j1] != 'G' && a[i1][j1] != 'B') {
              a[i1][j1] = '#';
            }
          }
        }
      }
    }
  }
  long long countg = 0;
  long long countb = 0;
  dfs(n - 1, m - 1, a, visited);
  for (long long i = 0; i < n; i++)
    for (long long j = 0; j < m; j++) {
      if (visited[i][j]) {
        if (a[i][j] == 'G') {
          countg++;
        } else if (a[i][j] == 'B') {
          countb++;
        }
      }
    }
  if (countg == initcountg && countb == 0) {
    cout << "Yes\n";
  } else
    cout << "No\n";
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  cout << setprecision(20) << fixed;
  long long t = 1;
  cin >> t;
  while (t--) {
    solve();
  }
}
