040402.ユニットテスト

Similar documents
<4D F736F F F696E74202D20835C CC967B8EBF2E B8CDD8AB B83685D>

Using VectorCAST/C++ with Test Driven Development

単体テスト設計のコツ

メソッドのまとめ

目次 ペトリネットの概要 適用事例

プログラミングA

CodeRecorderでカバレッジ

プログラミングA

論理学補足文書 7. 恒真命題 恒偽命題 1. 恒真 恒偽 偶然的 それ以上分割できない命題が 要素命題, 要素命題から 否定 連言 選言 条件文 双 条件文 の論理演算で作られた命題が 複合命題 である 複合命題は, 命題記号と論理記号を 使って, 論理式で表現できる 複合命題の真偽は, 要素命題

Agenda 1. 本コースで学習したこと 2. 挑戦 3. テスト対象アプリケーションソフト 4. テスト分析 - マインドマップ 5. テスト実施内容 1. 同値分割 境界地分析 2. All-Pair 法 3. 状態遷移 4. CFD 法 5. シナリオテスト 6. まとめ 2

はじめに 原因結果グラフ技法を学ぼう まずは 原因結果グラフ について解説します 例題を使って 原因結果グラフ を描いてみます 演習問題のグラフを作ってみよう まずは一人で描いてみよう 近くの人とグラフの違いを見比べてみよう ツールを使って使ってみよう 支援ツール CEGTest を使って 演習問題

平成29年度後期 情報システム試験 システムデザインスキルの問題

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード]

プログラミング基礎

智美塾 ゆもつよメソッドのアーキテクチャ

Microsoft PowerPoint - mp11-06.pptx

【FdData中間期末過去問題】中学数学2年(連立方程式計算/加減法/代入法/係数決定)

<4D F736F F F696E74202D DD8D8782ED82B98B5A8F7082F B582BD835C F E707074>

はじめに : ご提案のポイント

ソフトウェアテストプロセスに関する一考察 - V ⇒ W ⇒ V3 -

スライド 1

ビジネス統計 統計基礎とエクセル分析 正誤表

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

なぜバグ曲線は収束するのか

平成 24 年度岡山県学力 学習状況調査 数学解答類型分類表 解答類型分類にかかる留意事項 数学における学習到達度をみることが目的であるので, 誤字脱字などの文字表現の不備については, 広く許容する 基本的に意図が伝われば許容する 文章表現についても広く許容する てにをはの誤りや

夏期講習高 センター数学 ⅠA テキスト第 講 [] 人の生徒に数学のテストを行った 次の表 は, その結果である ただし, 表 の数値はすべて正確な値であるとして解答せよ 表 数学のテストの得点 次

3. 標準入出力

020204.入出力制御割込解説

ソフトウェア工学 ( 入門編 ) 掛下哲郎 ( 佐賀大学 )

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx

Prog1_3rd

プログラミングA

020105.メモリの高機能化

スライド 1

外部からの脅威に対し ファジング の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017 年 5 月 10 日独立行政法人情報処理推進機構技術本部セキュリティセンター小林桂 1

2016年度 京都大・文系数学

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

Prog1_10th

<4D F736F F D F90948A F835A E815B8E8E8CB189F090E05F81798D5A97B98CE38F4390B A2E646F63>

ソフトウェア基礎技術研修

Java知識テスト問題

はじめてのコンコリックテスト

Microsoft PowerPoint - 3.pptx

平成 22 年度全国学力 学習状況調査結果の概要と分析及び改善計画 調査実施期日 平成 22 年 4 月 20 日 ( 火 )AM8:50~11:50 平成 22 年 9 月 14 日 ( 火 ) 研究主任山口嘉子 調査実施学級数等 三次市立十日市小学校第 6 学年い ろ は に組 (105 名 )

学習指導要領

学力スタンダード(様式1)

講義「○○○○」

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

2

5. オープンソースWAF「ModSecurity」導入事例 ~ IPA はこう考えた ~

Microsoft PowerPoint - No6note.ppt

Prog2_9th

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

ネットワーク入門 データ届くためには2 練習問題

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Code_Aster / Salome-Meca 中級者への道 2015年5月31日

Microsoft PowerPoint - class04.ppt

Microsoft PowerPoint - C4(反復for).ppt

PRONETA

15288解説_D.pptx

スライド 1

PowerPoint プレゼンテーション

離散数学

Python によるジオプロセシング スクリプト入門

Microsoft PowerPoint - 05.pptx

Microsoft PowerPoint - Tsuzuki.ppt

æœ•å¤§å–¬ç´—æŁ°,æœ•å°‘å–¬å•“æŁ°,ã…¦ã…¼ã‡¯ã…ªã……ã…›ã†®äº™éŽ¤æ³Ł

スライド 1

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

Microsoft PowerPoint - Session4古賀様.ppt

過去問セミナーTM

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

モデリングとは

Microsoft PowerPoint - prog09.ppt

An Automated Proof of Equivalence on Quantum Cryptographic Protocols

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - algo ppt [互換モード]

形式手法入門VDM++チュートリアル.key

模擬試験問題(第1章~第3章)

プレポスト【問題】

DVIOUT

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

TopSE並行システム はじめに

立体切断⑹-2回切り

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

学習指導要領

HW-Slides-04.ppt

1 JAXA IV&V の概要 ~IV&V と評価戦略可視化の関係 ~ 2016 年 01 月 19 日 国立研究開発法人宇宙航空研究開発機構研究開発部門第三研究ユニット Copyright 2015 JAXA all rights reserved.

JAVA入門

Autodesk Inventor Skill Builders Autodesk Inventor 2010 構造解析の精度改良 メッシュリファインメントによる収束計算 予想作業時間:15 分 対象のバージョン:Inventor 2010 もしくはそれ以降のバージョン シミュレーションを設定する際

OmniTrust

学習指導要領

PowerPoint プレゼンテーション

09.pptx

プログラミング入門1

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

Transcription:

2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う 機能テストはモジュールの機能仕様をもとに すべての入力条件や出力条件 エラー処理など モジュールの機能が満足されているかどうかを検証する 機能テストは外部に見える機能の検証である 構造テストはモジュールの詳細仕様や原始プログラムをもとに モジュールの論理が正しいかどうかの検証を行う プログラム内部の論理の検証である ドライバとスタブ ドライバはテストモジュールの上位モジュールの機能をシミュレートする テストモジュー ルから見て主プログラムの役割を果たす 結合テストのボトムアップテストに利用される データ結果データ結果 スタブはテストモジュールの下位モジュールの機能をシミュレートするものである テスト モジュールから見て副プログラムの役割を果たす 結合テストのトップダウンテストに利用さ れる スタブはテストモジュールに正しい結果を返すことができればよい ブラックボックステスト ブラックボックステストとはブラックボックステストはプログラムの外部仕様をもとにテストケースを設計するための技法で プログラムの詳細なアルゴリズムの仕様は参照しないで プログラムの機能仕様やインタフェース仕様だけを用いて設計する テストケースの設計はエラーを検出する可能性の高いデータを効果的に組み合わせて 効率的にテストが行えるようにすることである 稼働後のシステムの品質はテスト時に使用したテストケースの良否に左右される プログラムの設計内容から プログラムの機能とデータの関係を考慮して テストデータを作成し プログラムのテストを行う 技法として 同値分割 限界値分析 因果グラフ 実験計画法などがある 因果グラフ テスト対象の入力が明確にクラス分けできないようなときに 入力 出力 原因 結果の関 係をグラフで表現し デシジョンテーブルに展開して テスト項目を設計する 基本要素とし - 1 -

て 同値 否定 和 積 必要とする 排他的 包含するなどの論理関係を利用してグラフ展 開する 同値分割 代表値 2 代表値 7 代表値 12 0 4 5 9 10 14 同値分割は テスト対象の入力データの取り得る値の範囲の中から 同じ意味を持つ範囲を 1つのクラスとして いくつかのクラスに分割する 分割したクラスの中から 各クラスを代表する値をテストデータとして選択する クラス分割する場合 入力データの正しいものおよび誤っているものについてもいくつかのクラスに分割する 正しい範囲のテストデータを有効同値クラス 誤ったデータの範囲を無効同値クラスという 限界値分析 テストデータ =0 4 テストデータ =5 9 テストデータ =10 14 0 4 5 9 10 14 限界値分析は 入力データ 出力データを同値クラスに分割し それぞれのクラスの境界条件をテストの対象データになるように値を選ぶ方法である 同じクラス内の最大値または最小値 あるいは両方の値を選ぶ方法である テストデータは入力条件だけでなく出力も意識して作成する必要がある ホワイトボックステスト ホワイトボックステストとはホワイトボックステストはプログラムの制御の流れに着目し プログラムのステップの重要な部分を通るようなテストデータを作成し テストする方法である プログラムの内部仕様をもとにして テストケースを設計する技法で プログラムの内部構造や論理を詳細に調べるため プログラマの立場から見た詳細な機能テストは行えるが 仕様にはあるがプログラムに実現されていない機能のエラーを発見できない問題がある 規模の大きいプログラムでは 代表的な正常処理の経路と異常処理や例外処理の経路を中心にテストケースを設計する すべてのステップを網羅するテストデータは膨大になるため 命令網羅 判定条件網羅 条件網羅 複数条件網羅などの簡略化した方法を利用してテストケースを設計する 命令網羅 命令網羅は条件式の真偽に関係なく すべての命令を少なくとも 1 回は実行するようにテス - 2 -

トケースを設計する 繰り返しの対象のブロック内の命令も最低 1 回は実行させる 流れ図で a b d の経路のテストを実行すれば 命令を網羅したことになる 判定条件網羅判定条件網羅は条件式の真偽ではなく 判定結果の真偽または判定結果の種類の数の経路を網羅し かつすべての命令を少なくとも1 回は実行するようにテストケースを設計する 流れ図で a b d a c dの2つの経路のテストを実行すれば 命令を網羅したことになる c d a b 条件網羅条件網羅は 判定結果ではなくすべての条件式において真偽を判定し かつすべての命令を 1 回は実行するようにテストケースを設計する 流れ図で 判定条件 (A=X)AND(B=Y) が真の場合と偽の場合の2 通りの組み合わせをテストする 真の場合は (A=X)AND(B=Y) が成り立つ場合であるが 偽の場合は (A X)AND(B=Y) (A =X)AND(B Y) (A X)AND(B Y) の3ケースあるが このうち条件式が偽となる1ケースについて実行すればよいことになる a c b d 複数条件網羅複数条件網羅は それぞれの判定における条件付きの可能なすべての組み合わせ かつすべての命令を少なくとも1 回は実行するようにテストケースを設計する 流れ図において 判定条件は 真の場合は (A=X)AND(B=Y) が成り立ち 偽の場合は (A X)AND(B=Y) (A=X)AND(B Y) (A X)AND(B Y) の3ケースが成り立つ これらの4ケースすべてについてテストする 例題 例題 1 プログラムモジュールの単体テストに関して 正しい記述はどれか アトップダウンテストでは テスト対象のプログラムモジュールが呼び出す下位モジュールの代わりをするスタブが必要である イ入力条件のテストでは プログラム設計で規定された最大値 最小値のケースが重要であり 明らかに誤った条件の入力ケースを実施する必要がない ウプログラムモジュール1 本ごとの論理上の正しさを証明するものであるから コンパイルでエラーが発生しなければ単体テスト完了とする エプログラムモジュールのコーディングが全て完了していなくても 単体テストを開始することができる - 3 -

解説単体テストに関する問題である ドライバは テストモジュールの上位モジュールの機能をシミュレートする スタブは テストモジュールの下位モジュールの機能をシミュレートするものである アのトップダウンテストではスタブが下位モジュールの代わりをする 求める答えはアとなる イは 入力条件 出力条件 エラー処理等 モジュールの持つ機能が満足しているかどうかを検証する 従って 誤った条件の入力ケースを実施する必要がないは誤りである ウは プログラム内部の論理の検証が必要である コンパイルでエラーが発生しないだけでは論理上十分であるとはいえない エは モジュールのコーディングが完了していないとコンパイルできないため単体テストができない 解答ア 例題 2 プログラムの内部構造や内部理論に関係なく プログラムの外部仕様が正しく作成されてい るかどうかを検査するテストはどれか アトップダウンテストイボトムアップテストウホワイトボックステストエブラックボックステスト 解説ブラックボックステストに関する問題である アのトップダウンテストは 上位のモジュールから下位のモジュールへと順次結合して行う結合テストである イのボトムアップテストは 下位のモジュールから上位のモジュールへと順次結合して行う結合テストである ウのホワイトボックステストは モジュールの制御構造を詳細に検討するテストである エのブラックボックステストは モジュールをブラックボックスと見なし 機能仕様書に基づき作成したテストデータでテストを行う手法である 求める答えはエである 解答エ 例題 3 テスト手法の一つである限界値分析におけるテストデータとして 適切なものはどれか アイウエ 最小値と最大値最小値と最大値 及びそれらを一つ超えた値最小値とそれを一つ超えた値最大値とそれを一つ超えた値 - 4 -

解説限界値分析におけるテストデータに関する問題である アはそれぞれを一つ超えた値が不足している イの最小値と最大値およびそれらを一つ超えた値は限界値分析のテストデータである 求める答えはイである ウは最大値とそれを一つ越えた値が不足している エは最小値とそれを一つ超えた値が不足している 解答イ 例題 4 ソフトウェア開発におけるテスト技法のうち, ブラックボックステストに関する記述として, 適切なものはどれか ア原始プログラムを解析し, プログラムの制御の流れと変数などのデータの流れをテストするものであり, 主にプログラム開発者以外の第三者が実施する イブログラムが設計者の意図した機能を実現しているかどうかのテストであり, 主にプログラム開発者以外の第三者が実施する ウプログラムのすべての命令が最低 1 回は実行されることを目的とするテストであり, 主にプログラム開発者自身が実施する エプログラムの内部構造や論理が記述された内部仕様書に基づくテストであり, 主にプログラム開発者自身が実施する 解説ブラックボックステストに関する問題である ブラックボックステストは プログラムの外部仕様をもとにテストケースを設計するための技法で プログラムの機能仕様やインタフェース仕様だけを用いて設計する プログラムの設計内容から プログラムの機能とデータの関係を考慮して テストデータを作成し プログラムのテストを行う テストは開発者以外の第三者が行う アは机上デバック イはブラックボックステスト ウ エはホワイトボックステストの考え方である 求める答えはイとなる 解答イ 例題 5 ブラックボックス法に属するテストケースの作成方法はどれか ア 条件網羅 イ 限界値分析 ウ 命令網羅 エ 判定条件網羅 解説 ブラックボックス法のテストケースに関する問題である アの条件網羅はプログラムのすべての判定条件で 真およひ偽のすべての組合せを満たす - 5 -

ようにテストケースを設計する 判定中の条件のすべての可能な結果が 少なくとも1 回は実行させる基準である イの限界値分析は入力データ 出力データを同値クラスに分割し それぞれのクラスの境界条件をテストの対象データになるように値を選ぶ方法である ウの命令網羅はプログラムの各モジュールの命令文を少なくとも1 回以上実行するようにテストケースを設計する エの判定条件網羅はプログラムのすべての判定条件で 真と偽を少なくとも1 回以上実行するようにテストケースを設計する アの条件網羅 ウの命令網羅 エの判定条件網羅はホワイトボックス法のテストデータ作成法であり イの限界値分析はブラックボックス法のものである 解答イ 例題 6 プログラムの構造や制御の流れに着目し プログラム内のすべての経路を網羅するようなテ ストを行うのはどれか アトップダウンテストイブラックボックステストウボトムアップテストエホワイトボックステスト 解説ホワイトボックステストに関する問題である アのトップダウンテストは上位のモジュールから下位のモジュールへと順次結合して行う結合テストである イのブラックボックステストはモジュールをブラックボックスと見なし 機能仕様書に基づき作成したテストデータでテストを行う手法である ウのボトムアップテストは下位のモジュールから上位のモジュールへと順次結合して行う結合テストである エのホワイトボックステストはプログラムの構造や制御の流れに着目し モジュールの制御構造を詳細に検討するテストである 求める答えはエとなる 解答エ 例題 7 テスト手法の一つであるホワイトボックステストの説明として, 適切なものはどれか ア下位のモジュールから上位のモジュールへと, 順次結合してテストする イ上位のモジュールから下位のモジュールへと, 順次結合してテストする ウモジュールの内部構造に注目して, テストする エモジュールの内部構造を考慮することなく, 仕様書どおり機能が作動するかどうかをテストする - 6 -

解説ホワイトボックステストに関する問題である ホワイトボックステストは モジュールの制御構造を詳細に検討するテストである アはボトムアップテスト イはトップダウンテスト ウはホワイトボックステスト エはブラックボックステストである 解答ウ 例題 8 ホワイトボックス法に属するテストケースの作成方法はどれか ア 原因 - 結果グラフ イ 限界値分析 ウ 条件網羅 エ 同値分割 解説 ホワイトボックステストのテストケースに関する問題である ホワイトボックス法には 命令網羅 条件判定網羅 条件網羅 複数条件網羅等のテスト ケース作成方法がある ア イ エはブラックボックス法のテストケース作成方法である 解答 ウ 例題 9 図の論理を判定条件網羅 ( 分岐網羅 ) でテストするときのテス トケースとして, 適切なものはどれか 解説ホワイトボックステストに関する問題である 判定条件網羅はプログラムの全ての判定条件で 真と偽を少なくとも1 回以上実行するようにテストケースを設計する アの場合は真の場合のテストのみである イの場合は Aが偽 Bが真の場合も Bが偽 Aが真の場合も共にORは真であるから 真の場合のテストのみである - 7 -

ウの場合は Aが偽 Bが偽の場合はORは偽 Aが真 Bが真の場合はORは真であるから 真と偽を少なくとも1 回実行していることになる 真 偽を少なくても1 回行うテストの判定条件網羅はウとなる 求める答えはウとなる エの場合は3 回のテストは全て真の場合である 解答 ウ 例題 10 次の流れ図において 判定条件網羅 ( 分岐網羅 ) を満たす最少のテストケースはどれか ア (1)A=0,B=0 開始 (2)A=1,B=1 1 C イ (1)A=1,B=0 (2)A=1,B=1 A>0 かつ B=0 Yes No ウ (1)A=0,B=0 A C C 2 C (2)A=1,B=1 (3)A=1,B=0 A>0 かつ C=0 No エ (1)A=0,B=0 Yes C 2 C (2)A=0,B=1 (3)A=1,B=0 (4)A=1,B=1 終了 解説 ホワイトボックステストの判定条件網羅に関する問題である この流れ図では次の条件の内容に分けることができる 1 最初の判定条件の真の場合は A=1 かつ B=0 2 最初の判定条件の偽の場合は A=1 かつ B=1 A=0 かつ B=1 A=0 かつ B= 0 のいずれか 3 二つ目の判定条件の真の場合は A=1 かつ C=0 4 二つ目の判定条件の偽の場合はA=1かつC=1 A=0かつC=1 A=0かつC =0のいずれか この流れ図ではC=1であるから 2 番目の判定条件はすべて偽となる 従って 判定条件網羅では最初の判定条件の真の場合と偽の場合の内の1つを実行すればテスト条件は十分になる 肯定のA>0かつB=0はA=1かつB=0で1ケース 否定はA=1かつB=1で否定の条件判定を行う 求める答えはイとなる 解答 イ - 8 -