私はあなたがTFSアドイン(VSまたはチームエクスプローラに含まれています)を使ってプロジェクトを介して確認することをお勧めします。 =>チームプロジェクトを選択し
クリックして取得作業アイテム=>そのクエリを選択=>検索=>選択し
- クエリ(作業項目のツリー)

- プロジェクトを開く
- クリックしてチームを作成します。すべて=> OK

プロジェクトで結果を確認できた後、あなたはまた、対応するタイトルをクリックすると、親アイテムを折りたたむことができます。
ExcelアドインでTFS APIを使用することでプログラム的に実現できます。
- document level excel add-in project
- Query.RunLinkQuery方法を使用してMicrosoft Team Foundation Server Extended Client package
- 実行クエリをインストールを作成します。
- これらのテストケース
- の
- チェックテストの結果は、あなたの細部の要件ごとに秀でるために、テスト結果
- セーブデータの関連する作業項目を取得要件のテストスイートにテストケースを取得します。
シンプルコード:情報についてstarain..Thanks @
var credentials = new NetworkCredential("[user name]", "[password]");
TfsTeamProjectCollection tfsCollection = new TfsTeamProjectCollection(new Uri("https://XX.visualstudio.com"));
ITestManagementService tms = tfsCollection.GetService<ITestManagementService>();
ITestManagementTeamProject teamProject = tms.GetTeamProject("[team project name]");
WorkItemStore workitemstore = tfsCollection.GetService<WorkItemStore>();
QueryHierarchy queryRoot = workitemstore.Projects["[team project name]"].QueryHierarchy;
QueryFolder queryFolder = queryRoot["Shared Queries"] as QueryFolder;
QueryDefinition qd = queryFolder["[query name]"] as QueryDefinition;
Dictionary<string, string> variables = new Dictionary<string, string>();
variables.Add("project", "[team project name]");
Query query = new Query(workitemstore, qd.QueryText, variables);
var results = query.RunLinkQuery();
foreach(var lr in results)
{
//check relationship according to sourceId, TargetId and LinkTypeId (2: child)
int parentId = lr.SourceId;
int currentId = lr.TargetId;
}
foreach (ITestPlan p in teamProject.TestPlans.Query("Select * From TestPlan"))
{
Console.WriteLine("Plan - {0} : {1}", p.Id, p.Name);
foreach (var suite in p.RootSuite.SubSuites)
{
IRequirementTestSuite requirementSuite = suite as IRequirementTestSuite;
if (requirementSuite != null)
{
var requirementId = requirementSuite.RequirementId;
//check requirementId with user story Id
foreach(var tc in requirementSuite.TestCases)
{
var lastResult = teamProject.TestResults.ByTestId(tc.Id).OrderByDescending(tr => tr.DateStarted).FirstOrDefault();
if(lastResult.Outcome== Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Failed)
{
int[] ids= lastResult.QueryAssociatedWorkItems();
foreach(int id in ids)
{
var wit = workitemstore.GetWorkItem(id);
}
}
}
}
}
}
。何らかのスクリプト/プログラミングツールを使用して同じことを達成できますか? TestSuites(UserStoriesを使用して作成されたRequirementベースのテストスイート)を取得して、それらのTestSuitesにリンクされたTestCasesを取得するクエリをさらに拡張したいので、私はいくつかのスクリプトを好む。例:UserStory→TestSuite→テストケース。私の最終的なレポートの要件は次のとおりです:Epic→Feature→UserStory→TestSuite→TestCases→TestResult→Bug(テスト結果が「Fail」の場合)この種のデータを1つのレポートにまとめることは可能ですか? – Srini33
@ Srini33はい、プログラムでTFS APIを使用して達成できます。私は自分の答えを更新しました。 –
@ starain..情報に感謝します。可能であれば、TFS APIプログラミングを学ぶための最善のアプローチを私に提案してください。私はこれに新しいです。また、上記のプログラムを理解するには時間がかかります。私は何か明確化が必要かどうかを知らせます。 – Srini33