HOME > 活動報告 > イベント報告 > JaSST'20 Hokkaido
2020年7月3日(金) 於 オンライン開催
各地域で実施するJaSSTの中で、初のオンライン開催である。テーマは「テスらんかぁ? ~知識イチからテスティング~」。筆者は自宅(千葉県)からZoomで参加した。参加者からのフィードバック方法として、コメントはZoom、質問はSlidoに投稿する方式だった。各講演資料は公式サイト(末尾にリンクあり)から公開されている。
実行委員長の中岫氏がオープニングトークを努めた。「みなさんの姿が見えないと不安ですね」という、オンラインならではの発言から始まった。
続いて、今回、オンラインイベントを地域でやる意味について考えたと語られた。結論は「そこに文化があれば、やる意味はある」だった。以前から、北海道の特色をなくさないように以下を心がけている、とのこと。
次に、「探索的テスト」と今回のテーマに関連して、簡単な解説(ライトニングトークス)があった。
「テスらんかぁ?」は、テストとスペランカー(注)から作った造語で、テストしてみませんか?その時に無謀なテスト探検者になっていませんか?との問いである、とのこと。
注:スペランカーは無謀な探検者で、ケイバーは知識と装備を持っている探検者を意味する。
最後に中岫氏は以下の言葉で締めくくった。
知識ゼロだと現場では成果を得られないので、知識イチからテスティングできるように、知識を仕入れましょう。今日のシンポジウムで様々な知識と装備を見つけることで、スペランカーからケイバーになって、ソフトウェアという洞窟から成果を得て帰還しましょう。ケイバーになれたらと思うと、わくわくしませんか。
まず、熊川氏が所属する業界について解説があった。IT業界とSIerとの違いである。一般的にIT業界では自社のためにシステムを作るが、SIerは、顧客のためのシステムを作る。そのため、SIerのテストでは、可監査性・客観性が求められるとのこと。
次に、本日の内容の中心である探索的テストについて解説があった。テスト実行後のふるまいを観察して更なるテストにつなげてバグを「探索」するやり方であり、テストケースは無形である。ここで、SIerに求められる可監査性・客観性に合致していない。
次に、熊川氏がなぜ探索的テストを推進しているかについて以下の2点の説明があった。
実際、探索的テストを実施した結果から、スクリプトテストに対して10倍近いバグ摘出能力・100倍近い仕様改善能力があったため、スクリプトテストに加えて、効果的に探索的テストを活用することがプロジェクトのためになると考えている、とのこと。
次に、熊川氏が探索的テスト普及のために行なっている活動の説明があった。一つ目は研修である。意図的にバグを混入させたアプリケーションのバグを探索的テストで発見する研修を作って効果を体験してもらっている。二つ目は新しいやり方である。上記で説明した客観性不足の課題に対して、探索的テストをツールで記録することで追跡して抜け漏れを補える「SONAR Testing」を試している。
熊川氏は最後に、これからの活動として日本のSIerを変えたい、技術者がもっとパワーを発揮して楽しく仕事ができるようにしたい、と語った。
※公式サイトの講演資料とグラフィックレコーディング(わかりやすい!)も合わせて参照願います。
探索的テストに秘められたパワーを感じた。スクリプトテストに対して、10倍近いバグ摘出能力・100倍近い仕様改善能力が示されたことに、わくわくした。私もSIerが変わらないといけないと日々感じているので、SIerに所属するエンジニアが変わるきっかけのひとつになると信じて、社内に紹介していきたい。とても共感が持てる講演だった。
常盤氏から「まず、予稿集に掲載されているフローチャートをやってみてください」と問い掛けがあった。本講演の対象者としては、Bタイプの人がぴったりとのこと。予稿集では、それ以外のタイプの方々にも聴講ポイントが示されていた。
次に、改善のサイクルを身につけ、改善活動が当たり前になるチームになるために、以下の4つの工夫が「とあるテストチーム」での会話付きで紹介された。
1. チームの【定例会】に焦点をあてる
2. メンバーの【気づき】を起点にする
3. 【対策実施】の後押しをする
4. 改善の【サイクル】を意識する
続いて、一歩踏み出してから参考になる、さらなる工夫点が紹介された。
5. より【気づき】を逃さないようにしていく
6. 開発チームの改善サイクルに乗り込む
これで、蚊帳の外だった「とあるテストチーム」が主体的に参加できるようになる、とのこと。
最後に、この先の展望として以下が示された。
なんでも取り込んでしまうのはスペランカー、壁のポイントに絞って導入するのがケイバー、と紹介され、講演は終了した。
※講演内容と質疑応答は、公式サイトの講演資料を参照願います。公開資料は、当日の質疑応答やSlidoに投稿された質問への回答、発表時の様子が加筆されています。
改善活動の発表は背景や経緯よりも成果が強調されがちだが、この発表はケーススタディとしての会話付きの発表で、背景や経緯を知ることができた。よって、自分の経験と照らし合わせることができ、わかりやすかった。質疑応答の中で、「プラクティスを変える目的をチームで話し合いましょう」という回答は、アジャイル開発の支援をしている筆者としては、普段意識していることであり、共感できた。
まず、宇宙機システムの特徴が紹介された。外部環境の状態の影響を強く受ける、複数のコンポーネントと協調しながら動作する、故障・異常があってもできるだけ動作継続が求められる、という特徴だった。
そのため、正常シナリオだけでなく、例外/代替シナリオ=リスクシナリオの作成が重要だが、作成するためには、時間経過の考慮、外部環境/システム/コンポーネント/ソフトウェアに関する複数の発生条件の考慮が必要となる、とのこと。
そこで、構造/時系列ビューによる発生条件の抽出の誘導、GSN(Goal Structure Network)による組み合わせの分析の誘導、ガイドワードによる網羅補完、という対策を挙げた、とのこと。発表では、事例をベースに解説された。
今後の展開として、当手法の適用拡大や費用対効果の計測について、協力いただける方を募集中とのことだった。
※公式サイトの講演資料も合わせて参照願います。
宇宙機システムという、普段なかなか触れることがない環境の概要や課題を知ることができた。ソフトウェア中心のシステムを対象としている筆者にとって、ハードウェアとソフトウェアが協調して動作するシステムに対するテストの難しさは想像以上だった。その中で様々な工夫をされている様子、そしてその工夫を組織内で閉じるのではなく、垣根を越えて業界全体を良くするために協力を仰ぐ様子に感心した。
初めに、当事例発表の背景が説明された。公共分野の大規模エンタープライズシステムが対象で、サーバ台数が多く、再起動するのに15分かかる。システム画面の特徴としては、リッチクライアントで、オブジェクトが動的に移動する特殊画面や、入力タイミングがシビアな操作が存在し、テスト実施の難易度が高い。
そんな中で、E2Eレベルの結合テストのリグレッションテストを自動化し、試験カバレッジ向上/デリバリ短縮/工数削減への挑戦の様子が語られた。
まず、ツール選定プロセスでは、①座標指定方式、②画像認識方式、③画面要素認識方式の中から、上記のシステムの特徴から②画像認識方式が選択されたとのこと。マッチング画像を用いて対象画面を検索し、一致したオブジェクトを操作する方式である。ツールは、無償で国内での適用事例がある「SikuliX」が選択された。スクリプト記述は python を使用したとのこと。
次に、自動テストの作り方として、最初に手動でテストを実施し、そのテスト証跡を用いてリグレッションテスト自動化を準備し、テスト実行 → 失敗検知 → 原因分析 → メンテナンスのサイクルを実施し、その中で以下の2つの課題を解決した、とのこと。合わせてその他の課題も紹介された。
課題1. テストスクリプトの作成効率化。
テストスクリプトとテストデータを分離してコードのメンテナンス性を高め、テストスクリプトを共通化してパターン化し、Excelマクロでスクリプト自動生成の仕組みを実装した。その中で、入力タイミングがシビアなものについては、入力操作パターンを、トリガーパターンと操作パターンに分類した。また、Excelマクロで python スクリプトを自動生成する仕組みを構築し、python のコーディングスキルがないテスト要員も関われるようにした。
課題2. 画像認識方式の準備作業の効率化
マッチング画像作成で用いる過去のテスト証跡(静止画)に不足があった場合に再試験するなど、準備に時間がかかっていた。そこで、手動の結合テスト証跡を静止画から動画に変更し、その動画を活用することで、効率よくマッチング画像を作成できた。
その他の課題. GUI操作自動化ツールでの結果確認の効率化
実行時の画像と、正解の画像を比較する仕組みを構築し、作業を半自動化した。
最後に、まとめとして以下が語られた。
今回、80シナリオのテストを自動化することができた。今後の課題としては、自動化スクリプトのメンテナンス実施(特に動作確認)に時間がかかっているので、自動化スクリプトに対するCI/CDに取り組みたい、とのこと。
講演内容は、公式サイトの講演資料を参照願います。
結合テスト以降のテスト自動化は筆者の周囲でも関心が高く、本発表は、その分野での多くの工夫が紹介されていたので有意義と感じた。特に、テストパターンに応じてスクリプトを分類したり、Excelマクロなどを用いてテストスクリプトを出力する工夫は、多くの現場で参考になると思った。
JaSST Hokkaido 恒例の、異業種の人の講演。講演概要は以下の通り。
「お茶を続けるなら水源である森を守りなさい」が家訓であり、水がダメになっていく理由は、森がダメになっている。このままだと、お茶屋を続けていけないため、自然を守る活動に携わった。森の中からブルドーザーはなくなったが、最近は、鹿が樹皮を食べている。その木は翌年には枯れてしまう。エゾシカが増え、木を食べ、森がなくなってしまう。昔はエゾ狼がいたが、今はいない。人間が、増えた分をハンティングする。
ハンティングには流し猟と忍び猟があり、玉木氏は「忍び猟」が専門である。自分の気配を消して探索し、近づいて一発で仕留める。この方法で仕留めた鹿が一番美味しくいただける。
秋は、森を歩くと小枝が折れる音がする。足を下ろした時に小枝があったら、折らないように気をつける。ソフトウェアの開発・テストと同じようにヒントを探す。けものみち、食痕(食べた時間がわかる)、足跡(種類、深さ、天気)、爪痕(熊は木登りが上手、降りる時に爪痕が残る)などのヒントを手がかりにして鹿に接近する。
たたずむ鹿を見つけたら、前足の付け根が狙撃ポイント。その場所以外は鹿が苦しんでしまう。ハンターは、獲物が苦しんでいるのを見て楽しめる人はいない。また、美味しさに関連する。普通に売られている肉は、その動物たちが苦しまずに死んでいる。前足の付け根の的の大きさは20cm程度。
会場に鉄砲(モデルガン)を持ってきた。日本では、銃の目的外の運搬・使用は禁止されている。一発で仕留めるために、射撃場では何発も打って練習する。本物の銃の重さは4~5kg。
目的を達成するためにツールを変える。索敵エリアを広く取る場合は軽い銃、一発で仕留めるには重い銃。
獲物に出会うまで、凍てつく冬山を何時間も気配を殺しながら進む。からだの筋肉は、獲物に出会うまで、筋肉が働いている。普通の登山よりも体力を使う。
獲物の肉は、7割使える。山奥で仕留めた場合は、肉を車まで運ぶために何往復もする。運べない部分は埋設する。
クルマまで2~3km。道程はかなりのアップダウンがある。荷物10kg+獲物40kg。リュックを背負う時は、地面に置いたリュックの上に体を置いて、よいしょと起きる。結構な重労働である。
仕留めてすぐに血抜きをする。初冬なら冷蔵庫でなくガレージで熟成させる。10日ほど熟成させたもも肉を分厚く切り、ステーキでいただくのは最高である。
普通に売っている肉でも、正面から肉に向き合って食する。原始の時代から、狩猟者が本能的に感じている「獲物とそれを与えてくれた自然」に感謝する。
森に入るのは、日常から解放されたやすらぎと心地よい緊張感がある。山菜取りなど、丸腰で行く時は、これ以上入ってはいけない境界線がある。動物の爪とか牙と人間が対等に戦うためのツールが銃。森では、渓流での一服が楽しみ。お茶を呑む。
息をひそめて、跡を辿り、ついに獲物を見つけた時の高揚感!「よし、やったな」と思う。静かに接近して、音を立てずに撃つ。少しの音でも300m先の鹿は振り向く。荒々しい趣味に思えるかもしれないが、静寂である。
猟友会としての仕事を紹介する。住宅街に熊が出た時に呼ばれる。エゾシカ協会の講師として若手ハンターへの教育活動をしている。美味しくいただくことにこだわってもらえるなら多くの方々に目指してほしい。ただ撃ちたいだけなら、画面の中(ゲーム)をお勧めする。森では数多く撃たない。
自然を守る、美味しい肉をいただけるご褒美。やまほど失敗談がある。狩猟者向けの講義では、その人の参考になるので失敗談をたくさんお話しする。
私の店(日本茶専門店)では、エゾシカのほうじ茶佃煮(エゾシカレシピコンテスト・グランプリ受賞)を販売している。抹茶パフェもある。ぜひ来てください。
思いを山に馳せることがありましたら、この道を目指してください。
※(筆者から)JaSST公式サイト(https://www.jasst.jp/symposium/jasst20hokkaido/report.html#S4)で紹介されている玉木氏のエッセイ「美味しくいただくためのハンティング」もぜひお読みいただきたい。
私は千葉県にいながら、北海道の自然と、その奥深さを実感することができた。狩猟という異業種の貴重な話をお聞きしたので、ソフトウェア業界での改善のヒントにしたい。
中岫委員長から閉会の挨拶があった。概要は以下の通り。
テストはクリエイティブな仕事であり、ツールをうまく使いこなして良き探検者(ケイバー)になりましょう。
本日参加して、テストをやってみたくなりましたか?ケイバーとなるナニカを掴めましたか?
各講演が、テーマの背景にある「探検」という言葉で貫かれていて、統一感があった。実行委員の方々の企画、そしてテーマを汲み取って内容やトークをアレンジされた講演者の方々に感謝する。
オンラインイベントへの終日参加は初めてだった。ネットワーク経由だが、不思議と講演者との距離が近いと感じた。配信ソフトウェアの機能が向上し、画面を通して表情がわかり、ヘッドホンを通して声の抑揚がわかるからかもしれない。また、リアルタイムでコメントや質問が投稿されるので、講演内容を多角的に理解するのに役立ったと思う。
記:和田 憲明(ASTER)