A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>仕様に乗っ取っているかどうかをテストするのは、ブラックボックス
>テストになるのかな。
これは正解です。
>「論理構造が正しい」という言葉自体は、
> ・実行時エラーにならない。
> ・無駄なコードがない。
>と置き換えて考えても問題ないでしょうか。
>
>ホワイトボックステストでは、プログラムが仕様に乗っ取って
>いるかどうかをみるテストではないと。上記のことを確認するための
>テストであると。
こっちの方はちょっと微妙ですね。
「論理構造が正しい」という言葉を、「実行時エラーにならない」と置き換えて考えても問題はないと思います。ただ、「無駄なコードがない」という言葉には置き換えれないと思います。
一般に、「見た目は全く同じ動作をしているけれども、無駄なコードをなくして将来的に機能拡張し易いコードに変更していく作業のこと」をリファクタリングといいます。
(A)論理構造は正しく(実行時エラーはなく)、仕様通りの動作をしているけれども、無駄なコードがあるプログラム
(B)論理構造は正しく(実行時エラーはなく)、仕様通りの動作をしているのに加えて、無駄なコードがなく拡張性に優れたプログラム
手短にいえば、リファクタリングとは、(A)から(B)に修正することですね。
ホワイトボックステストともまた、「仕様に乗っ取っているのかどうかをみるテスト」でもあります。この辺りがややこしい所でもありますね。以下がブラックボックステストとホワイトボックステストの違いです。
ブラックボックステスト[機能テスト]→プログラム内の個々の処理は考慮せず、入力と出力の流れが仕様通りの動作となっているかを確認するためのテスト。
ホワイトボックステスト[構造テスト]→プログラムの一つ一つの処理の流れが、仕様通りの動作となっているかを確認するためのテスト。
実際の開発現場においては、余程の小規模でもない限り大半がチーム開発となります。そうなると、やはり個々のプログラマさんによっては無駄なコードがあったりなかったりと、ソフトウェアの品質にもバラツキが出てきたりします。
そのような中で、とりあえずブラックボックステストにおいては、お客様の要求している機能を満たしているのかどうかを見るわけです。(お客様も又、個々のソースプログラムが具体的にどのようになっているのかは知り得ないですよね。)
はたまた、ホワイトボックステストにおいては、個々のプログラマによっていろいろと実装の違いや無駄なコードの有り無しがあるでしょうけど、ソースプログラムの処理1つ1つが、仕様を満たしているのかどうかをチェックするわけです。
仕様で決められているものの一つに、「パラメータ」がありますよね。ブラックボックスにおいては、あるパラメータを入力した時に、また別の期待されたパラメータが返ってきたら、それでテストとしてはOKなわけです。同じく、ホワイトボックスにおいては、仕様によって定められたパラメータを入力した時に、内部でそのパラメータが期待している通りに処理されているかをチェックするわけです。
つまるところ、"「パス」を網羅すること"と"論理構造の正しさを確認すること"の二つも、如何様にも読み取れそうです。「論理構造の正しさ」というのが、あるシステム内での仕様に限定されるものであれば、用はそのためのテストにおいて、「パス」の網羅率を上げていき、デバッグもきちんとこなしていって仕様通りの動作となっていることが確認できれば、その時点で上記の2つは同じとなります。(よく実務レベルでも、論理構造的におかしいのではないか?と開発者さんが声を上げても、設計者さんが「これが仕様です。」と言えば、それがまかり通ってしまうものです。→結果的に、「論理構造が正しい」ということになる!!)
ただ、この「論理構造の正しさ」というのが、一般的なソフトウェアやコンピュータシステム全般の品質や信頼性などに係わってくるものであると仮定したのならば、#1さんのおっしゃる通りとなります。
No.3
- 回答日時:
他の回答者さんと同じく、"論理構造の正しさを確認すること"という表現は、少し分かりづらいように思われます。
(何かしらの洋書を、そのまま訳したものなんでしょうかねえ?)ただ私が察するに、この文章を書かれた方は、用するに「背理法」のような考え方を述べたかったのだと思います。もちろん、以下のような手法を用いれば様々なテストケースを実施することができますが、そこから言えることというのは、単に言語仕様として正しい動作をしている、ということぐらいです。
・ステートメント・カバレッジ[命令網羅]
・ブランチ・カバレッジ、デシジョン・カバレッジ[判定条件網羅]
・条件カバレッジ[条件網羅]
ただ、考えられうるあらゆるテストケースやテストスイート[テストセット]を実施した上で、それでも何ら「論理構造が正しくないこと」が確認できなかったのならば、そもそも「論理構造は正しくないことはない」、つまり、「論理構造は正しい」という結論が導き出せると思います。(とにかく、最初の段階では論理構造が正しいのか、それとも正しくないのかどうかについて分からないので、とりあえず、「論理構造は正しくない」と仮定して、実に様々なテストケースを実施し、網羅率をどんどんあげていこう。そして、もしその仮定が正しかったならば、一つぐらいはバグが見付かるはずだ、という考えですね。それにもかかわらず、バグが一つもなかったのならば、実際には最初の仮定とは反対で、「論理構造は正しい」のではないか、ということです。)
参考URL:http://www.jstqb.jp/syllabus.html
ご回答ありがとうございます。
「論理構造が正しい」という言葉自体は、
・実行時エラーにならない。
・無駄なコードがない。
と置き換えて考えても問題ないでしょうか。
ホワイトボックステストでは、プログラムが仕様に乗っ取って
いるかどうかをみるテストではないと。上記のことを確認するための
テストであると。
仕様に乗っ取っているかどうかをテストするのは、ブラックボックス
テストになるのかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- その他(ネットショッピング・通販・ECサイト) じゃらんのIDを記憶させたい 2 2023/03/31 07:55
- Visual Basic(VBA) VBSで作成した相対パスのショートカットが他者と共有できません。 1 2022/09/05 11:20
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- アルバイト・パート すき家のアルバイトをしている方に質問です。 今僕はすき家でバイトを始めて約2ヶ月経ちましたが、どうし 2 2022/06/04 12:21
- 予備校・塾・家庭教師 東進 東大対策地理 東進の東大対策地理ってとった方がいいでしょうか?!1講座目見て普通に分かりやすか 1 2022/04/01 00:40
- 数学 【高1数学】チャート式をやらずに"教科書対応問題集"をやっている人は受験に失敗すると聞いたのですがど 6 2023/08/27 11:57
- 弁護士・行政書士・司法書士・社会保険労務士 司法試験予備試験、案外簡単? 5 2023/06/02 20:02
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- Visual Basic(VBA) VBA・LOGの取り方で質問です 2 2023/08/03 15:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
texに関する初歩的な質問
-
Verilogの参考書のお勧めを教え...
-
HWNDへの変換
-
JUnit結果出力をファイルに書き...
-
UNIX:テキストファイルのNULL...
-
VBからBeckyを使用したメール送...
-
Excel-VBA コンテンツの作成日時
-
納品 vs ご納品 どちらが正し...
-
「スポット受注」はどういう意...
-
三菱製PLC:ファイルレジスタ(...
-
Windows server 2022 CALとSQL ...
-
Zと2とか紛らわしいのがあるか...
-
納入日と納品日について
-
テストについて
-
プログラマーの土日のみのアル...
-
納期の前倒しを依頼する場合 ...
-
三菱シーケンサーA1SHCPUとA1SJ...
-
3000行位の帳票作成プログラム...
-
マシニングセンタ プログラム...
-
PostgreSQL+DataGridView
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
P2P地震速報のEEW APIの仕様書...
-
texに関する初歩的な質問
-
C#単体テストで同クラス内の呼...
-
テスト仕様書作成って初心者(...
-
EXCEL_VBAでOracleにADO接続し...
-
C#の単体テストでローカル変数...
-
ホームページ・ビルダーで「e...
-
VBからBeckyを使用したメール送...
-
HWNDへの変換
-
Visial C++におけるプログラミング
-
JUnit結果出力をファイルに書き...
-
Verilogの参考書のお勧めを教え...
-
UNIX:テキストファイルのNULL...
-
仕様書に書かれていないこと
-
VB6 コードでメニュー作成
-
テスト仕様書の著作権について
-
Excel-VBA コンテンツの作成日時
-
文字をなぞるとポップアップが...
-
単体テストについて
-
ハノイ塔の非再帰について
おすすめ情報