Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
開発上手。設計でもテストでも。〜ツールチェーンで影響範囲を⾒極める〜
【Azumact/Kentaurosのご紹介】
Copyright © 2019 Heartland.Data Inc. All rights reserved.
開発下手は”影響範囲”に弱い
1
例えばこんなバッドケースレガシーコードを解析して機能追加
対象コード全体の把握や変更すべきコードの特定に時間かかる
処理を実装した結果問題なかった箇所で不具合が発⽣
修正と変更が嵩み想定以上の工数を要する結果に
開発終盤で不具合発⽣
不具合を修正した結果別の不具合が発⽣
修正→不具合が出るたびに全テストを実施
どんどん日程が遅延し毎日残業の日々
“影響範囲”が分からないと雪だるま式に状況が悪化
Copyright © 2019 Heartland.Data Inc. All rights reserved.
苦しんで把握する影響範囲特定
2
影響範囲の解析は大変だ
ドキュメントが無い
開発者がもういなくて聞ける人がいない
コードと設計書が一致しない
JTAG/Grepで処理を追うのはつらい
解析用のコード用意、削除が大変
コンソールログを入れると挙動が変わる
誰か助けて
Copyright © 2019 Heartland.Data Inc. All rights reserved.
影響範囲の特定を楽にするためにツールを使って効率化すればいい︕
レガシーコードを解析して機能追加
対象コード全体の把握や変更すべきコードの特定に時間かかる
処理を実装した結果問題なかった箇所で不具合が発⽣
開発終盤で不具合発⽣
不具合を修正した結果別の不具合が発⽣
修正→不具合が出るたびに全テストを実施
動的テストツール構造解析ツール
Copyright © 2019 Heartland.Data Inc. All rights reserved.
動的テストツールDT10 ソフトウェアの動きを⻑時間トレース CPUやOSに依存しない優れた汎用性 多彩な解析機能で「ソフトウェアを⾒える化」
動的テストツールDTシリーズはソフトウェアの実⾏経路を⻑時間トレースできます。トレースデータはカンタンに解析できるので、様々な開発フェーズで活用可能です。
USB2.0にてPCと接続
選べる接続方法
< 使用イメージ >
実機上のリアルなトレースデータ
3
ふだんの開発環境をそのまま利用
2テストポイントを入れて いつも通りコンパイル 実機を動かしてトレース
ソースコードに自動で挿入
1
Copyright © 2019 Heartland.Data Inc. All rights reserved.
処理の流れが把握しやすくなった︕
まだ少し苦しんで把握する影響範囲特定
5
ツールで楽になった、けど 構造解析だとポインタ関数が拾えない
ドキュメント関係の手間が減った︕
構造解析しても規模が大きくて何から⾒れば…
実機動作を⾒ようにもどこに仕掛ければいいかわからない
ツールの結果の突合せが大変
ツールが連携すれば⾒たいものがもっと⾒やすくなる︕
環境の構築、解析効率があがった︕
Copyright © 2019 Heartland.Data Inc. All rights reserved.
流用コード理解効率化ツールAzumact
6
構造解析データと実際の動きを同期して⾒る経路情報
構造解析
Azumact※
※AnalyZedby Understand andDT10 Model of ImpACT
Copyright © 2019 Heartland.Data Inc. All rights reserved.
流用コード理解効率化ツール Azumact
7
経路情報が理解を促進
未実⾏/影響なし
ライブラリ関数
未実⾏/影響あり
実⾏あり
Azumact
Azumactの表示(ポインタ経由の呼び出し先関数も表示)
Copyright © 2019 Heartland.Data Inc. All rights reserved.
影響範囲特定アプリ Kentauros
8
変更点の影響範囲の可視化変更差分情報と構造解析情報から影響範囲を抽出
差分情報
構成管理ツールからバージョン間の差分情報として取得
関数リスト関数リスト
影響を受ける関数の特定構造解析情報
構造解析ツールから変更箇所の依存関係の情報を取得
影響範囲だけにフォーカスした動的テストが可能
影響範囲特定アプリ
DTシリーズ製品へ適用
Copyright © 2019 Heartland.Data Inc. All rights reserved.
影響範囲特定アプリ Kentauros
9
動作仕様例Diff情報とUnderstand情報から影響範囲を抽出
C:¥test_o4¥frmStage.cs StageSuuByouga 92C:¥test_o4¥frmStage.cs ClearSyori 106C:¥test_o4¥frmStage.cs frmStage_KeyDown 44C:¥test_o4¥frmStage.cs frmStage_Load 19C:¥test_o4¥MapInfo.cs getGenzaiti 25C:¥test_o4¥MapInfo.cs moveSyori 41…
Index: frmStage.cs==================================================--- frmStage.cs (リビジョン 11)+++ frmStage.cs (リビジョン 14)@@ -91,6 +91,7 @@
private void StageSuuByouga(){
+ lblStageSuu.Text = string.Format("ステージ{0:D3}", CApl.GenzaiStage);
}
ユニファイド形式のDiff情報
Understandによる構造解析情報
関数のリストKentauros
DTシリーズ製品へ適用
Copyright © 2019 Heartland.Data Inc. All rights reserved.
AzumactそしてKentauros “影響範囲”を制するものは”派生開発”を征す
暗中模索の派⽣開発/テストをツールを使って効率化し、開発上⼿になろう︕
構造解析だとポインタ関数が拾えない
構造解析しても規模が大きくて何から⾒れば…
実機動作を⾒ようにもどこに仕掛ければいいかわからない
ツールの結果の突合せが大変
ポインタも含めた影響範囲が動作できているかバッチリチェック
折りたたみ可能なUIで今動作させている範囲が一目瞭然
影響範囲やテスト環境の構築もバッチリ
同じアプリ上のUIでチェック可能
Copyright © 2019 Heartland.Data Inc. All rights reserved.
ブースのご案内
ステージ
凄ワザ デバッグエリア常設
デモンストレーション
Windowsアプリケーション
動的メモリリーク解析
影響範囲特定“ Azumact “
“ Kentauros ”
テスト自動化システム
UIテスト自動化DT-ACE x Ranorex
DT10
テスト自動化
DT-Win
テスト自動化
テスト自動化
DT10 DT10プロジェクト適用サービス
DiET
DT10 Automotive
さまざまな規格に準拠したプロセス管理システム
Stages
テスト自動化システム
HW制御の自動化DT-ACE
Copyright © 2019 Heartland.Data Inc. All rights reserved.
ご清聴ありがとうございました