問題タブ [hp-quality-center]
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.
.net - 統合テストを実行するときに、不良COMコンポーネント(HP Quality Center 10.0)を.Netアプリケーションから分離する方法
私は現在、COMクライアントAPI(TDApiOle80またはTDApiOle80.TDConnectionと呼ばれることが多い)を介してHP Quality Center 10.0と統合する.Netベースのソフトウェア(.Net Framework 3.5 SP1)に取り組んでいます。
XUnit1.6.1.1521とGallio3.1.397.0(msbuildファイルから呼び出されます)を使用しています
次のプロセスを実行します。
- 接続の作成
- テストの実行
- 接続を閉じる
- 処分
- GC.Collection()/ GC.AwaitingPendingFinalizers()を強制する
統合テストごとに-そして各統合テストは、ファクトで構成されたタイムアウトを使用して実行されます。
私たちが抱えている問題は、いくつかのテスト(たとえば約10回)の後にQuality Centerが呼び出されると無期限にブロックされ、Gallio全体がフリーズして応答しなくなることです。
当初、xunit.netはファクト内のコードにのみタイムアウトを適用することを発見しました-したがって、コンストラクターまたはdisposeメソッドが完了するまで無期限に待機します-確認のために、そのロジックをテストの本体に移動しました...しかしこれは問題を解決していません(特定の数のテストを実行した後もハングします)。
TestDriven.Netを使用する場合も同じことが起こります。1つまたはいくつかのテストをインタラクティブに実行できますが、約10を超えるテストが実行され、実行全体がフリーズします。唯一の選択肢は、TD.Netで使用されるProcessInvocation86.exeプロセスを強制終了することです。
誰かがこれがすべて一緒に起こるのを止める方法、または少なくともこれらの種類の問題から私の統合テストを隔離する方法のいずれかに関するヒント/コツを持っていますか?QC APIが無期限にブロックするテストでは、テストはタイムアウトで失敗し、 Gallioが次のテストに移動できるようにします。
アップデート
STAスレッドを使用するためのヒントは、問題を少し前進させるのに役立ちました。カスタムXUnit.Net属性を介して、独自のSTAスレッドでテストを開始します。これにより、Gallio / TestDriven.Netが完全にロックアップするのを防ぎ、ハドソンビルドサーバーで統合テストを実行することを含めることができます。
代わりに、TestDriven.Netでテストを実行すると、次のような出力が表示されます。偶然に同じスイートを数回実行すると、すべてのテストが合格するか、通常は1つまたは2つのテストが失敗します。そして、最初の失敗の後、2番目の失敗はこの「appdomainのアンロード中のエラー」の問題を引き起こします。
テスト'IntegrationTests.Execute_Test1'が失敗しました:テスト実行時間が超過しました:30000ms
テスト'T:IntegrationTests.Execute_Test2'が失敗しました:appdomainのアンロード中にエラーが発生しました。(HRESULTからの例外:0x80131015)System.CannotUnloadAppDomainException:appdomainのアンロード中にエラーが発生しました。(HRESULTからの例外:0x80131015)System.AppDomain.Unload(AppDomain domain)at Xunit.ExecutorWrapper.Dispose()at Xunit.Runner.TdNet.TdNetRunner.TestDriven.Framework.ITestRunner.RunMember(ITestListenerリスナー、アセンブリアセンブリ、MemberInfoメンバー)at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener、ITraceListener traceListener、String assemblyPath、String testPath)at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()
4が合格、2が失敗、0がスキップ、50.42秒(xunit)かかりました。
Quality Center APIがランダムに無期限にハングしている理由はまだわかりません。これについては、まもなくさらに調査します。
2010年7月27日更新
私はついにハングの原因を突き止めました-問題のあるコードは次のとおりです。
Connectを呼び出してからConnectProjectExを呼び出すと、ブロックされる可能性があるようです(ただし、決定論的ではありません)。冗長な接続呼び出しを削除すると、テストの安定性が劇的に向上したようです-正しい接続コード:
コードベースを継承したので、接続コードについてはあまり考えませんでした。
私がまだ理解していないことの1つは、上記のタイムアウトコードを使用しても、Thread.Join(timeout)が返されない理由です。デバッガーを接続すると、テストスレッドが参加/待機操作中であることが示されます。おそらく、STAスレッドでの実行と何か関係がありますか?
bug-tracking - QA チームは HP Quality Center を使用していますが、開発チームは JIRA を使用したいと考えています。これは機能しますか?
当社の QA チームは、欠陥の追跡やテスト計画などに HP Quality Center を使用しています。
開発チームは Quality Center を非常に嫌い、内部のタスク追跡に JIRA を使用したいと考えています。これら 2 つのシステムはシームレスに連携できますか?
私は、2 つのチームが別々の問題追跡システムを使用するプロジェクトに取り組んできましたが、それらの同期を維持することは大きな頭痛の種でした。
Quality Center と JIRA を統合した実際の経験がある人はいますか?
hp-quality-center - HP QC(Quality Center)での履歴の追跡
QCでバグの履歴を追跡する方法はありますか?私が取得しようとしているのは、リリース中に再度開かれているバグの数と、それが再び開かれた回数です。QCからは、「ステータス」は「クローズ」としか表示されませんが、「クローズ」から「再開」、「修正」、「再開」、「クローズ」に何度も変更されたという情報は得られません。 "。
前もって感謝します!
sdk - OTA API を介して Quality Center のテストからステップを削除する方法
Quality Center OTA API で、テストからステップを削除する方法を教えてください。DesignStepFactory の RemoveItem メソッドを使用してステップを削除しても、まだ残っています。ID とステップ参照の両方で削除しようとしました。
OTA API ドキュメントによると
RemoveItem メソッド
説明: データベースからアイテムを削除します。削除は、ポストなしですぐに行われます。
構文:
Public Sub RemoveItem(ByVal ItemKey As Variant)
アイテムキー:
Step.ID (long)、Step オブジェクトへの参照、または Step.IDs.Step.ID の Variant 配列。
それで、それはうまくいくように見えます。ちなみにこれはQC10用です。
何かご意見は?
automated-tests - 現在のテスト実行者がテスト ラボから、または QTP IDE 内からインタラクティブに実行されているかどうかを判断できますか?
現在の QTP テストの実行がインタラクティブかどうか、つまり、QC テスト ラボから起動された QC テスト セットの実行の一部ではないかどうかを確認する最も効率的な方法は何ですか?
かっこいい方法知ってる?WR には、IDE 内からのすべての実行に対して確実にクリアされるバッチ実行フラグがありました。QTPにはこのようなものがあるのかもしれませんが、見落としていませんか?
OnError
まず物件を見てみようと思ったのですが、
qtApp.Test.Settings.Run.OnError
"Dialog"、"NextIteration"、"Stop"、"NextStep" のいずれかの値を返すようになりました。
これによりOnError
、実行がテスト セットの一部である場合は、おそらく <> "Dialog" および <> "Stop" である設定を見ることができますが、次のようになります。
- すべての QTP テストで自動化インターフェイスを回避することができました。これが最初の例外です (以前の QTP バージョンは混乱し、2 番目の QTP インスタンスを起動して、多くの問題を引き起こしました...)
- テスターは、この設定を「NextStep」または「NextIteration」に設定して、QTP IDE 内から「インタラクティブ」な実行を行う可能性がありますが、これをコードで誤解してしまいます。
- (QC テスト セットからの実行が原因で) ダイアログが表示されない場合でも機能しません。返される値は "Dialog" です。ドー!
hp-quality-center - Quality Center OTA API:TestSetFolderで子TestSetの第1レベルのみを返します
HP QC OTA APIは、指定されたTestSetFolder内のTestSetのリストを返すための2つのメソッドを提供しているようです。ただし、どちらの方法も再帰的であり、階層のさらに下にあるすべてのサブフォルダーのすべてのテストセットを返します。任意のテストセットフォルダの直接の子テストセットのみを返すことができるようにしたいと思います。これは、Commandオブジェクトを使用した非常に単純なSQLクエリを使用して実現できることを認識していますが、QC権限が必要なため、これは私のシナリオではオプションではありません。
以下のc#コードサンプルを検討してください。これは、標準のQCサンプルプロジェクトを使用して問題を説明します。「Root\MercuryTours Web Site \ Functionality And UI」のフォルダパスを使用すると、3つのテストセットがすべての場合に正しく返されます。ただし、「Root \ Mercury Tours Webサイト」のパスを指定すると、サンプルにはそれぞれ3つと2つのテストセットの2つのサブフォルダーが含まれるため、5つのテストセットが返されます。この場合、SQLはテストセットを正しく返しません。
返されたテストセットを繰り返し処理して、TestSetFolderパスプロパティが現在のフォルダーと一致することを確認できます。ただし、これにより、特に大規模なQCプロジェクトや低速のネットワーク接続では、パフォーマンスのオーバーヘッドが大きくなります。
テストセットツリーでノードを展開すると、QC Web UIとQCExplorerツールの両方の負荷テストセットが段階的に読み込まれるため、QCにはこれを行うための何らかの方法が必要です。
何か案は?ありがとう!
sql - HP Quality Center を使用して、再帰的な SQL クエリを作成することはできますか?
この質問は、stackoverflow などで既に尋ねられています。
しかし、HP Quality-Center 10 のレポート クエリでこれを機能させたいと考えています。
そのような技術についての洞察を持っている人はいますか?
簡単なチェック:
QC は、「無効なステートメントが含まれているため、Quality Center はクエリを実行できません」と報告します。
一方、次の意図的なタイプミスでは
QC は、「SQL クエリ ... の実行に失敗しました。次のエラーが発生しました: SQL に失敗しました ... [Mercury][Oracle JDBC Driver][Oracle]ORA-00933: SQL コマンドが正しく終了しませんでした。」
だから私はそれが2つの質問に答えると思います:
- サーバーはOracleです(ただし、バージョンはわかりません)
- with は QC インターフェイスでは許可されていません
visual-studio-2008 - Visual Studio 2008 および HP Quality Center 10 : プラグインはありますか?
VS2008 から HP Quality Center 10 を使用するためのプラグインを知っていますか?
ありがとう、レオ
python - QuickTest Pro を使用して Quality Center API インターフェース ISupportCopyPaste への参照を取得する
Quality Center OTA API は、ISupportCopyPaste (クリップボードを使用したデータのコピー/貼り付け) などのインターフェイスを提供します。実装されたインターフェースへの参照を取得する文書化された方法は次のとおりです。
上記のコードは VB です (これは使用したくありません)。
ただし、QTP では、Dim ステートメントで「As」を使用できません。
QTP を使用してリファレンスを取得する方法を教えてもらえますか?
この問題に対する他の解決策はありますか? 例: Python Win32 を使用
hp-quality-center - QC OTAClient dll
OTACLient.dll を参照して、OTA API を使用するクライアントの 1 つに QC アダプターを開発しました。
この DLL は再配布可能ですか?