セキュアで高品質な.NETアプリケーションの開発とテ スト工数の大幅削減をサポート -.NET 対応ユニットテストツール- .TEST 5.0 基本機能紹介 テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部 Copyright © 2011TechMatrix Corporation. All rights reserved. 会社概要 テクマトリックス株式会社 ・設立:1984年8月 (旧社名:ニチメン・データ・システム) ・資本金:12億9,812万円 ・従業員数:815名〔連結〕('09年3月末現在) ・主要株主:日商エレクトロニクス株式会社 楽天株式会社 ・グループ会社: 合同会社医知悟 クロス・ヘッド株式会社 沖縄クロス・ヘッド株式会社 エヌ・シー・エル・コミュニケーション株式会社 株式会社カサレアル ・事業内容: コンピュータ、通信関連機器のハードウェア・ ソフトウェアの販売、システム開発・構築、 保守、教育、コンサルティング業務、 アプリケーションパッケージの開発・販売 など Copyright © 2011 TechMatrix Corporation. All rights reserved. 取扱製品 Parasoft社製品 Lattix社製品 Lattix Parasoft Jtest® アーキテクチャ分析ツール Java言語対応単体テストツール Parasoft .TEST™ SCItools社製品 .NET言語対応単体ツール Understand Parasoft C++test™ ソースコード解析ツール C/C++言語対応単体テストツール Parasoft Insure++® メモリ関連バグ検出ツール Parasoft SOAtest™ Webアプリ・Webサービスシステムテストツール Parasoft Concerto テスト品質管理ソリューションツール Parasoft Corporation ・設立:1987年 ・本社:米国カリフォルニア州 モンロビア ・事業内容:テスティングツールをはじめ、ソフトウェアの開発・販売、コンサルティング業務など Copyright © 2011 TechMatrix Corporation. All rights reserved. 開発工程におけるバグ修正コスト 早期のテスト実行によりバグ の混入を削減することが可能 バグ混入 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各開発フェーズにおける.TESTの役割 コーディング 単体テスト 静的解析機能 機能テスト Copyright © 2011 TechMatrix Corporation. All rights reserved. 回帰テスト 開発テストの問題点と.TEST 開発テストの問題点と .TESTの支援機能 の支援機能 コーディング規約の未確立・未確 認 コーディングのばらつき 目視レビューが困難 開発者のカンに頼った 大量のバグの作りこみ 静的解析機能 ・パターンマッチング ・フロー解析(バグ探偵) テストの密度・信頼性 のバラつき プログラマ依存のテスト 単体テストの経験が浅い テストケース生成に莫大な時間・工数 未テスト箇所が多くバグが残存 改修・仕様変更による仕様レビュー が徹底できていない 仕様レビューにかかる時間が膨大 リモート開発のため仕様レビューの 仕組みがつくれない Copyright © 2011 TechMatrix Corporation. All rights reserved. 単体テスト機能 ・ホワイトボックス ・ブラックボックス ・回帰テスト コードレビュー機能 静的解析 ≪静的解析機能≫ コーディングルールによるコード解析 ① 400以上のコーディングルールを搭載 フォーマットや書式に関するものだけではなくバグ、パフォーマンス、セキュリティ に関係するルールを多数搭載 ※.NET Framework Design Guidelines準拠 実装済みコーディングルールカテゴリー 名前の付け方 クラス メンバの使用 型の使用のガイドライン COMのガイドライン エラー処理 国際化 演算子のオーバーロードの使用 型キャストのガイドライン Finalize と Dispose の実装 コレクション使用のガイドライン Copyright © 2011 TechMatrix Corporation. All rights reserved. CLS 準拠 C# 例外 ガベッジ コレクタ バグの可能性 シリアライズ化のガイドライン オブジェクト指向メトリックス 可読性と保守性の向上 セキュアコーディング ・シリアライズに関する ルールなど、Ver5.0では 約30個のルールが追加 実装 ・サイクロマチック複雑 度を計測するコーディン グルールは全ての.NET 言語をサポート 静的解析 ② コーディングルールの追加・カスタマイズ(RuleWizard) 過去のコーディングエラーパターンや、独自セキュリティポリシーに基づくルール を追加実装 ③ メトリクス収集機能 McCabe‘s Cyclomatic Complexityやクラスの数、継承の深さなど 13種類のメトリクス情報を収集。開発コードの指標作りに ④ ユーザーフレンドリーなGUIと扱い易さ 日本語化されたGUI、設定のシンプルさ、全てのルールにヘルプを搭載。導入 やメンテナンスコスト抑制 Copyright © 2011 TechMatrix Corporation. All rights reserved. 静的解析 ≪静的解析機能-バグ探偵≫ データフロー解析 複数のクラスや名前空間にまたがる実行パスを解析し、ある特定の 実行パスで発生する可能性のある問題を検出 検出可能なエラーカテゴリー ・Null Reference Exception ・リソースリーク ・SQLインジェクション ・HTTPレスポンス分割 Copyright © 2011 TechMatrix Corporation. All rights reserved. ・ゼロ除算 ・nullチェック前の間接参照 ・XSS ・スレッドと同期化 静的解析の自動運用 TCM .TEST 起動 静的解析 バグ探偵 共通 ルールセット 管理 エラー レポート .TEST Server Edition バッチスクリプト <エラーレポート自動出力> ※指定フォルダへ もしくはメールで開発者へ各自の タスクを送付 構成管理 ツール Aプロジェクト 手動 .TEST Professional Edition Bプロジェクト .TEST Professional Edition Cプロジェクト フォルダ Dプロジェクト フォルダ 手 動 Cプロジェクト 手 動 Dプロジェクト .TEST Professional Edition 各開発者は2重チェックの意識を持たず、開発・修正作業に専念することができる Copyright © 2011 TechMatrix Corporation. All rights reserved. Team Configuration Manager(TCM)によるレポート管理 TCMは、ブラウザでのレポート閲覧を可能とする仕組みを実装。 バッチシステムにより実施された検証結果を各開発者、管理者のマシンからブラウザで確認でき、 以下の情報を時系列でレポート参照できます。 【静的解析】 ‐ ルール違反数 ‐ コード行数 【単体テスト】 ‐ 生成されたテストケース数 ‐ 実行されたテストケース数 ‐ 検出された実行時例外 【TCMレポートイメージ】 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各開発フェーズにおける.TESTの役割 コーディング 単体テスト 単体テスト機 能 機能テスト Copyright © 2011 TechMatrix Corporation. All rights reserved. 回帰テスト 単体テスト ≪単体テスト機能≫ テストケース・スタブを自動生成・実行 ①.予期しない実行時例外の検出 (ホワイトボックステスト) 例外を発生させるテストケースをNUnit形式で生成。マニュアルテストでの漏れを 防止し、テストケースコーディングの工数を削減 ②.仕様・設計に基づく単体テストを効率化 (ブラックボックステスト) データソース機能、ユーザー定義テストケースの追加を簡略、効率化 データソース機能 ユーザー定義のインプット値や仕様に基づくアウトプットの値を、エクセルまたはCSVファイルからま とめて流し込み。個々のテストパターンを一括してテストすることでテスト工数を削減。作成した、エ クセル、CSVデータはテスト仕様書の一部、またはテストのエビデンスとしても利用可。 Copyright © 2011 TechMatrix Corporation. All rights reserved. 単体テスト <テストケースのパラメータ化機能> 引数やアウトプットとなるユーザー定義テストケースの値をExcelやCSVに記述しておき、.TESTに一 括で流し込み、テストケース追加の作業効負荷を大幅に軽減します。 プログラムの仕様確認、カバレッジ検証などが効率よく行え、使用したExcelは実施したテストのエ ビデンスとして使用できます。 [TestAttribute()] [InCodeDataSource(typeof(XLSDataSourceFactory), @"ExcelData1.xls;MySheet")] [UserManagedAssertions()] public void TestConstructor_0( double balance, double id, string ssn, string name, string zip, string cardNumber) { // The values for the parameters are automatically // assigned by .TEST while invoking the test. IDataRow inputRow = DataSourceUtil.GetCurrentRow(); bank.CreditCard var0 = new bank.CreditCard( (int)balance, (int)id, ssn, name, zip, cardNumber); } Copyright © 2011 TechMatrix Corporation. All rights reserved. balance id ssn 1000 name 1 112-43-6789 John Doe 0 -1 112-43-6789 John Doe zip cardNumber 92222 1123-1234-4321-5436 92222 1123-1234-4321-543 1000 1 112-43-678 John Doe 92222 1123-1234-4321-543 1000 1 112-43-6789 John Doe 92222 1123-1234-4321-543 スタブウィザード ≪単体テスト機能≫ 単体テストは、DBアクセスやシステム API の呼び出しなどはスタブを用いて外部 環境に依存しない条件で実行することが望ましいとされています。 .TESTでは、新たに追加されたスタブウィザードで、簡単にスタブを作成すること ができます。 <生成結果> Copyright © 2011 TechMatrix Corporation. All rights reserved. Test Case Explorer ≪単体テスト機能≫ 実行したテストケースをツリー形式にて確認することが可能になりました。 失敗したテストケースはTest Case Explorerからタスクを表示することによって 発生した例外の詳細な情報を確認することができます。 ※成功したテストケースは緑で、失敗したテストケースは赤で表示されます。 Copyright © 2011 TechMatrix Corporation. All rights reserved. .TESTを利用した単体テストの自動運用 TCM テスト設定の管理 テスト結果の共有 ◎ホワイトボックステスト テストケース自動生成 ◎ブラックボックステスト 仕様に基づくテストケースを生成 ◎カバレッジ取得 行カバレッジ、ブランチカバレッジ コーディング 単体テスト実施 Professional Edition Copyright © 2011 TechMatrix Corporation. All rights reserved. 自動化 ③テスト結果格納 ナイトリービルドシステム テストケース自動生成 テストケース自動実行 ④結果をダイレクトに インポートし、問題を 修正 構成管理ツール (CVSなど) ①コードチェックイン 開発者 人手作業 ②Jtestバッチ起動 Server Edition 各開発フェーズにおける.TESTの役割 コーディング 単体テスト ホストテスト機 能 機能テスト Copyright © 2011 TechMatrix Corporation. All rights reserved. 回帰テスト ホストテスト機能 ≪単体テスト機能≫ アプリケーションコンテキストやリソースに依存する単体テストを行うことが可能に なりました。 ユーザアプリケーションを実行し、ユーザが指定した任意の場所(メソッド)に到達 するとテストを実行します。 これにより、通常のアプリケーション実行時と同じ状況下で単体テストを実行する ことが可能となります。 Copyright © 2011 TechMatrix Corporation. All rights reserved. ホストテスト機能 イメージ テストを実行! .TEST のテストケース 起動 ホストアプリケーション 代わりに.TESTのテスト ケースが呼び出される 本来ならこのメソッドが 呼び出される テストランナーメソッドとしてStart()を 登録しておく Copyright © 2011 TechMatrix Corporation. All rights reserved. アプリケーション実行カバレッジ テストを実行! 起動 アプリケーション アプリケーション実行時の カバレッジを取得。 ソースコードで実行された 行を確認。 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各開発フェーズにおける.TESTの役割 コーディング 単体テスト .TEST Tracer 機能テスト Copyright © 2011 TechMatrix Corporation. All rights reserved. 回帰テスト Tracer ≪単体テスト機能≫ コード修正時のデグレードチェック .TESTで利用したテストケースを再利用し、デグレードおよび仕様変更を自動チェック。 Tracer機能でアプリケーションレベルでの回帰テストが実行可能 Webアプリ Windowsアプリ Exeファイル ① .TESTからEXEファイ ルを指定してアプリ ケーションを実行 ① .TESTからクライア ントアプリを実行 ASP.NET開発サーバー ② 実行されたクラスを トレースしログを収集 .TEST Tracer [Tracer]機能は、既存のアプリケーション実行して特定の クラスに出入りする呼び出しをトレースして情報を収集し、 トレースされたクラスのためのテスト ケースを自動作成。 ソースコードベースのテストケースではなく、アプリケーショ ン操作に基づいた メンテナンス性の低いテストケースを自 動生成できます。 Copyright © 2011 TechMatrix Corporation. All rights reserved. ② サーバ上で実行され たクラスをトレースし ログを収集 ③ Nunit形式テストケース生成 単体テスト コード 各開発フェーズにおける.TESTの役割 コーディング 単体テスト コードレビュー機 能 機能テスト 回帰テスト レビューの実施 Copyright © 2011 TechMatrix Corporation. All rights reserved. コードレビュー 仕様書・設計書の矛盾や漏れ 開発者の誤った解釈や暗黙の仕様 コードの改造・改修 エラーやバグの修正 等 → レビューが必須 ・コードの改造やエラー修正が行われた際のレビューをシステマティックに実施 ・レビューが必要なコードの変更を特定し、レビューワに通知 ・地理的に離れた開発者のレビューを可能に 修正前 修正後 ソース ソース レビューチケット 変更箇所 レビューコメント Copyright © 2011 TechMatrix Corporation. All rights reserved. コードレビュー コードレビュー機能 運用イメージ TCM ③レビュー依頼 (レビュータスク受信) テスト設定の管理 テスト結果の共有 ④レビュー結果 (修正タスク送信) レビュー担当者 モニター(管理者) レビュー結果の 確認と修正 開発者 開発者 Copyright © 2011 TechMatrix Corporation. All rights reserved. ソースコードスキャナーがレ ビューが必要なソースコード を自動検出 ①コードチェックインまたは レビュータスク送信 ②レビュータスク送信 Server Edition 構成管理ツール (CVSなど) 稼動環境 .TEST5.0 Windows Vista、Windows XP、Windows 2003 server 最小 1GB のメモリ(2GB を推奨) 1GHz 以上のプロセッサ Visual Studio 2005、Visual Studio 2008 ※Visual Studio2003の対応についてはお問い合わせください。 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各種サービス 無償サービス •ハンズオンセミナー 実際に【.TEST】を操作しながら、機能や利用方法をご紹介 •静的解析評価支援 弊社エンジニアがお伺いし、お客さまの環境にて【.TEST】による静的解析を実施。 その結果をご報告※ •単体テスト評価支援 弊社エンジニアがお伺いし、お客さまの環境にて【.TEST】による単体テストを実施。 その結果をご報告※ ・セキュリティ検証 【.TEST】の静的解析機能及び、バグ探偵機能のセキュリティ関連ルールを用い、お客様の ソースコードの脆弱性を検証。その結果をご報告※ ※ 静的解析評価支援、単体テスト評価支援、セキュリティ検証の対象アプリケーション のソースコードは5万行までとさせていただきます。5万行を超える場合は、お問い合わせください。 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各種サービス 有償サービス •トレーニング .TEST初級トレーニング RuleWizard(ユーザ定義コーディングルール作成ツール)トレーニング •コーディングルール選定支援サービス お客様に有効な静的解析コーディングルールの選定をご支援 •カスタムコーディングルール作成サービス ご要望の静的解析コーディングルールを作成 •ナイトリービルドシステム環境構築サービス .TESTによるテストの運用を自動化する仕組みを構築 •運用支援 静的解析/単体テスト機能の利用に対するコンサルテーションサービス。 開発現場で.TESTを有効に活用していただくために、段階を経た導入により、 できるだけツール導入による負担の軽減を目的とした支援 Copyright © 2011 TechMatrix Corporation. All rights reserved. 有償サービス 例 お客様内に弊社によるソースコードチェックサービス部門を設置 本サービスは、.TESTによる静的解析チェックの結果を、弊社での蓄積されたノウハウをベースにしたエ ラー分析、精査により、修正すべきエラーの優先度、またプロジェクト毎のエラー傾向などをご報告いた します。 【メリット】 イメージ ・検出エラー分析にかかる工数の大幅削減 ・効率的なエラーの修正(修正の優先度付け) ・静的解析の実施を徹底することで品質を底上げ 貴社開発現場 様 A Project B Project エラー修正 コーディング 1 C Project 4 ソースコード チェックイン 結果レポート 弊社技術担当者 2 3 .TESTによる静的解析実行 Copyright © 2011 TechMatrix Corporation. All rights reserved. エラー分析 運用例:外部委託開発における受入れ時運用例 短納期開発でテストを行 う時間がない リソース不足 テストスキルがバラバラ テストは受託企業任せ (テストをお願いするとコ ストに跳ね返る・・) コード受入れ時の基準や 手法がない 国内・海外受託企業(プロジェクト) 委託元企業(プロジェクト) TCM テスト設定の管理 テスト結果の共有 ④結果をインポートし、 問題を修正 ③テスト結果格納 Professional Edition (フローティングライセンス) ナイトリービルドシステム 静的解析・バグ探偵 テストケース自動生成 コーディング 静的解析 単体・回帰テス ト 実施 ①コードチェックイン 開発者 Copyright © 2011 TechMatrix Corporation. All rights reserved. ②.TESTバッチ起 動 構成管理ツール (CVSなど) Server Edition Parasoft製品レポートオプション ~Concerto Report Center~ 管理者向け品質データ へアクセス .TESTなどテストツール利用者 Concerto バグ管理システム ~Report Center~ 構成管理ツール 管理者A 開発者向け品質データ へアクセス 開発者B Parasoft Concertoにより、品質管理のためのデータを自動的に蓄積、 いつでもWebブラウザを通して状況を確認できます。 Copyright © 2011 TechMatrix Corporation. All rights reserved. Parasoft製品レポートオプション ~Concerto Report Center~ レポート一覧 Copyright © 2011 TechMatrix Corporation. All rights reserved. Parasoft製品レポートオプション ~Concerto Report Center~ <例1>マネージャーが各情報の一覧を時系列で確認! ソースコードのボリュームは増えている。 テストが実施されていない 矛盾点があれば、なぜそうなっているのか ドリルダウンして確認。 Copyright © 2011 TechMatrix Corporation. All rights reserved. Parasoft製品レポートオプション ~Concerto Report Center~ <例2>カバレッジ情報を時系列で確認 カバレッジ統計減少傾向!1 プロジェクト全体のカ バレッジ統計データを 確認し、減少傾向で あれば、いち早くそれ に気づき、原因を調 査。 C++testなどのテストツールだけで は、カバレッジ情報を時系列でその 変化をみることができない。 調査のため、情報をドリルダウン。 Copyright © 2011 TechMatrix Corporation. All rights reserved. Parasoft製品レポートオプション ~Concerto Report Center~ <例2>カバレッジ情報を時系列で確認 どのファイルがカバレッジ何%か確認できる。 Copyright © 2011 TechMatrix Corporation. All rights reserved. Parasoft製品レポートオプション ~Concerto Report Center~ <例3>静的解析違反を時系列に表示し、プロジェクトの推移を 計測、問題があれば、いち早く対策! 異常に静的解析違反が増加。 静的解析、時系列表示 なぜ・・・? クリック後、ドリルダウン ユーザー「PS」の違反が多い!! Copyright © 2011 TechMatrix Corporation. All rights reserved. 利用例 <レポート負荷の軽減> 担当者が 静的解析を実施 静的解析マシン 解析するた めの時間 レポート結果 をまとめる レポートをま とめる時間 Report Center で自動化 時系列で担当者ご との履歴を表示 Copyright © 2011 TechMatrix Corporation. All rights reserved. 各担当者がエク セルファイルを更 新する時間 各担当者は、レポートを確認 し、自分の担当分を修正 利用例 協力会社先 <分散開発での適用> 協力会社A 自動チェックアウト チェックイン 協力会社B 構成管理ツール Report Center にて協力会社先 の品質の可視化 Copyright © 2011 TechMatrix Corporation. All rights reserved. 協力会社C 開発フェーズごとのツール適用 設計 Lattix 実装 単体テスト 機能テスト Parasoft Jtest ・ C++test ・ .TEST 性能/信頼性テスト Parasoft Insure++ Parasoft WebKing Parasoft WebKing Parasoft SOAtest Understand ・静的解析 (Java ・.NET ・C/C++ ・JavaScript ・HTML ・XML ・CSS) アーキテクチャ分析 ・セキュリティルー ルによるリスクの 軽減 ・メトリクス計測に よる設計乖離防 止 ・コードレビュー ・単体テスト生成 ・単体テスト実行 ・カバレッジ計測 ・Webサービスの 単体テスト ・コードレビュー ・Webページ:デー タ駆動テスト ・Webサービス間 のREQ/RESシ ミュレーション 回帰テスト Copyright © 2011 TechMatrix Corporation. All rights reserved. ・負荷テスト ・パフォーマンス テスト ・セキュリティ テスト お問い合わせ 営業課 Tel : 03-5334-5621 / Fax : 03-5334-5622 E-Mail : [email protected] Copyright © 2011 TechMatrix Corporation. All rights reserved.
© Copyright 2024 ExpyDoc