資源描述:
《ソフトウェアのテストについて(第10課)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、ソフトウェアのテストについて本文品質(zhì)を段階的に検証する一般的にテストプロセスには①.モジュールをテストする?yún)g體テスト②.各モジュールを結(jié)合させた狀態(tài)でテストを?qū)g施する結(jié)合テスト③.システム全體をテストするシステムテスト④.ユーザー企業(yè)による受け入れテストや本番環(huán)境でテストを?qū)g施する運(yùn)用テストがあるテストの目的は、大きく2つに分類できる1つはバグ検出のためのテスト。もう1つはシステムの動(dòng)作をは保障するためのテストである。テストというと「バグを発見(jiàn)するもの」と考える人が多いかもしれないが、必ずしもバグを発見(jiàn)することだ
2、けがテストの目的ではない。単體テストなどのテストの初期段階ではバグの検出が優(yōu)先されるが、結(jié)合テスト以降では、システムの動(dòng)作を保証することに、重點(diǎn)が置かれる。2つに分類できるテスト手法テスト手法に大きく分けて「ホワイトボックス?テスト」と「ブラッボックス?テスト」がある。ホワイトボックス?テストは、プログラムの內(nèi)部構(gòu)造を參照し、そのロジックや制御の流れ調(diào)べるテスト手法で、単體テストで使用される。ホワイトボックス?テストは、さらにいくつかのテスト手法に分類できるが、もっと一般的な手法は、制御パス?テストである。制御パ
3、ス?テストは、プログラム処理経路(開(kāi)始から終了に至る命令の列)をテストする手法で、テストる処理経路の網(wǎng)羅の度合いに応じて、命令網(wǎng)羅、分岐網(wǎng)羅、條件網(wǎng)羅などの網(wǎng)羅基準(zhǔn)がある。一方のブラックボックス?テストは、テスト対象の使用や使い方に著目して、入力値と出漁區(qū)結(jié)果の対応関係から、関數(shù)やメソッドのふるまいを調(diào)べるテストである。ブラックボックス?ウエストは、結(jié)合テスト以降のテスト後半で使用される。ブラックボックス?テストも、「同地分割」や「境界値分析」、「原因結(jié)果グラフ。テスト』など様々な手法に分類される。例えば同地分割
4、は、入力値を有効地の集合と無(wú)効地の集合に分け、各集合から代表値を選んでテストする手法。境界値分析は、有効値と無(wú)効値の境界値とその前後の値を選らんでテストする手法である。いずれも、無(wú)効値が入力されたときに限りエラーになることを確認(rèn)するものである。ただし、ブラックボックス?テストでは検証できないこともある。具體的には、メモリーへの適正なアクセスやメモリー領(lǐng)域の確保?解放、プログラムの命令が実行されたのかどうかは、入力値と出力結(jié)果を見(jiàn)るだけでは検証できない。このため、テスト対象プログラム內(nèi)にチェック用のコード(プローブ
5、)を埋め込んで命令の実行を確認(rèn)したり、テスト実施中のメモリー狀況を計(jì)測(cè)するといった方法を採(cǎi)用うることがある。この手法を「グレーボックス?テスト」と呼ぶ。グレーボックス?テストを?qū)g施するには、メモリー狀況を計(jì)測(cè)したり、命令の呼び出しを計(jì)測(cè)するためのツールが必要になる。結(jié)合テストの手法結(jié)合テストには「増加テスト(インクリメンタル?テスト)」と「一斉テスト(ビッグバン?テスト)」という2つの基本的な進(jìn)め方がある。増加テストは、最初にテストしたモジュールに徐々に他のモジュールを結(jié)合しながらテストを進(jìn)める方法。結(jié)合方法によ
6、って、①.「トップダウン?テスト」 上位モジュールからテストを始めて、徐々に下位モジュールを結(jié)合していく②.「ボトムアップ?テスト」 下位モジュールからテストを始めて、徐々に上位モジュールを結(jié)合していく③.「サイドイッチ?テスト」中間のモジュールからテストを始めて、上位、下位のモジュールを結(jié)合していくの3種類に分類できるトップダウン?テストを?qū)g施する際には、下位モジュールをエミュレートするダミー?モジュールである「スタブ」を作成する必要がある。スタブは、上位モジュールから呼び出し可能な関數(shù)を持ち。ある値を受け取る
7、と、なんらかの値を返す。また、ボトムアップ?テストの場(chǎng)合は、上位モジュールをエミュレートする「ドライバー」を作成する必要がある。ドライバーは、下位モジュールを呼び出してテストデータを渡すきのうを持つモジュールである。スタブやライバーはなのべく単純あ構(gòu)造をにしておき、なんども再利用することが重要である。一方の一斉テストは、すべてのモジュールを結(jié)合してからテストを?qū)g施する方法で、段階を踏まない分、うまく進(jìn)めればとっも効率よくテストを重量できる¥。だが、逆に問(wèn)題が発生した際の手戻りや不具合の解析には時(shí)間がかかるため、開(kāi)
8、発の規(guī)模が大きかった、システムが複雑な場(chǎng)合には、増加テストを採(cǎi)用する方が効率がよい。