entry-header-eye-catch.html
entry-title-container.html

entry-header-author-info.html
Article by

社内でソフトウェアテスト講習会を始めました

みなさんこんにちは!ピクシブで唯一のテスト専任エンジニアの @shimashima です。

昨年10月ごろより、特定のプロダクトに参加し品質周りの改善活動を行っています。その一環としてチーム内でソフトウェアテストについての講習会を定期開催するようにしました。 講習会をひらく目的として以下のようなものがあります。

  • ユニットテストに限らないソフトウェアテストの基本的なことを理解してもらう。
  • ソフトウェアテストの奥深さを理解してもらう。
  • いずれ自分がチームから離れるので、その際にある程度自律的にソフトウェアテストについて考えられるようになってもらいたい。

これまでも社内エンジニア勉強会でソフトウェアテストや品質についての発表は行ってきましたが、これらのことはエンジニアに閉じたことではないのでより広く知ってほしいと思っていました。そうしたところ、10月から参加しているチームのテックリードよりメンバ向けにテスト・品質の講義をしてほしいという依頼を受けたので喜んで引き受けることにしました。

講習内容の説明

今までに4回ほど開催し、内容は以下の通りです。

第1回 テスト入門

座学として30分程度、テストの基礎について説明しました。

  • なぜテストを行うのか
  • テストの分類
  • V字モデルの説明

座学の後には、「いま行っているテストとその目的(観点)を挙げてみる」というお題で参加者に付箋紙でテストの観点を出してもらい、現在のテストの目的を認識してもらうようにしました。

第2回 テスト観点とテストケースのマッピング

前回テスト観点を出してもらった結果、多種多様な観点が集まりました。せっかくなのでその観点を生かしつつ実務との関連づけることで自分ごとになるよう、観点といままでのテストケースとのマッピングを行ってみることにしました。

実際のテストケース に対して観点を当てはめていくと、全く触れられていない観点が多数あることがわかりました。これによりきちんと書いたつもりのテストケースでも観点を中心にみると漏れていることが確認できました。

第3回 リスクとテスト観点の対応、優先度づけ

テスト観点について話をしてきたので、その応用としてテスト観点をリスクと紐づけてリスクを減らすためのテストという流れにしてみました。リスクベースドテスト導入のきっかけになればという思いもありました。

まず最初にプロダクトリスクの洗い出しとして、起きてほしくないことを挙げてもらったうえでグルーピングします。その次に前回までで出てきていたテスト観点とリスクを、リスクを減らすためという観点で結んでもらいました。

第4回 JaSST ‘19 Kyushu 「チケットシステムで理解するあのチーム」

私が参加した JaSST '19 Kyushuというソフトウェアテストについてのシンポジウムで、「チケットシステムで理解するあのチーム」 という発表がありました。この内容が面白く参考になりそうだったため、講習会で説明することにしました。 いろいろ前提条件が違うのでそのまま導入することは当然できませんが、チケットについての考え方、特徴的な朝会運用、忍者式テストなど個別で参考になる部分があると考えていました。実際、この講演後、チケットに受け入れテストを書いていくことと忍者式テストを試してみようという動きにもなりました。

気をつけたこと・試したこと

講習を開催するにあたっては以下のことに気をつけました。

ワークショップ形式にする

一つ目は、極力手を動かすワークショップ形式にすることです。 過去inside(その1, その2)でも書いたことがあるWACTE というソフトウェアテストのワークショップや、JaSST(ソフトウェアテストシンポジウム)などではワークショップが一般的に行われています。自分が参加した経験からも、座学で話を聞くだけではなく実際に手を動かしたり考えたりしたほうが理解できると考えました。

また、座学はどうしても受け身になり飽きてしまうことがありますが、ワークショップとして自分が主体となって参加することで集中できるということもあります。

付箋紙とホワイトボードを使う

二つ目は、ワークショップで作業をする際にPCを使わず付箋紙とホワイトボードという物理媒体を使うようにしたことです。 社内では付箋紙とホワイトボードの代わりにTrelloを使うことが多々あります。同時編集できて便利なのですが、どうしても各自がPCに張り付いてしまい、周りと話しながらという雰囲気になりにくい気がしていました。また、付箋紙とホワイトボードを使うと、丸で囲みグルーピングする、コメントをつける、似たものを重ねるなど自由度が高くなります。 上で書いたWACATEなどでは、ワークショップで手を動かす際はほぼ必ず付箋紙と模造紙を使い自由に表現することがあたり前でした。この経験が少なからず影響しています。

f:id:pxvpxv:20200115144244j:plain
付箋紙とホワイトボードを使う

オープンスペースで行う

三つ目は、この講習会を参加者以外の人からも目に付く場所で、具体的には会議室ではなくオープンスペースで行うことです。 最初の2回は会議室で行っていましたが、3回目からは会議室が取れなかったことをきっかけにオープンスペースでの開催になりました。

きっかけは場所が取れなかったことですが、オープンスペースでの開催には明確な目的がありました。それは、社内でテストについての講習が行われていることを参加者以外にも知ってもらうこと、講習で行われているテストについての内容やワークショップで手を動かしていることに興味を持ってもらうことです。

f:id:pxvpxv:20200115144245j:plain
オープンスペースで行う

開催してみて

実は、このような社内でのソフトウェアテストの講習会・ワークショップ開催は初めてでした。最初は「知っていることをまとめて説明すればいいかな」と考えていたものが、「理解してもらうにはどうしよう」「手を動かさないと受け身になってしまう」となり徐々に内容が変化していきました。

ワークショップ開催は事前準備が大変で、当初は毎週開催する予定でしたが準備がとても間に合わなく隔週になった経緯もあります。ですが、そのおかげか受講者からの評判もよく、また自分自身も得難い経験をすることができました。 終わりに まだ講習会は続きますが、このように昨年のうちに4回開催することができました。直接テスト仕様書を書くのに必要なことを行ったわけではないのですぐに業務で生かせるものではありません。ですが、テストエンジニア/QAエンジニアが何を考えているのか、何を気にしているのかについての一端は伝わったのではないでしょうか。

いまは単一部署内での開催ですがより規模を大きくしていきたいと考えています。そしていずれはコンテンツ自体も公開することでソフトウェアテストコミュニティに還元できれば、そのようなことも考えています。

20191219021602
shimashima
2017年11月に中途入社。pixivやpixiv Sketch LIVE エール機能開発を行いつつ全社的な品質向上、テスト改善を行なっています。 2012年よりJaSST(ソフトウェアテストシンポジウム) Tokyo実行委員。