【探索的テスト】テスト設計とテスト実施を並行で行うということの実践LIVE

探索的テストにチャレンジしてみようかと思います。
テスト対象はWindows標準の「メモ帳」アプリとします。

「試験対象ソフトウェアを動かして得た情報や事前知識を元に、テスト設計とテスト実施を頭の中で順次並行で行う」
と前回記載しました。

今回は「設計と実施の並行実施」なので、事前の準備は敢えてすっ飛ばします。

—————-

まずは、全体を眺める。

<以降、カッコは私の心の声>
<赤文字は解説>

「シンプルだな・・・・」
「ヘッダ部分とメイン部分に大きくわかれるのか」
「ヘッダ部分はメニュー構成になっているので、一つずつ確かめていくか?」
「メイン部分は操作がいろいろバリエーションありそう」

ザックリ、全体俯瞰してますね

「さて、ヘッダ部分を眺めてみるか」

「ファイル・・・ファイルを操作するわけだから、大事そうだな。」
「ファイルが保存されてなかったり、したらこれは大変。」

一応、ユーザ利用状況から重要機能を考えているようです。

「『上書き保存』と『名前を付けて保存』の関係がなんとなく面白そう。」
「『新規』と『開く』の関係も面白そう。」

直感的に面白そうな部分を見つけているようです。
どこに面白さを感じたのかは不明・・・。

「そういえば、新規ファイル作った時って「上書き保存」にしても「名前をつけて保存」になった気がするなあ。」

過去の経験を呼び起こしていますね。
これは、わたしが初めてパソコンを触った時に、浮かんだ疑問というか気づきでした。

「ファイル自体に属性がついているのかな。」
「であれば状態遷移的なことやってみるか」

仮説を立てたみたいです。
ファイルの状態がいろいろ変るので、それによって
色々面白うそうなことが起きそうな予感を感じています。


「メイン部分の操作に関する部分になるのか。」
「WINDOWS側の機能を使ってるのだから不具合はなさそう」
「ただ、クリップボードとの連携とかどうなってるんだろうな」
「『日付と時刻』ってなんだろう。今まで気が付かなかった。」
「あたりまえだけど、初期状態だと色々とグレーアウトになってるんだな」
「ってことはどのタイミングでグレーじゃなくなるんだろう」
「ショートカットキーがすべてについてるんだな」

ここも、色々な気づきがあるようです。
「初期状態」とそれ以外でのテストが思い浮かびます。


「大したことなさそうにみえるけど、『フォント』の向こうには深遠な世界が待っていそう」
「ただ、『選んだフォントが戻ってくる』といったブラックボックスで考えればよいか」

直感的に、ここは深入りしたくない感じ。


「これはたいしたことなさそう」


「これも別によいだろう」

「どーれ、次はどう進めようかな。」
「『ファイル』は大事そうだら優先かな」
「ファイルの属性の状態遷移的アプローチをとってみようか」
「新規 開く 上書き 名前を付けて に絞ろう。」

「まずは新規作成・・・の前に、もうすでに、アプリを立ち上げた状態で新規作成の状態なのか」
「では、この状態で「上書き保存」を選択するとどうなるか?」

今まで感じたことを実際に行動に移しています。

「『上書き保存』のダイアログが表示された」

「正解だな」
「ってことは「新規」の状態に相違ないという事か。」

「まだ何も書いていない状態のままでできること・・・」
「『開く』でもやってみようか」
「たぶん『保存しますか』の『保存確認ダイアログ』はでないで、『開くダイアログ』が出るはず」

仮説の通り、ファイルの「状態」に着目してみました

「うむ」

「予想通りだな」
「ファイルの状態は『新規』『本文に何も書かれていない』になってるということか」

「では、なにか文章を書いてみよう」

「この状態だと、さすがに『開く』のときに保存確認ダイアログがでるだろう」

「だよね。『本文に記述がある』状態になったわけだ。」
「だから保存義務が発生したのだね。」

おお?

「ここで本文をクリアしたら・・・」
「まさか「本文に何も書かれていない」状態に戻るのか?」
「はたまた、『本文に記述がある』状態のままと認識されて、保存確認ダイアログがでるのか?」

「確かめてみよう!」

ピッカリとひらめきが!
たぶん、過去の経験上
・操作パスは行ったり来たりしてみる
・空白やNULLはバグの宝庫
・戻ったりクリアしたりすると色々なことが起こる

といったアイデアが結びつきました。

しかも、結果がどうなるか、ちょっとワクワク。

「クリアして・・・」

「『開く』を押下すると・・・・」


「『保存確認』ダイアログは出ずに、『開く』ダイアログがでたか・・・。」
「『本文に何も書かれていない』状態に戻るのね。」
「まあ、そりゃそうだよな。保存しても意味がないし。」

「インシデントは発見できなかったけど、一つ理解した!!」

「さて、次は何をやろうかな・・・・。」

「そうだ、保存関係をいろいろ試してみようか!」

<以下、テストは続く・・・・>

結果として問題はなかったけど、ここで「保存確認」ダイアログが出たらどう考えるだろう。
仕様書が無いので判断はできないですが、「空白のファイルを保存してどうなる」といった
利用者観点からインシデント報告するか?
そして、もう少しこの部分をいじり倒してみることになるだろう・・・・。
—————-

ということで、いかがでしたでしょうか。
実際に私がメモ帳に向き合ってみて考えたことと実践したことを
LIVE形式で書き連ねていきました。

かなり雑にやってますので、これが「テスト設計」かといわれると「?」でしょうが、
・過去の経験
・アプリを触った感触と感想
・興味を持った部分
・仮説

などが絡み合って、次のアイデアが生まれていると思います。
(ということに、今自分で気が付きました)

テストを実施して、インシデントを発見する人間のプロセスは、やはり複雑なようです。
自分の思考プロセスや、他人のプロセスも一度形にして表現してみると面白いと思いました。

※次は、メンバのだれかの思考プロセスを覗いてみようかな・・・・