#include <bits/stdc++.h>
using namespace std;
const long long mxsz = 55;
long long n, m;
char a[mxsz][mxsz];
bool b, g;
map<pair<long long, long long>, bool> us;
void clear() {
  for (long long i = 0; i <= n + 1; i++) {
    for (long long j = 0; j <= m + 1; j++) {
      a[i][j] = '.';
    }
  }
  b = g = 0;
  us.clear();
}
void bfs(long long i, long long j) {
  queue<pair<long long, long long>> q;
  q.push({i, j});
  us[{i, j}] = 1;
  while (!q.empty()) {
    pair<long long, long long> x = q.front();
    q.pop();
    i = x.first;
    j = x.second;
    if (i + 1 <= n && a[i + 1][j] != '#' && !us[{i + 1, j}]) {
      q.push({i + 1, j});
      us[{i + 1, j}] = 1;
    }
    if (i - 1 >= 1 && a[i - 1][j] != '#' && !us[{i - 1, j}]) {
      q.push({i - 1, j});
      us[{i - 1, j}] = 1;
    }
    if (j + 1 <= m && a[i][j + 1] != '#' && !us[{i, j + 1}]) {
      q.push({i, j + 1});
      us[{i, j + 1}] = 1;
    }
    if (j - 1 >= 1 && a[i][j - 1] != '#' && !us[{i, j - 1}]) {
      q.push({i, j - 1});
      us[{i, j - 1}] = 1;
    }
  }
}
void solve() {
  cin >> n >> m;
  for (long long i = 1; i <= n; i++) {
    for (long long j = 1; j <= m; j++) {
      cin >> a[i][j];
      g |= (a[i][j] == 'G');
      b |= (a[i][j] == 'B');
    }
  }
  for (long long i = 0; i <= n; i++) {
    a[i][0] = a[i][m + 1] = '#';
  }
  for (long long i = 0; i <= m; i++) {
    a[0][i] = a[n + 1][i] = '#';
  }
  if (!g || (!g && !b)) {
    cout << "Yes\n";
    clear();
    return;
  }
  if (g) {
    a[n][m] = 'G';
  }
  for (long long i = 1; i <= n; i++) {
    for (long long j = 1; j <= m; j++) {
      if (a[i][j] == 'B') {
        if (a[i + 1][j] == 'G' || a[i - 1][j] == 'G' || a[i][j + 1] == 'G' ||
            a[i][j - 1] == 'G') {
          cout << "No\n";
          clear();
          return;
        }
        if (a[i + 1][j] != 'B') {
          a[i + 1][j] = '#';
        }
        if (a[i - 1][j] != 'B') {
          a[i - 1][j] = '#';
        }
        if (a[i][j + 1] != 'B') {
          a[i][j + 1] = '#';
        }
        if (a[i][j - 1] != 'B') {
          a[i][j - 1] = '#';
        }
      }
    }
  }
  bfs(n, m);
  for (long long i = 1; i <= n; i++) {
    for (long long j = 1; j <= m; j++) {
      if (a[i][j] == 'G' && !us[{i, j}]) {
        cerr << "herewego\n";
        ;
        cout << "No\n";
        clear();
        return;
      }
    }
  }
  cout << "Yes\n";
  clear();
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long t;
  cin >> t;
  while (t--) {
    solve();
  }
}
