問題タブ [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.
unit-testing - 二次テスト アプリのホワイト ボックス テストによるテストですか?
したがって、このソフトウェアには単体テストがありません。基本的に、システム全体が構築され実行されていない限り、このソフトウェアをテストすることはできません。(これは私が知っているがらくたです)
これらの「ホワイト ボックス」テストは次のように機能します。
システム全体が実行されている間に、基本的には二次テスト アプリからの一連のコマンドを、ユーザー フロントを経由するのではなくシステムに直接注入し、テスト アプリから動作が正しいかどうかを確認します。
これにより、システムを手動でプログラミングするのではなく、テスト アプリを使用して個別のテスト ケースをスクリプト化できるため、時間を節約できます。
テスト アプリは、ソフトウェアのコード レベルの詳細を認識していません。
これはホワイトボックステストですか?
java - PowerMock の Whitebox.invokeConstructor() の使用例で ConstructorNotFoundException がスローされるのはなぜですか?
次に、PowerMock のBypass Encapsulation docsの 2 番目の例を PowerMock 1.5.2 (会社で使用しています) を使用して実行しようとすると、すぐにConstructorNotFoundException
スローされます。バージョン 1.6.2 に切り替えてみましたが、結果は同じでした。
私が間違っているかもしれないアイデアはありますか?(私は例のように PowerMock アノテーションを使用しておらず、Java 1.7 を実行しています。) それは私の単純な見落としに違いないと確信しています...
ドキュメントの例のPOMは次のとおりです。
テストクラスは次のとおりです。
これは、すべての栄光の例外です。
org.powermock.reflect.exceptions.ConstructorNotFoundException: パラメーター型のコンストラクターが見つかりませんでした: [[Ljava.lang.Class;, java.lang.Integer] org.powermock.reflect.internal.WhiteboxImpl.invokeConstructor(WhiteboxImpl.java) :1354) org.powermock.reflect.Whitebox.invokeConstructor(Whitebox.java:511) で Test.test(Test.java:6) ...
何か案は?私が見逃しているのはとてもシンプルだと確信しています...
loops - ステートメントとブランチ カバレッジ
みなさん、こんにちは。私は ISTQB 試験の準備をしていて、質問の 1 つに行き詰まっています。
質問は(もともとコピーペースト)ここにあります:
次のコードを考えると、これは true です。
a.1 ステートメント カバレッジのテスト、3 分岐カバレッジのテスト
b.2 ステートメント カバレッジのテスト、2 つの分岐カバレッジのテスト
c.2 ステートメント カバレッジのテスト。3 支店のカバレッジ
d.3 ステートメント カバレッジのテスト、3 つの分岐カバレッジのテスト
分岐カバレッジの 3 つのテスト (1. A>B が true の場合 2. A>B が false の場合 3. C=D が true の場合) およびステートメント カバレッジの 3 つのテスト ( C=A+B 、C=AB およびエラー)。
ただし、答えは、ステートメントカバレッジに対して2つのテスト、ブランチカバレッジに対して2つのテストであると述べています。誰か説明してくれませんか。
java - Java ソフトウェアをテストする方法は?
テストするオープンソース ソフトウェアが割り当てられました。ソフトウェアには 3 つのパッケージがあり、各パッケージには 10 個以上のクラスがあり、各クラスには数十のメソッドがある場合があります。
私の質問は、構造 (ホワイト ボックス) テストを開始する前に、ソフトウェアのすべてのコード行を理解する必要があるかということです。
main() メソッドから始まるプログラム全体の流れを理解する必要がありますか?
私が取るべきアプローチは何ですか?
objective-c - 「ホワイトボックス」アプローチによるテストでの台風の中継
ホワイトボックステストには次のソリューションがあります。
- Typhoon - DI フレームワーク
- KIF - UI と対話するためのツール
すべての重要なエッジ ケースをテストするには、バックエンドからの応答を「スタブ」する必要がある場合があります。コンポーネントにパッチを適用して作成しました(これがどのように行われるかについての完全な説明です:台風を使用した統合テストの偽、スタブ、またはモックの依存関係を注入する方法)
それで
KIFTestCase の beforeAll メソッドで、HTTPClient が FakeHTTPClient にパッチされ、特定のリクエストのレスポンスをスワップできるようになりました。
プロジェクトのアーキテクチャ
アプリの本番コードは、最も重要な場所でリファクタリングされましたが、いくつかの場所では、defaultAssembly を使用してグラフから依存関係を取得する必要があったため、アプリ内のほぼすべてのアセンブリが deafultAssembly になりました。
そしてもちろん、スコープ TyphoonScoopeSingleton との依存関係があります。
問題:
httpClient にパッチを適用した後、Singleton スコープのコンポーネントは「更新」され、init が再度呼び出されました。
グラフ内のコンポーネントを動的に置き換えたい場合、たとえば beforeAll メソッドで、依存関係をスコープ Singleton で「更新」せずに Typhoon で行うことは可能ですか?
testing - メソッドカバレッジで考慮すべきメソッド
メソッドカバレッジの計算について混乱しています。以下のコードを検討してください。
さて、私のテスト ケースは A() を A(1)として呼び出します。これは、 関数 A が関数 C を呼び出さないことを意味します。 メソッド カバレッジは 50% ですか、それとも 100% ですか?
unit-testing - ブラック ボックスでホワイト ボックス テストをカバーできる
こんにちは、私は SW テストの初心者です。
WBT - 開発者がこれを行い、各行が実行されていることを確認し、すべての条件ステートメントをチェックします。
BBT - ブラック ボックスでは、WBT で意図したのと同じことができます。さまざまなパラメーターを入力して出力を確認できます。テスト ケースを作成してすべての条件ステートメントをカバーし、ループ実行もカバーします。
ホワイトボックステストとブラックボックステストの本当の違いは何ですか? 私にとっては、広範な入力、コーナー ケース カバレッジ BBT を実行すると、それが WBT になるように見えます。