yoshitake_1201’s diary

テストのこととか、ペンギンのこととか書きます。

第157回テストラジオのメモ-シナリオテストとデータ移行の回 #テストラジオ

第157回テストラジオで話したことのメモです。
本編はこちら

話したこと

  • シナリオテストの話
  • データ移行でみつかった不具合の話

今回はなそさんと自分がそれぞれ話したいネタを1つずつ話しました。

シナリオテストの話

なそさんが今回のラジオで話したかった話。
ここではシナリオテストとは「業務シナリオや業務フローをもとにテストしていく」といった意味合いで使いました。
「シナリオテストを作って欲しい」となそさんがメンバーに依頼したら、お互いに想像していたものが違って「あれ?」となったというのがこの話。 「シナリオテストを作る」という経験が自分にはあまりないので、なかなか新鮮な話でした*1

自分は「シナリオテスト」というワードに引っ張られて、収録直前の週にある社内システムの仕様(操作)を教えてもらったという話をしました。 この社内システムの追加開発でテストが必要になったけど、テストチームがほぼ触ったことが無いシステムなので、 せっかくなら社内で実際に使っているメインユーザーに仕様と操作を教えてもらおうと思った、というのが経緯です。 自分たちがテストする時に「ユーザーはどんな操作をするだろう?」「どう思って操作するだろう?」と想像することはもちろんあるんですが、 「ユーザーが実際に触っているのを見る」機会がなかったので、レアな経験でした。

説明してもらいながら実際に普段の操作をしてもらったので仕様や動かし方を知ることができたのですが、 個人的にはそれよりもちょっとした操作の癖や入力の順番を見れたことがとてもよかったです。 (おそらく)開発した当時は想定してない部分から検索したり、 あるデータを登録するときには「最初に一部のフォームに値を入れて登録して、後日、編集画面から残りのフォームに値を入力する」などなど。

シナリオテストを考えるときにはこういった操作まで細かく想像することも大事なんだろうなぁと思いました。

※ メモ ISTAB(JSTQB)では「ユースケーステスト/シナリオテスト/ユーザシナリオテスト」として以下のように定義されている。

ブラックボックステスト技法の一つ。ユースケースの動作を実行するようにテストケースを設計する。

https://glossary.istqb.org/jp/search/%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA

データ移行でみつかった不具合の話

よしたけが今回のラジオで話したかった話。
ここで自分はデータ移行を「システムをリプレイスするときに既存のシステムからデータを移行する」 「現行システムがない場合は、新システム利用開始前にデータを注入する」といった意味合いで使いました。 自分のチームはデータ移行(のテスト)に関わることがあまりなかったのですが、珍しく関わって「データ移行らしい不具合」を見つけましたというのがこの話です。
※ 実際のデータ数はかけないですが、1レコード20カラムぐらいで500レコードぐらいあるといった感じざっくりな想像でOKです。

ラジオ本編では以下のバグの話をしました。

  • 必須のカラムが空になってるものがあった
    • システムを動かすと500エラーが起きたのでわかった。
  • あるカラムの数値データがおかしくなってるものがあった
    • システムを動かしていたら気づいた
    • データ注入前にエクセルでデータを弄ったらエクセルの書式によって値がおかしくなったっぽい。
  • あるカラムに改行が反映されてなかった
    • システムを動かしていたら明らかに改行されてそうなものが改行されてなかったので気づいた

自分たちがデータ移行のテストをする前に、もちろんエンジニアも注入するデータのチェックをしてくれてたので、基本は問題なかったんです。 一部のデータだけで起きていたので見つけれてよかった。

ラジオ本編やツイキャスのコメントで以下のようなこともありそう、というのをなそさんが教えてくれました。

  • 移行するとき、新システムへデータの入れ先がない(逆もありそう)
  • リレーション間違い(IDがくっつく予定がIDがないとか)
  • 売上データと思ったら明細は仕入れデータだった(データの勘違い)

また、自分が使っている「データ移行のテスト」というのは「現新比較」(現新比較テスト/現新比較検証)というそうですね。
知らなかったので勉強になりました。

ラジオ収録外で話したこと

・年が明けてから音声問題に悩まされいる
 収録ソフトのノイズキャンセルと使っている機材との相性問題なのかなんなのか、なかなか難しいですね。 この回はその調整に1時間ぐらいかかったので、なかなかもどかしい。 これが解決したときはすっごい気持ちいいんだろうなぁ。

*1:シナリオテストをしないわけではないけど、まだまだ甘いので今後やり方を極めたいなぁと思った