組込み系:結合テスト
概要
単体/結合:何が違うの
テストレベル(工程)/ 単体・結合・統合
テストタイプ:別の観点から
1
結合テスト
1.1
組込み系結合テストとは
関数レベルのテスト:12/5の例
これは単体テストか,それ以下
結合テストに応用するには?
その前に,次の疑問
結合テストの範囲は?,テスト対象は?
製品や職場で多様では・・・調べる
原因:派生開発と新規開発の違い
1.2
実態:結合テストの範囲?
実行する環境の違いは:
A PC上(エミュレータを含む)
B 評価ボード
C 製品ボード
D クラウド
E 実機
F その他(統合ECUなど)
テスト対象のコード範囲:
A 担当する範囲
B チームで共有する範囲
C CANやAPIなどインタフェースが存在する範囲
D RTOSなどリンクする範囲
E その他
1.3
共有ノートで教えて
noteは,ここ
結合テストで困りごとがあれば3.に書いてください.
各自で書き出して
4分
2
テストにおける結合/統合の意味
2.1
Unitテスト/単体テスト
Unit範囲
機能的に独立している範囲
テストとして切り出せる範囲
テストの品質
機能の全網羅(ブラックボックス法)
パスの全網羅(ホワイトボックス法)
2.2
何を結合するのか
結合範囲
内製した関数や処理の集合
他とのインタフェース(ライブラリも)
ハード(ECU種類やI/O)
テストの対象(何を確認すのか)
結合部分を含めた機能確認
関数網羅など(パス網羅はしない)
2.3
統合テスト
テストにおける結合と統合の差
結合:テスト対象は個々の結合実体
統合:テスト対象は統合体
機能が同居した状態で,相互影響をテスト
機能連携が正しいか
悪影響は無いか
3
テストタイプから考える
3.1
テスト対象の大きさや工程とは別
仕様ベースのテスト
機能テスト
非機能テスト
などなど,ブラックボックステスト
3.2
ホワイトボックステスト
制御パスに着目
パス網羅などの基準
これらは単体テスト向け
規模が大きい結合テストでは無理
何故でしょうか?
3.3
結合テストでホワイトBOX必要?
チームで討論
ホワイトの範囲は,単体,結合,統合,・・・
理由は?
Breakout Rooms
5分
3.4
機能テスト/ブラックBOXテスト
仕様ベースのテスト
入出力を中心にテスト
機能テストはブラックボックステスト
理由分かりますか
機能を満たす ≠ 網羅する
3.5
機能テストの設計方法
機能=出力として確認できること
確認にはlogやデバッガも含む
まず機能の識別
機能の分解: 独立/排他など
3.6
入力と出力の関係
テストの入力は大別して2種類
1. ロジックに影響する入力
2. 出力に変換される入力
1.と2.を兼ねる入力もある
例 ソート入力で1行目が数値なら数値でソート
3.7
変換される入力とは
ロジックに影響しない入力で
出力に何らかの影響を与える
例 入力:画像信号
出力:オブジェクト検出
例 ソートの入力とソート結果
3.8
ロジックに影響する入力
プログラムの処理フローに影響
同値分割や境界値分析の対象入力
例:ソートのパラメータ:昇順/降順
変換される入力は同値分割困難
ソート成功/失敗:これは出力同値
3.9
変換される=機能のテスト
例 ソートで出力がソートされたか
例 排ガス制御で排ガス量が制御されたか
これらは処理(機能)のアルゴリズムに依存する
ソフトウェア・テスト技術者のスキル外
確認は必要:専門家と相談して確認する
3.10
テストケース設計の対象
主にロジック入力
単体テストと結合テスト
どちらがロジックが多いか
その理由は?
次は,
次のスライドへ
その前にちょっと休憩
トップページへ
共有ノートへはここから