Getting the Number of Passed, Failed, No Run and Not Completed Test casesWe can make use of the Filter as given below to get the number of Test cases according to the status Passed, Failed, No Run, Not Completed,etc.Dim tdc, qcServer
Dim qcUsername,qcPassword,qcDomain,qcProject
Set tdc = CreateObject("TDApiOle80.TDConnection")
qcServer = "QC URL"
tdc.InitConnectionEx qcServer
If tdc.Connected Then
Msgbox "Connected to QC"
Else
MsgBox "Not connected to QC"
End If
qcUsername = "Your QC Username" 'Username
qcPassword = "Your Password" 'Password
tdc.Login qcUsername, qcPassword
If tdc.LoggedIn Then
MsgBox "Logged in to QC"
Else
MsgBox "Logged out from QC"
End If
qcDomain = "Domain" 'QC Domain Name
qcProject = "Project" 'QC Project Name
tdc.Connect qcDomain, qcProject
Dim vPath: vPath="Root\Account1\Proj1" 'Path to the folder containing test set
Dim vPass,vFail,vNR,vNC
Dim oTestSet: Set oTestSet = tdc.TestSetTreeManager.NodeByPath(vpath).TestSetFactory.NewList("").Item(1).TsTestFactory 'Item(1) Refers to the 1st test set in the path
Dim testFilter1: Set testFilter1 = oTestSet.Filter
'To Filter by Passed status
testFilter1.Filter("TC_STATUS") = "Passed"
vPass = vPass + oTestSet.NewList(testFilter1.Text).Count
'To Filter by Failed Status
testFilter1.Filter("TC_STATUS") = "Failed"
vFail = vFail + oTestSet.NewList(testFilter1.Text).Count
'To Filter by No Run status
vNR = vNR + oTestSet.NewList("[Filter]{TableName:TESTCYCL,ColumnName:TC_STATUS,LogicalFilter:" & Chr(39) & "No" & Chr(32) & "Run" & Chr(39) & ",VisualFilter:" & Chr(39) & "No" & Chr(32) & "Run" &Chr(39) & ",NO_CASE:}").Count
'To Filter by Not Completed status
vNC = vNC + oTestSet.NewList("[Filter]{TableName:TESTCYCL,ColumnName:TC_STATUS,LogicalFilter:" & Chr(39) & "Not" & Chr(32) & "Completed" & Chr(39) & ",VisualFilter:" & Chr(39) & "Not" & Chr(32) &"Completed" & Chr(39) & ",NO_CASE:}").Count
Msgbox "Passed: "&vPass&" Failed: "&vFail&" No Run: "&vNR&" Not Completed: "&vNC
Set testFilter1=Nothing
Set oTestSet=Nothing
Set tdc=Nothing
Getting the Number of Test cases executed by a tester in a specific test setWe can use the below code to get the count of test cases executed by a tester in a particular test set.Dim vPath: vPath="Root\Account1\Proj1" 'Path to the folder containing test set
Dim oTestSet: Set oTestSet = tdc.TestSetTreeManager.NodeByPath(vpath).TestSetFactory.NewList("").Item(1).TsTestFactory 'Item(1) Refers to the 1st test set in the path ; tdc refers to the test
connection object in the previous snippet
Dim testFilter1: Set testFilter1 = oTestSet.Filter
Dim vtestcount: vtestcount=0
Dim tester_name:tester_name="divya" 'QC username of the tester for whom the count has to be calculated
testFilter1.Filter("TC_ACTUAL_TESTER") =chr(34)&Cstr(tester_name)&chr(34)
vtestcount = vtestcount + oTestSet.NewList(testFilter1.Text).Count
Msgbox "Number of Test Cases executed by "&tester_name&" : "&vtestcount
Set testFilter1=Nothing
Set oTestSet=Nothing
Getting the number of defects raised by a tester in a specific release according to severityWe need to apply multiple filters as we are using Tester name, Release Name and Defect Severity as the criteria.
Dim Bug_Ct:Bug_Ct=0
Dim tester_name:tester_name="divya"
Dim test_severity:test_severity="2-High"
Dim oBugFactory: Set oBugFactory=tdc.BugFactory
Dim TotBugcnt: TotBugcnt=oBugFactory.NewList("").Count 'To get the total number of defects in Defects tab.
Dim oBugFilter1:Set oBugFilter1=oBugFactory.Filter
oBugFilter1.Filter("BG_DETECTED_BY")=tester_name 'QC username of the tester for whom the defect count has to be calculated
oBugFilter1.Filter("BG_DETECTED_IN_REL") = "^Releases\proj1\1.1.01.201^" 'Name of the Release
oBugFilter1.Filter("BG_SEVERITY")=test_severity 'Defect Severity. Eg.: Can be 2-High, 1-Critical, 4-Low. Possible Values can be obtained from QC defects tab
Bug_Ct = Bug_Ct + oBugFactory.NewList(oBugFilter1.Text).Count
Msgbox Bug_Ct
Set oBugFilter1=Nothing
Getting the number of defects in a specific release according to defect statusHere we need to apply the following criteria: Release Name, Defect status. If we want to be more specific , say, we need to find the same for a particular tester, then we can include tester name as a filter criteria.The following code will give the output for number of defects raised in a specific release having the status "Closed" which were raised by tester1 and tester2.
Dim Bug_Ct:Bug_Ct=0
Set oBugFactory=tdc.BugFactory
Set oBugFilter1=oBugFactory.Filter
oBugFilter1.Filter("BG_DETECTED_IN_REL") = "^Releases\proj1\1.1.01.201^" 'Name of the Release
oBugFilter1.Filter("BG_STATUS")="Closed" 'Defect status for which count is calculated
oBugFilter1.Filter("BG_DETECTED_BY")="tester1 or tester2" 'QC Username of the testers for whom the count is calculated
Bug_Ct = Bug_Ct + oBugFactory.NewList(oBugFilter1.Text).Count
Msgbox Bug_Ct
Set oBugFilter1=Nothing