HOME > 活動報告 > イベント報告 > JaSST'13 Shikoku
2013年7月19日(金)
於 香川大学研究交流棟5階 (香川大学教育学部キャンパス内)
ソフトウェア業界全体のテスト技術力の向上と普及を目指したシンポジウム「JaSST四国(JaSST:Japan Symposium on Software Testing)」が、四国香川県にて約60名の参加者を迎え開催された。
JaSST四国は2008年より四国で開催されており今年で6回目の開催となる。
香川大学のキャンパス内で開催されることもあり、例年は学生の参加者が多いと伺っていたが、今年は社会人の参加が多くより盛況であるとのこと。
シンポジウムに先んじて、先日惜しくもご逝去された古川善吾先生を偲び、特別講演が行われた。
JaSST四国実行委員長 高木智彦氏からは、古川先生の学術分野に対する日本のソフトウェアテストの第一人者としてのご活躍とその実績について語られた。
秋山浩一氏からは、東京で開催されるJaSST東京の共同実行委員長、テスト技術者資格認定JSTQBのアドバイザリースタッフとして、ソフトウェアテスト産業界へ多大なご貢献があったことについて語られた。
古川先生のソフトウェアテスト技術への多大なご貢献、JaSSTを通じてのソフトウェアテスト業界発展へのご尽力を伺い知ることができたと共に、病床においてもJaSSTのことを気にかけてくださったという心優しいエピソードも聞くことができ、JaSST四国の今日における隆盛が古川先生のお人柄によるところが大きいと感じた。
広島大学にてソフトウェア信頼性評価に関する研究をされている土肥氏による講演。
古典的なソフトウェア信頼性評価技術の課題を挙げ、設計段階のソフトウェア信頼性評価と、テスト段階でのソフトウェア信頼性評価について、広島大学での研究成果を交えた話であった。
ソフトウェアの欠陥を0にすることは絶望的である。
コストをかけてテストすれば確かに信頼性が向上するが、現実にはコストに制限があり、テストを十分に行うことは困難である。
信頼性を測るための欠陥(=バグ)発生確率を調べることが難しく、ソフトウェア信頼性の評価を困難にしている。
同一仕様のソフトウェアは唯一つしか存在しないので、物理的に同じ仕様の製品が存在する他の工業製品に比べ信頼性を比較することが難しい。
バグ成長曲線といった曲線モデルがあるが、曲線への当てはめや飽和状態への収束にどのような理論的根拠があるのか、当てはめが不要な訳ではないがそれだけでさまざまな事象を説明するには無理がある。
製品の信頼性評価結果を工程評価にフィードバックし改善つなげることが大切である。
設計段階の欠陥を同じ設計段階で修正する場合と、最終の運用段階で修正する場合では30倍のコスト差がある。
設計段階ではテストを実行してデバッグすることが不可能だが、次の様なことができる。
テスト段階の信頼性評価は欠陥数以外のデータを使って行いたいと土肥氏はお考えとのこと。
統計情報は多ければ多いほど信頼性評価ができる。
以前はテストで見つかった欠陥の計数データだけで信頼性を見ていたが、それに加えて実証ソフトウェア工学で提唱されているメトリクス、テストパス、コード分析などの情報を加えることを考えている。それを実証ソフトウェア信頼工学と呼び、回帰構造を有する高水準確率モデル、統計的パラメータ推定アルゴリズムの開発を研究中である。
筆者は、ソフトウェア信頼性について、ソフトウェアの品質を定量化することや、「見える化」することが現時点では困難であると考えている。
しかし、講演の中で、土肥氏の研究室で開発されているフリーのソフトウェア信頼性評価ツール「SRATS」が紹介されており、今後ソフトウェア信頼性指標の一つとして活用されていくことを是非期待したい。
HAYST法及び、「ソフトウェアテスト技法ドリル」著者で有名な秋山氏によるワークショップ。
テストの作り方を理解することがワークショップの狙いであり、従来のテスト方法の良くない部分を体感しつつ、HAYST法のテストプロセスを学ぶ内容であった。
演習を始める前に、ソフトウェアテストの目的と従来型テストの問題点について説明が行われた。
ソフトウェアテストの目的は、欠陥を抽出する、対象ソフトウェアの品質レベルが十分である事を確認する、意思決定のための情報を示す、欠陥の作り込みを防ぐ、の4点が挙げられた。
具体的にソフトウェアの開発工程が進むにつれ、その工程に適切なテスト技法を活用し「構造→機能→振る舞い→並行」順にテストを行うことである。
従来のテストの問題点として、テスト項目の重複、テスト項目の抜け、非機能テストの不足、ニーズとのアンマッチ、市場の変化への対応遅れがあり、それらを「三遊間が漏れる」という表現で説明されていた。
これらの問題点をテストプロセスでカバーする必要があり、テストアーキテクチャー設計が重要視されている。
今回のワークショップではHEYST法を用いるが、HAYST法はシステムテストが対象であり、コンポーネントテスト、統合テストは、当たり前のことをテストすれば良いという理由で割愛されている。
仕様展開とテスト観点の洗出しは、まずは開発者側の視点から、仕様を「What」、要求を「Why」(Whom:法令順守、How much:価格を含む)、設計を「How」としてテスト分析の展開を行う。次に、顧客側の視点から、何時「When」、何処「Where」、誰「Who」としてテスト分析の展開を行う。
6W2Hを使い観点を出し尽くして、気づきのポイントとすることが目的なので、まずは6W2Hに拘らず書き出すことに専念し、後から書き出した項目に対して6W2Hを補う。
ユーザーストーリーはフューチャーや機能の価値をユーザーに伝え会話を引き出すための概念であり、FV表はテストの十分性を確保するためにテストベースを整理する表のことである。
ユーザーの使用目的や市場条件を考えるため、機能から導き出した目的機能で整理する。
目的機能はユーザーに直接接点を持つので、ユーザーストーリーで表現することができる。
HAYST法は、当初直交表を用いたテストの実装部分を意味していたが、それだけでは秋山氏の言葉で「三遊間が漏れる」問題が発生するので、テスト全体のプロセスを考え直し、今では全体をHAYST法と呼称していると説明されていた。
筆者は以前からHAYST法を学んできたが、今回の受講でHAYST法がテストアーキテクチャーとして進化しており、大変わかりやすく説明され、すぐにでも現場に取り入れることが可能であると感じた。
また、「当たり前のことをテストする=カバレッジ/境界値分析/デシジョンテーブル/自動化テスト」を「ABC(当たり前の、ぼんやりせずに、ちゃんとやる)」という話があり、「ABC」という言葉もすぐにでも活用したいと思う。
JaSST四国実行委員長 高木智彦氏より、故古川先生のご遺志を引き継ぎ、更にJaSSTを盛り上げて行きたいと述べられてクロージングとなった。
筆者は、JaSST四国への参加は初めてであったが、実行委員会みなさんのご尽力によりシンポジウムは盛況で大変充実した時間が過ごせたことを関係各位に感謝します。
また、遠方からのご来場された方、学生をはじめとする若い人たちが積極的に参加している姿も見受けられ、今後のJaSSTを通じての日本のソフトウェア産業界の盛り上がりに大きな期待を抱いた。
記:藤田 将志