ソフトウェアテストシンポジウム 2015 東京に参加してきた(その2) の巻

JaSST’15 Tokyo 備忘録 基調講演編


基調講演)
あなたの欲しいものはどうやってテストから手に入れるか

How To Get What You Want From Testing
(for Testers, Developers, and Managers)

講師:Michael Bolton氏 (DevelopSense
James Bach氏と共に「Rapid Software Testing」という教育コースを開発。


ソフトウェアに対する感情は問題を指摘している


人々はソフトウェアに対してどのような感情を抱いているのか。

あるソフトウェアを操作している時にイライラしたり、戸惑ったり、違和感があったり、驚いたりする時があると思う。

それらの感情は問題を指摘している。それらはテストのヒントとなる。

また、テスト実行中に退屈だなぁと感じる時があるだろう。その時は実行中のテストを変える必要がある。


ソフトウェアテストは工場のように効率化できない


ソフトウェアに対するテストは製造業などでいう「設計から作る」ところに対して行うものである。

設計に対するテストは、例えば英語を日本語に通訳するとき機械的に直訳をするだけではだめで、そのニュアンスを解釈する必要があるのと同じように設計に書いていることをそのままテストするだけではだめで、解釈してテストを考える必要がある。

これらの理由からソフトウェアのテストは製造ラインに乗った製品に対して行うものではないので工場のようには効率化することができない。

テストではなく、いわゆるチェッキングの作業であれば効率化できうる。


ソフトウェアテストは試行錯誤のプロセスである


ソフトウェアテストは試行錯誤の繰り返しにより問題の発見と問題を探す方法を考えていくプロセスである。したがって失敗することや間違えることもある。


統計や指標ばかり見ていてはだめ


例えば自動車のダッシュボードだけを見て運転している人はいるだろうか。前を見ていないと大きな事故になるだろう。
ソフトウェアテストもそれと同じで、統計や指標は大事であるが今何が起こっているのかという状況を把握することが大切である。


テストケースばかり見ていてはダメ


なぜテスターはテストケースを書くのでしょうか。例えば、親はしなければならないことに対してペアレントケースを書くでしょうか。例えば、マネージャーはマネージメントケースというものを書くでしょうか。まず大事なのはケースを書くことではなく目的や意味を考えて行動することでしょう。


「チェック」はテストではない


「チェック」とは以下のようなものである

製品を動かしてみてそうなっていることを確認する
観察と評価がプログラムのアルゴリズムによって構成される
ほとんど考えなくてもいい作業

テストとは前述の中にもあるように暗黙知や社会的な判断を踏まえて試行錯誤しながら問題を探すことである。


テスターの仕事とは


・リスクを指摘すること。
・過信を指摘すること。
・製品を熟知すること。
・様々なことに疑問を持ち、問いかけ続けること。
・探究をやめないこと。
・人類学者のような視点を持つこと。


余談)
当日の会場(収容人数:1F 600名)は見た感じほぼ満席。でもちょっと寒かった。はりきって最前列右に座ったが近すぎてちょっと見にくかった。ボルトンさんの英語はわかりやすく、ほとんど通訳のイヤホンを使わずに聞けた。後半のモデリングの話がまとめきれなかったので他の人のブログに期待したいと思う。