Getting the Number of Passed, Failed, No Run and Not Completed Test cases
We 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="RootAccount1Proj1" '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 set
We can use the below code to get the count of test cases executed by a tester in a particular test set.
Dim vPath: vPath="RootAccount1Proj1" '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 severity
We 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") = "^Releasesproj11.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 status
Here 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") = "^Releasesproj11.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
Author
Divya Rajaraman
Comments(0)