問題タブ [white-box-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
testing - 複数条件カバレッジ テスト
複数条件カバレッジと呼ばれるテストのホワイト ボックス手法を使用する場合、すべての条件付きステートメントを使用するか、それとも複数の条件を持つステートメントだけを使用するか? 名前の手がかりかもしれませんが、よくわかりません。
したがって、次の方法がある場合
「条件 A」だけの真理値表を生成するのか、それとも条件 B も生成するのか?
ありがとう、
testing - ホワイトボックステストのデメリットは?
ホワイト ボックス テストの欠点は何か考えられますか? テスターがコードを知って理解する必要があること (コストがかかる場合があります) 以外に考えられることはありますか?
ありがとう、
white-box-testing - WBT によってキャッチされたが BBT によってキャッチされなかったエラー、およびその逆
ホワイト ボックス テストを使用して検出されるエラーの種類と、ブラック ボックス テストを使用して検出されるエラーの種類を考えてください。つまり、一方によって検出され、他方では検出されないエラーです。
WBT の場合、else ステートメントは null になりますが、WBT ではなく BBT で何をキャッチしますか?
ところで、この質問は私自身の個人的な研究に基づいています-私はこれから無料の点数を獲得していません!!!!
ありがとう、
white-box - WhiteBox テスト、ON-Units、Condition-Coverage に関する質問
ホワイトボックステストのいくつかの概念で立ち往生している本を読んでいます。以下のリンクの記事は、本から正確に引用されています。 http://testdesigners.com/testingstyles/ControlFlowTesting.html
1. 「ON-Units」という用語は、それが何であるかを説明することなく、「Decision Coverage」の記事で最初に紹介されています。この記事では、この用語を後で使用し続けますが、ON-Unit の意味がわからないと難しいです。
質問 - 「ON-Unit」は意思決定がたどる、または通過する経路ですか? On units を「呼び出す」にはどうすればよいですか?
2. 「Condition Coverage」の下の例では、DO K=0 TO 50 WHILE (J+K < QUEST)
記事は説明します-「決定テストを使用している場合、WHILE句が偽になる状況を調査することなく、ループをK = 0から51まで実行させることで基準を満たすことができます」
質問 -
判定カバレッジの定義により、テスト ケースは判定の true 分岐と false 分岐の両方を少なくとも 1 回は調査する必要があります。つまり、While (J+K < Quest) が True 分岐、(J+K < QUEST) が False 分岐であるため、K = 0 ~ 50 は重要ではありません。なぜこの記事は判定カバレッジの下で言及されているのですか - While 句が false であることを調査していないのですか?
また、判定カバレッジの行の最初の部分では、真の分岐である K = 0 から K = 51 までのループを実行することによって判定基準が満たされます。真の分岐のテスト ケースを持つだけでは、判定基準は満たされません。 、なぜ記事はこれに沿って決定基準を満たすのに十分であると言っているのですか?
unit-testing - 単体テストはブラック ボックス テストとホワイト ボックス テストのどちらにするべきですか?
3 つのメソッドがあるとします。すべて非常に似ていますが、入力の種類が異なります。
3 つすべてが同じ基本ロジックを使用します。たとえば、double
数値を比較するのはバージョンだけで、他の 2 つは入力を に変換するだけかもしれませんdouble
。
いくつかの異なる単体テストを想像することができます: 最初の入力が大きい、2 番目の入力が大きい、両方の入力が負である、など。
私の質問
3 つのメソッドすべてに完全なテスト セットが必要です (コアの実装が同じであるとは想定していないため、ブラック ボックスです)。
また
パラメータ変換を検証するために、バージョンのみdouble
を厳しくテストし、他の 2 つを軽くテストする必要がありますか (同じ実装を共有し、テストで既にテストされていることがわかっているため、ホワイト ボックス テストをdouble
行います)。
testing - 単一リンク リストのテスト ケース
一般に、リンクされたリストの問題に対する適切なテストケースは何ですか? たとえば、重複を見つけて削除し、最初のノードへのポインタを返す関数のテスト ケースです。主なケースとして次のようなものがあります。関数が c# または Java であり、c や c++ ではありません。リストのノードとしてすべての正の整数を想定します。
- ヌル
- 空のリスト
- ループ付き連結リスト
- すべての重複を一覧表示
- 1 つのノードまたは 2 つのノード (2 つの複製) を含むリスト
- 重複なし
- メモリが少ない場合、リストで整数オーバー フローが発生する可能性があります (32 ビット マシン、64 ビット マシンによって異なります)。
- セキュリティ テスト、言語の自動化、メモリの問題、パフォーマンスとストレス
ほかに何か?とんでもないテストケースを期待しています..専門家はいますか?
unit-testing - ホワイトボックス/ブラックボックス テスト: 静的または動的?
これが私が理解していることです:
動的テストは、システムが稼働しているときに実行されるテストです。静的テストは、システムが実行されていないときに実行されます。
ブラックボックス テストは機能に焦点を当てており、プログラムの内部動作を知らずに実行されます。ホワイト ボックス テストでは、コード自体の問題を探します。
私が疑問に思っているのは、すべてのブラック ボックス テストが静的であると言っても過言ではないということです。また、ホワイト ボックス テストには静的なもの (ソース コードの検査など) と動的なもの (分岐/パス テスト) があると言ってよいでしょうか?
design-patterns - ホワイトボックステストを容易にするためにプログラミングのパターンを設計しますか?
プログラムのホワイト ボックス テストを容易にするためのプログラミングの設計パターンがあるかどうか疑問に思っています。単体テストについて話しているのではなく、ホワイトボックスベースの機能テスト、システムテスト、または境界テストなどのより高いレベルのテストです。
例えば:
GUI ベースのプログラムの場合、隠しスイッチを予約して、GUI の代わりにテキスト ファイルから入力を読み取ることができます。
一部の HTTP ベースの C/S アプリケーションでは、パッケージ送信中に gzip オプションを無効にするパラメーターを提供します。これにより、Fiddler を使用して HTTP パッケージを変更しやすくなります。
他のパターンや原則はありますか?
unit-testing - オンユニットとは何ですか?
Art of Software Testingには、「 ONユニット」への参照がいくつか含まれています。テストケースの設計に関するセクションの例を次に示します。
決定カバレッジは通常、ステートメントカバレッジを満たすことができます。すべてのステートメントは、分岐ステートメントまたはプログラムのエントリポイントから発生するサブパス上にあるため、すべての分岐方向が実行される場合は、すべてのステートメントを実行する必要があります。ただし、少なくとも3つの例外があります。
- 決定のないプログラム。
- 複数のエントリポイントを持つプログラムまたはサブルーチン/メソッド。特定のステートメントは、プログラムが特定のエントリポイントで入力された場合にのみ実行される可能性があります。
- ONユニット内のステートメント。すべての分岐方向をトラバースしても、必ずしもすべてのONユニットが実行されるとは限りません。
私はこれまでON -unitという用語を見たことがなく、グーグルで定義を見つけるのに苦労しています。ONユニットとは何ですか?
c++ - Visual Studio 2010 単体テスト
単体テストを使用して、ソース コード内のいくつかの関数をテストしたいと考えています。テストを実行すると、テスト結果が得られません。
これが私がやろうとしている簡単なコードスニペットです:
これが機能しない理由を誰かが知っていますか?