本文へスキップ

ソフトウェアテストのエンジニアリング

デバッグ,テストを科学する      

有限会社デバッグ工学研究所

情報 Information

公開情報です.

★ソフトウェアシンポジウム2014 秋田 (ソフトウェア技術者協会)

このシンポジウムは,34回目を迎える,ソフトウェア技術に関するだ表的な大会です.今回の発表は,1980年代に発表して以来,約30年ぶりになります.
テーマは,テーマは,プロジェクトにおける現場力を計測する枠組みの提案と,その枠組みを使って計測した値から,プロジェクトの成功失敗を判別する試みです.驚くほど高い正解率(プロジェクトの成功失敗と現場力から判定した結果の一致)が得られました.
発表論文

★ PMシンポジウム2014 (日本プロジェクトマネジメント協会)

このシンポジウムでは,2003年より毎回プロジェクトにおける人的資源に関連する発表を行っております.今回の論文としては,ソフトウェアシンポジウムで発表しましたが,ここでは,その背景などを含めて解説しました.
発表資料

★ 信頼性学会学会誌 34(6), 397-404, 2012-08

ソフトウェア論理の設計/検証における決定表の応用 (特集 情報システムの信頼性・安全性)

Application of Decision Table to Software Logic with Designing and Testing


決定表に関連する技術について,設計とテストの両面から解説し,最近の研究についても紹介しました.
決定表の解説

★JaSST新潟 2014

チームビルディングとその効果などに関する基調講演と,午後の実践WSを行いました.午後のWSは,フェリカネットワークスの増田氏に協力いただきました.
資料

★ソフトウェアエンジニアリングシンポジウム2013 (情報処理学会)

チュートリアル:「Concolic testingと背景技術」
講演概要:現場におけるテストの3大課題(テスト漏れ,テストケース数の爆発,属人性)に対する様々なアプローチが行われている.主流である動的テストにおいては, 原理的な研究は30年前に確立し,テスト作業の習熟やプロセス改善が主なテーマである.一方,静的テストは活発な研究が行われ,その成果は ツールとして普及が始まっている.本チュートリアルでは,静的テストから生まれたConcolic testingを中心に,その背景技術と静的テスト技術により自動化できる機能から,動的テストを補完する研究についても解説する.
concolic testing.pdf へのリンク

★ Concolic testingの概要

Concolicとは:concrete and symbolic execution から作られた造語であり以下の論文の題名で使われてから知られるようになった.concrete とはconcrete executionのことでsymbolic executionではない,実際の実行のことを意味する.すなわち一部をコンパイルされたオブジェクトで実行(ビギーバッグ)し,そうでない部分はsymbolic executionを行うテスト.

文献:Sen, Koushik; Darko Marinov, Gul Agha (2005). "CUTE: a concolic unit testing engine for C". Proceedings of the 10th European software engineering conference : ACM. pp.?263?272. ISBN 1-59593-014-0. Retrieved 2009-11-9. Application of Decision Table to Software Logic with Designing and Testing.

Concolic execution だけでは大したことは出来ないが,Concolic testingで行われている背景は複雑で,先ずCのソースプログラムをCil (C Intermediate Language) に変換し,その後オブジェクトも生成する.CILを使って制御フローとデーターフローを解析し,すべての判断文の通過について必要な入力データをソルバーを使って解析的に解く.解析的に解けない場合は,乱数を使うオプションがある.

利用可能なTool

  • pathcrawler-online.com:オンラインで処理を公開 Tool自身は非公開
  • CUTE and jCUTE:研究用に限りバイナリー提供
  • CREST:BSDライセンスでソース公開
  • CATG:BSDライセンスでソース公開
  • Microsoft Pex:Visual Studio 2010に含まれている

★ 情報システム信頼性研究会12月 情報システム信頼性と現場力

12月の信頼性学会・情報システム信頼性研究会にて,現場力計測についてまとめた資料です.

情報システムの信頼性が,物理システム(金物)の信頼性と異なることは明らかである.出来上がった情報システムやソフトウェアと言う対象物 の振舞い から信頼性を考えると,めっぽう多様で捉えどころが難しい.この特性をランダム故障と系統故障など抽象的に説明できても,相互に比較できる定 量計測すら出 来ていません.

一方,金物の世界でも,保守の事故や交通事故に関する研究は,ヒューマンエラーとして,人の側面からアプローチを行う研究が成果を上げてい る.

ソフトウェアの世界でも,人の能力差が生産性や品質に大きな影響を与えることが知られており,1981年にバリー・ベームが提唱した COCOMO( constructive cost model)では定量化が試みられている.経験的に人的資源に依存することは明らかであるが,研究としての取り組みが不足している.

ここでは,情報システムの開発やテスト,保守に携わるチームに着目し,その現場力を計測する研究について紹介する.この研究は,2001年 から始め た情報システム系職場における仕事満足の調査(パートナー満足)を発展させたもので,計測のモデルは心理尺度を使っている.現場力の測定は, 開発した質問 紙(25問)を用いて,参加しているメンバー全員に匿名の調査を行い,その結果から分析する.

心理尺度の構成は,役割意識,仲間意識,規範(職場文化)意識,成果意識,困難意識などが因子分析で明らかになっており,それぞれは下位尺 度を持っていることが判っている.分析は,絶対量ではなく因子量の分布パターンから行っている.

情報システム信頼性と現場力.pdf へのリンク

Debug Engineeringデバッグ工学研究所

論理設計とテストの技法
技術指導と研修