HOME > 活動報告 > イベント報告 > JaSST'17 Shikoku

イベント報告
 ソフトウェアテストシンポジウム 2017 四国

2017年11月24日(金) 於 香川大学研究交流棟5階 (香川大学教育学部キャンパス内)

ソフトウェアテストシンポジウム 2017 四国

はじめに

今年も、香川県高松市の香川大学教育学部キャンパスでJaSST'17 Shikokuが開催された。晴天に恵まれ、寒さが心地よい。本会場では、前半は18名が4グループに分かれてワークショップを実施し、後半はサテライト会場(後述)を含めて35名が講演を聴講した。

開会

10時50分に、実行委員長である香川大学高木先生の開会宣言でシンポジウムが始まった。

今年で10回目の開催である。プログラムは、ワークショップと講演の二部構成で、産学それぞれから講師を招いている。ワークショップの部は JaSST Tokai 実行委員の森氏と林氏、講演の部は広島大学の岡村氏にお願いしたと述べた。

ワークショップ
セッション S1
「テストチームの健康診断 ~ TPI NEXT® を使ったテスト成熟度の把握と改善 ~」
森 貴彦(JaSST Tokai実行委員会)
林 宏昌(JaSST Tokai実行委員会)

セッション概要
(JaSST'17 Shikoku 公式サイト「セッションの内容」から要約)

テスト自動化に取り組む前に、テストチームの現状を把握し、必要な準備をすることが大切である。TPI NEXTを使って、ケーススタディのテストチームを健康診断する。グループワークを通じて、TPI NEXTを学び、今後のテスト改善のヒントを得る。

セッション詳細

今回の講師のひとりである林氏が JaSST'16 Tokyo チュートリアルで TPI NEXT を学び、おおいに感銘を受けた。林氏はこれまで、テストプロセスに関する自分たちの取り組みを言葉で説明しづらいと考えていた。TPI NEXT を活用することで、第三者に対して客観的に説明しやすいと思った。

林氏は、森氏とともにTEF東海で TPI NEXT の勉強会を提案し、実施した。そこで作り上げた成果物が、今回のワークの題材になっている。

次に、セッションの内容を紹介する。

目次

  1. プロセスとは
  2. TPI NEXT を学んでみよう
  3. TPI NEXT 実践編(技術系キーエリア)
  4. TPI NEXT 実践編(管理系キーエリア)
0. プロセスとは

本題に入る前に、プロセスの大切さについての説明があった。ものづくりでは、人・技術・プロセスが大切である。特に組織的な観点では、複数の人が安定してものづくりができること、知恵を蓄積すること、を実現するために、プロセスの整備が大切である。

続いて、「健康状態を維持するためには、食事や歩数を測定し、多面的に健康維持のための活動をチェックすることが大切」を喩えとし、「同様に、テストプロセスの状況を知るためには測定することが大切である」との説明があった。

1. TPI NEXT を学んでみよう

TPI NEXT の特徴についての説明があった。

  • プロセス参照モデルに基づく改善手法のひとつである
  • 連続モデルである(他には「段階モデル」もある)
  • テストコンサル会社の知見をまとめたモデルである
  • 「自己診断」と「自己改善」で始めることができ、アセッサーが不要である
  • 「ビジネスでの目標」に適合しながら、テストプロセスを改善できる

次に、TPI NEXT の構成要素についての説明があった。

  • テスト成熟度マトリクス
    • キーエリア、成熟度レベル、チェックポイント、クラスタから成る。
  • キーエリア
    • テストに関する側面の組み合わせだとみなせるテストプロセスの一部。
      例:「利害関係者のコミットメント」
  • 成熟度レベル
    • ある特定のキーエリアにおけるアセスメントによって、決定した成熟度分類のこと。成熟度レベルは、「初期レベル」「コントロールレベル」「効率化レベル」「最適化レベル」の4つに分けられている。
  • チェックポイント
    • 測定単位。「はい」「いいえ」で回答ができることを想定した文章。
      例:キーエリア「利害関係者のコミットメント」、成熟度「コントロールレベル」におけるチェックポイントのひとつは「利害関係者を決定し、テスト担当者に周知している」である。
  • クラスタ
    • ひとつの改善ステップの役割を果たす複数のキーエリアのチェックポイントをグループ化したもの。どこから改善していけば良いか迷う際に、経験則から順番を示してくれるもの。易しい方からA~Mの英字が付けられている。
  • 改善提案
    • チェックポイントを満たすための How To を示すもの。ヒントや助言であり、成熟度を達成するための必須手順ではない。
  • キーエリア達成のコツ
    • テスト作業と関連するソフトウェア開発サイフサイクルを共に改善することで、改善を促進することができる。
2. TPI NEXT 実践編(技術系キーエリア)

「テストケース設計(技術の専門性)」を評価するグループ演習をおこなった。提示されたケーススタディにもとづいて、テストケース設計に関して、TPI NEXT で評価してみた。

筆者のグループでは、「テストケース」設計に必要な専門技術に関する様々な学びがあった。「コントロールレベル」のチェックポイントである「テストケースを論理レベルに記録している」という項目について、私も含めたグループメンバは、テスト項目に近いイメージを持っていた。しかし、この演習では、テストを考えるための様々な情報が論理的に示されているものも「テストケース」と呼んでいた。このことから、テストケースには、私たちのイメージよりも、もっと大きな粒度の情報も該当することを知った。これは、混沌とした状態である「初期レベル」から、特定の個人への依存がなくなる「コントロールレベル」への推移だと考えると、しっくりきた。

3. TPI NEXT 実践編(管理系キーエリア)

次の演習テーマは「コミュニケーション」である。演習の前に、コミュニケーションに関する、発生しがちな問題が紹介された。

  • テストベース旧版問題
  • 言った/言わない問題
  • コンテキストミスマッチ問題(背景が同じだと誤解する)
  • メール大量発生問題(リリース間際によく起こる)

コミュニケーションを評価するグループ演習をおこなった。ケーススタディとして示されたプロジェクトの状況説明から、コントロールレベルのチェックポイントに該当する情報を抽出して評価した。ケーススタディの文章から該当箇所を探しやすかったので、私たちのグループは、ほぼイメージ通りの結果になった。

演習に取り組んだ参加者は、TPI NEXT への関心が高く、かなり熱中していたようで、多くの質問が挙がっていた。

筆者感想

TPI NEXT の一部を、ワークショップという形でわかりやすく体験できて、とても有意義だった。2つの演習を通して、TPI NEXT の特徴や効果を実感することができた。

講演
「ソフトウェア工学と信頼性工学をつなぐ」
岡村 寛之(広島大学)

セッション概要
(JaSST'17 Shikoku 公式サイト「セッションの内容」から要約)

ソフトウェア工学と信頼性工学は歴史的に異なる源流を持つ。ソフトウェアシステムが重要になると共に、その境界領域も重要になってきている。本講演では、ソフトウェア工学の研究者の視点からみた信頼性工学の技術とその位置づけ、および境界領域の研究プロジェクトを紹介する。

セッション詳細

この講演は、香川大学の学生に向けた特別講義として工学部キャンパスに中継された。

講演者である岡村氏の専門分野は、信頼性工学である。確率・統計モデルの研究がメインで、関連するツールを自作しており、プログラミングが趣味とのことであった。

以下、セッションの内容を紹介する。

目次

  1. 信頼性工学をふりかえる
  2. 最近のプロジェクトから
1. 信頼性工学をふりかえる

信頼性工学とは「システムの信頼性を分析する工学手法」とのこと。製品を作る際の管理手法の集まりである。信頼性工学の歴史は古い。1940年代に、第二次大戦に極東で使用した電子装置が輸送中・保管中に故障し、軍・官・民による電子装置の高信頼化を研究した。そのことが、信頼性工学の体系化に貢献している。

ソフトウェア工学とは源流が異なるが、信頼性工学から歩み寄り、故障分布モデルを参考に、ソフトウェア信頼度成長モデルが作られた。また、ソフトウェア工学からの歩み寄りで、ソフトウェアのメンテナンス(予防保全)などが考えられている。

2. 最近のプロジェクトから

2つの研究プロジェクトと、岡村氏作成のツールが紹介された。

SRATS 2017

ソフトウェア信頼度成長モデルのバグ曲線を近似するモデルを扱うプロジェクト。山ほどあるモデルの中から、候補を決定し、推定し、モデルを選択する。世界でたくさんのツールが作成されたが、ほとんどは現在利用不可能で、Excelアドオンで作成された SRATS 2010 は利用可能である。最近、アーキテクチャが古いので、SRATS 2017 として、新しいアーキテクチャで作り直し、新しい「位相型モデル」を追加した。これで、ほとんどすべてのモデルを包括できたとのこと。

ツールを用いたデモンストレーションが行なわれた。プロジェクトのデータを与え、いくつかのモデルを選択して近似を試み、一番適合したものを示してくれる様子をビジュアル的に見ることができた。

ESRE (Empirical Software Reliability Engineering: 実証ソフトウェア信頼性工学)

SRATS では、バグ数だけを頼りに近似して将来を予測している。ESRE では、予測に、"過去のプロジェクトのデータ"や"ソフトウェアを特徴付けるデータ"を活用したいという要望を取り込んだ。メトリクスは、プロダクトによるもの(規模、複雑性)、プロセスによるもの(労力、混乱性)などが紹介された。バグ数が、それらのメトリクスに依存すると仮定し、推測するものだ。

そのツールである Rsrat のデモンストレーションが行なわれた。

両ツールとも、様々なモデルを活用することができ、ポテンシャルが高いとのこと。最後に、共同研究してくださる企業を募集中とのことなので、興味を持たれた人は連絡されることをお勧めする。

岡村氏のgithubはコチラ。連絡先のメールアドレスも掲載されている。

筆者感想

信頼性工学という、仕事でなかなか触れることのない分野の話は、とても興味深いものだった。日々の業務では、目の前のプロジェクトに追われてしまうが、ひとつのことを深掘りして研究することの面白さを少し味わえた気がする。

閉会

実行委員の大羽氏が、閉会宣言をおこなった。参加者の方々には、本日得たものを現場で活用していただきたいとのことであった。

全体の感想

2010年以降のJaSST Shikoku は、講演とワークショップが1セッションずつの構成で、それぞれに割り当てられている時間が長い。特にワークショップは、「TPI NEXT」というひとつのテーマについて、じっくりと聞き、手を動かしながら周りと話をして、深く考えることができる、とても良い機会だと思う。

記:和田 憲明(ASTER)

[ページトップへ]