JaSST’20 北海道に参加してきました
はじめに
事業開発部でQAエンジニアをしている長友です。
今日は、テストに関するイベントに参加してきましたという投稿です。
日本でのテストのイベントといったら、JaSST です。
東京開催に参加される方は多くいると思いますが、JaSSTは日本各地で行われています。北陸、東北、関西、新潟、北海道、東海、四国、九州と全国各地で、それもその地方の特徴のある内容で行われています。
今年は、新型コロナの影響で、北陸が行われたあとの東京開催は中止になりました。
そして、2020年7月3日に開催されたのが JaSST'20 北海道 です。
(以下 JaSST北海道と記載します。)
こちらのイベントは今回オンラインの開催です。
JaSST北海道は、何度か参加させていただき、毎回おもしろい企画が多くて、ほんとに楽しく学習できる場と感じられるイベントです。
今回はどんな感じだったのかを報告させていただきます。
テーマ
各地のJaSSTでは、毎回テーマを考えて開催されています。
今年のJaSST北海道のテーマは、「テスらんかぁ? 〜知識イチからテスティング〜」でした。
意味は「テストしてみませんか?」というのと、「テストランカーになってませんか?」をかけて作られた問いかけだそうです。
テスランカーも造語だそうで、「テスト」と「スペランカー」から作られた言葉だそうです。
スペランカーとは、「spelunker」で無謀な洞窟探検者を意味していて、「テスランカー」の意味は、「無謀なテスト探検者」だそうです。
クリエイティブなことであるテストをしてみませんか?と、テストするときにテスランカーになってませんか?というのを合わせた問いかけになっているということです。
それで、今回のイベントの中で、「caver」(ケイバーと読む)という十分な知識を持った上で洞窟探検を行う者になるヒントをつかめてもらうことが目的でした。
基調講演
基調講演は、NTTデータの熊川一平さん(くまがわさん)の「なぜ大規模SIerで探索的テストを推進しているのか?」という内容のご講演です。
探索的テストということで、まさにテスランカーになってしまいそうなところに対応する内容でした。
NTTデータという大きなSIerさんのところで、探索的テストなんてどうやって導入されたのかとても興味がありました。
探索的テストとは
探索的テストというと誤解されることも多く、そこを熊川さんはうまく整理をされていました。
探索的テストには思考するプロセスがあり、実行したテストの結果を観察して、頭の中で考えてテストケースを更に設計してぐるぐる回していくというものです。一回のテスト実行では終わらせずにバグを探索していくというところが大事です。
ご講演の途中で語られた言葉の中にあった「勝ちに不思議の勝ちあり 負けに不思議の負けなし」が印象に残っています。成功パターンにとらわれることなく、失敗は必然なことから起こるので、そこから見ていくのがいいよということで、探索的テストもそうした考えに沿うものなんだと思いました。
探索的テストをなぜはじめたか
テストをすることで得られることは、バグと悪い仕様を見つけること。
それも本来難しいシステム開発の問題を解決するために、論理的に解かない方法を使って、現実的な効果を積み上げることで解決されようとしたのだそうでです。
そのため、探索的テストを使って、10倍近いバグの摘出、100倍近い仕様改善提案を行っていったそうです。
この現実的な効果を積み上げて、NTTデータさんのような大きな会社では特に受け入れてもらえなさそうな探索的テストを導入していったそうです。
また、探索的テストにも弱点はあるので、そこを解消するために、テストケースを書かない探索的テストとテストケースを書く記述式のテストのいいとこ取りをするためのツールまで作られています。
実際にご講演内で実演してみせていただいた内容は、とても使えたら良さそうだと思えるものでした。
最後に熊川さんがおっしゃっていたのは、技術者の皆さまのパワーをより発揮しやすく、もっと楽しく仕事ができるうようにするのが使命だとおっしゃっていて、とても感銘を受けました。
招待講演
今回このイベントに参加すると言ったときに、私の部署の皆さんがもっとも反応されたのはこの招待講演でした。
内容は「美味しくいただく為のハンティング」です。
JaSST北海道では、異業種の方の登壇があります。
招待講演は、一日たくさんの講演を聞いた後で、結構疲れているのですが、毎回異業種の方のお話はとても面白く、すごく印象に残る講演が多いです。今回もとても楽しみにしていました。
ご登壇してくださったのは、お茶をお仕事にされている玉翠園の玉木康雄さんです。
なぜお茶をお仕事にされている方がハンティングを?
お茶でお仕事にしていかれるなら、水源の森を守り続けなさいという祖父の家訓があったからだそうです。 山が宅地開発される状況はなくなってきて、今もっとも森林破壊となっているのが鹿が木の皮を食べて、木を枯らせてしまうことなんだそうです。
猟
猟の仕方にもいくつか種類があるそうで、玉木さんがされている猟の仕方は、「忍び猟」というものだそうです。
ご自身の気配を消して、獲物に気づかれないようにして、一撃で仕留める仕方だそうです。
とても大変な猟で、ご講演内では、鹿の写真を動かしたりして、動く標的をそれも20cmくらいの的にかなり離れたところから狙うことの大変さを伝えてくださいました。
また、仕留めた後はとても重たい荷物をアップダウンある中、何往復もされるそうです。
仕留めたかぎりは、大切な命を無駄にしてはいけないという気持ちがひしひしと伝わってきました。
一発で仕留める
普段私達が近所のスーパーなどで買って食べる肉がまずいということがないのは、一気に仕留めているからだそうです。
だから、鹿を仕留めるときも、一発で仕留めることが美味しく食べることになるそうです。 一発で仕留められないと苦しんで、血が末端の方まで行き、血抜きがちゃんとできず、鉄の香りが残ってしまうんだそうです。
一発で仕留めて、血抜きをちゃんとした肉はほんとうに美味しいそうです。
講演内で移された料理もとても美味しそうでした。
「本当に美味しくいただくと、心身ともに満たされて、頂いた命に対して、本能的に感じる自然に対する敬意と感謝に変わる」とおっしゃってました。
ご講演の最後の質疑応答を受けているときに、回線の影響で音声が途切れた瞬間に、画像も固まって、そのときに映っていた玉木さんの笑顔がすごく印象的で、ほんとに自然に感謝されていると思いました。
事例講演
今回のJaSST北海道では、募集して集められた事例講演が 3つありました。
チームの改善リズムをつくるための最初の一歩
登壇してくださったのはグロース・アーキテクチャ&チームスの常磐香央里さんです。 札幌ご出身の方で、何度かJaSST北海道で登壇されていて、わかりやすくご説明してくださるのが印象にあります。 今回は地元の札幌からではなく、東京からの発表でした。
改善活動は重要だということは理解しているのに余裕がない。また改善提案でいい案が出せない。改善提案が却下されてしまう。日々の業務に追われてなかなかできていない。
といった悩みについてです。
そんな今回の悩みに対して、改善サイクルを身につけることで解決していこうというお話でした。
工夫する点としてあげておられたのは、チーム定例会と、メンバーの気づき、また対策実施後の後押し、そして改善のサイクルを意識することです。
(全然関係ないですが、今回のJaSST北海道では、気づきということがメモ書きした中に一番多かったように思います。)
4つあげておられた工夫により、余裕がなくても続けられて、個人の気づきがチームの気づきになっていき、改善できた体験から意欲が増し、そして改善サイクルが身につき、スクラムチームとの連動がしやすくなるという内容でした。
いつもながら説明がわかりやすく、また今回はチーム外への発展についても語られていて、学びの多いご講演でした。
GSNを用いた欠陥情報からのシナリオテスト作成の取り組み
ご登壇してくださったのはJAXAの波平晃佑さんです。
扱われているものがものだけに、とても多くの発生条件を考慮しないといけないなど、とても大変なものをどううまく扱うかを教えていただきました。
ハードだけでなく、またソフトだけでなく、外部環境まで組み合わせるとほんとに無限にある組合せのシナリオテストをどう作っていくのか。
ロケットを打ち上げたあとすぐに爆発させるわけにはいかないので、大変多くのリスクシナリオを用意しているそうです。
今回は課題を
- 構造と時系列ビューによって発生条件の抽出の誘導
- GSN(Goal Structuring Notation)による組合せの分析の誘導
- ガイドワードによる網羅補完
で解決しようとされた事例をいくつかご紹介いただきました。
1の工夫は、欠陥情報から発生条件の抽出で使われた事例で、また、2の工夫は、リスクシナリオ発生条件の導出の事例で、そして、3の工夫は、さきほどの2の工夫と同じところとテスト条件の詳細化の事例で語られました。
GSNはコンテキストが見られるところがいいということでした。
今後の展開も考えておられて、勉強になりました。
SikuliXを用いたリグレッションテスト自動化の事例紹介
ご登壇してくださったのは、NTTデータの佐藤祥平さんです。
熊川さんが探索テストされたことのあるのと同じものについて、今回のリグレッションテストのテスト自動化をされたそうです。
探索テストするにも大変なシステムを画像認識方式のGUI操作自動化ツールでリグレッションテストをされた話です。
今回は適用可否などの理由を検討した上で、SikuliXというツールを選定されたそうです。
対象のシステムははっきりとは教えていただけませんでしたが、サーバの再起動に時間がかかったり、目視で確認続けるには大変そうなものだということはわかりました。
工夫された点は2つで、
一つ目は、大勢の方が一定の水準で、長期間メンテナンスできる仕組みを作られたそうです。
もう一つ目は、準備作業の効率化のための工夫です。
最初の工夫は、SikuliXは、Pythonなどでスクリプトを作らないといけないところを、Excelのスクリプトを作って、自動生成させるようにしたそうです。
またもうひとつの工夫は、画像認識に動画を使って、サーバーの再起動や再テストにかかる手間を省くようにしたことが語られています。
今後はCI/CDの仕組みも検討しているとのことでした。
SikuliX触ったことないので、触ってみたくなりました。
終わりに
駆け足でイベントの内容を報告させていただきました。
オンラインでの開催でしたので、北海道に行けなかったのは残念です。
ただ、内容はいつもと変わらず、とても満足できる内容でした。 これもすべて、実行委員の方々が、この新型コロナの影響の中でも、皆さんで連携をとられて、じっくり考えて作られたからだと思います。
実行委員の皆さまには頭が下がります。 本当にありがとうございました。
JaSSTは、今年はこの後まだいくつも、それも各地で開催される予定です。参加できるなら参加して勉強したいと思います。
今回はここまでです。