3 Lines Summary
- SQiP研究会の基礎コースでソフトウェアテストの話をしてくるよ
- その講演資料をせっかくなのでSpeaker Deckで公開しておくね
- 公開だけだとなんなので、どんな感じで資料を作っていったかメモを残しておくよ
講演概要
- タイトル: ソフトウェアテストの概観を識る
- 発表場所: SQiP研究会 基礎コース
- 講演時間: 180分(休憩と質疑応答込み)
- 対象者: ソフトウェアテストの初学者
-
ゴール:
- ソフトウェアテストの全体像を俯瞰して整理できる軸を持つことで、様々なテストの用語がどういった特性の言葉であるか判断できるようになる
- テストの要素技術に関してのエントリーポイントを把握して、効率よくテストについて学べる下地を持つ
講演資料
講演にいたるまで
需要があるか謎ですが、講演にいたるまでについて簡単にまとめておきます。
きっかけ
日科技連のSQiP研究会では様々なコースが提供されており、コースのテーマごと主査が立てられ、研究員が1年間を通じて学んだり研究したりしています。その中の1つに、「基礎コース ソフトウェア品質保証の基礎」があります。例会が月一で行われていて月ごとに異なるテーマを扱っており、毎回テーマに関して外部から講師を招いて講演を行っています。第7回の今回は「テスト技術」です。
もともと担当予定だった方の都合がつかなくなったため、ピンチヒッターにご指名いただいたのが直接のきかっけです。主に、JaSSTやWACATEといったコミュニティーからのつながりですね。また、日科技連が提供しているJSTQB認定ソフトウェア技術者Foundation Levelトレーニングコースで私が講師をしているご縁もあったかもしれません。
どのような人をターゲットにするか?
ターゲットは、ソフトウェアテストについてまったく知らないわけではないが、全体像を俯瞰できるほどには詳しくない人と想定しました。
いろいろ悩みましたが、
- ソフトウェア品質保証が冠であること
- 基礎コースであること
を考えたときに、聴講者はソフトウェアテストについてバリバリやっているわけではなく、様々なテーマのなかの1つとしてソフトウェアテストの話を聞くのだろうと。ソフトウェアテストに特段の関心がある人なら、基礎コースではなくソフトウェアテストをテーマとした研究コースを選択しているでしょうし。
なにをテーマに置くか?
聴講者を想定したので、次に何を話そうかを考えました。結果として、ソフトウェアの全体像を俯瞰できて、その中で自身が興味のあるテスト技術を把握し、その技術情報にリーチして理解を助けられるような内容としました。
何か特定のテスト技術を1つ扱ってそれを深掘りするのもよいのですが、聴講者はソフトウェアテストについてあまり詳しくないでしょうし、聴講者それぞれの関心事はきっと異なるでしょうし。
であれば、「狭く深く」よりも「広く浅く」でもいいのでソフトウェアテストの全体像を俯瞰してもらい、その中の1つでも自身の関心事にひっかけてもらって、その関心事に対して講演のなかでは深い知見はえられなくとも関心事の概要とより深い情報へのポインタを提供することには、きっと価値があるだろうと考えました。
基礎コースでは、(1)ソフトウェアの品質管理概論、(2)品質マネジメントシステム、(3)品質データ分析技術、(4)レビュー技術、(5)品質管理技術、(6)UX(User Experience)、(7)テスト技術、(8)プロジェクトマネジメント技術、(9)セーフティ&セキュリティ開発といった様々なテーマを扱っているそうなので、このラインナップのなかのテスト技術であれば、「狭く深く」よりは「広く浅く」は、まぁ、外してないだろうと。
では、どのようにテストの全体像を俯瞰してもらうか。自分がテスト活動の空間を考える時には、テストプロセス × テストレベル × テストタイプ
という3次元空間の中で、テスト技術をとらえることが多いです。
- テストプロセス(テスト計画, テスト分析, テスト設計, テスト実装, テスト実行, テスト完了, モニタリングとコントロール)
- テストレベル(コンポーネントテスト, 統合テスト, システムテスト, 受け入れテスト)
- テストタイプ(機能テスト, 非機能テスト, ホワイトボックステスト, 変更部分のテスト)
その空間内で、テスト技法とかテスト自動化とか探索的テストとか、個々の技術要素を考える感じです(下図参照)。
例えば同じ探索的テストでも、探索的テストを実施している時(テスト実行時)の話なのか、どんなチャーターを用意する時(テスト分析)の話なのか、各自の探索した結果を分析する時(モニタリングとコントロール)なのかなどによって関心事は異なります。同様にテストレベルやテストタイプによっても関心事が変わってきます。
工夫した点
3時間ずっと人の話を聞いているだけというのは、よほどテストに興味がないかぎりは長く感じるでしょう。しかも、午後一からの講演なので、どうしたって睡魔が襲ってきちゃいまよね。生理現象は致し方なし。
なので、なにがしか手を動かす仕掛けがあるとメリハリができて良さそうです。最初に思いつくのは演習ですが、今回はテストについて広く浅く扱うので、広い中の1つか2つの要素だけ演習するというのも微妙です。
例えば1つか2つの技法を演習込みの3時間でやるのは違和感ないですが、テストの全体像を扱いその中の特定要素だけ演習するというのもバランスが悪いように感じます。
そこで、話を聞いていく中で所々気になるキーワードがでてくるだろうとから、そのキーワードを付箋紙に適宜記載してもらい、章が切り替わるタイミングで独断と偏見に基づいて「重要度×緊急度」の4象限にプロットしてもらうようにしました(下図参照)。人によっては関心度×有用度みたいな4象限でもいいかもしれませんね。
これなら時間もかからないですし、章の区切りに自身の関心事を記録できますし、この結果を持ち帰ってもらえます。また、右上(個人的な緊急度が高く、また重要だと感じている要素)から順番に、より詳細にあたってもらえそうです。
資料作成
新規のネタならマインドマップや付箋紙を使って要素やストーリーを作り込んでいきます。また、ここにかなり時間をかけます。ここをしっかり煮詰められれば、あとはそれをスライドに落とし込むだけといったところまでPowerPointは使いません。
しかし、今回は過去のテスト初学者向けの講演資料を叩きに、それを3時間でまとまるように再構成したり肉付けしたりするといった形でつくりました。新規ネタを作る大変さに比して、2割くらいの労力といった感じです。
発表練習
個人的に、一字一句喋ることを書き起こした上でそれを覚えると言った形はとらないです。自分が作るスライドは、文字情報だけで構成することは少なく、キーワードやキーとなる図表や写真を置いていることが多いです。
ストーリーは既にスライド作成までに煮詰めているので、そのストーリーを意識しつつそのスライドから想起したことをリアルタイムで喋ります。
といってもぶっつけ本番のノリだけで喋っているのではなく、何回か通し稽古をしてある程度喋る内容を整理していきます。その際、何を喋るかだけでなく、何を喋らないかも整理しておきます。というのも、私はどうしてもアレもコレもと喋りがちになって時間をオーバーしたり話が発散したりで、凝集度というかストーリーに対してノイズが増えていくことが多いので。
よく、お風呂場などで本番と同じように喋ってみることも多いです。あと、バスや電車の移動時間のときに声はださずに喋ることもあります。
とはいえ、あまりやり過ぎると本番の時にライブ感がなくなると言いますか、どうしてもなぞるような喋り方になってしまいがちです。なので、想定している時間内に収まる目処が見えたら練習はおしまいにして、あとは本番に身をゆだねるようにしています。
発表当日
ちょうど、この投稿が公開された日に、当日を迎えることになります。「細工は流々仕上げを御覧じろ」と言いたいところではありますが、なかなか難しいですね。
一人でも多くの参加者に、価値を提供できるようにがんばってきます!
参考資料
需要があるのか、需要があっても参考になるかは疑問ですが、今回は発表までの流れをまとめてみました。
私はガー・レイノルズさんのプレゼンテーションZENに大きく影響を受けたので、もしこの投稿に対して少しでもポジティブな感情が生まれた方は、是非以下の書籍にあたっていただけると嬉しいです。
ではでは。