测试周期状态

问题

测试周期属于复杂的对象,因为其中包含有关手动测试工程师、测试、产品的不同内部版本和版本的信息,甚至还可能包含配置信息。为确保掌控测试周期,必须解答下面这些问题:

  • 已经完成了多少测试?
  • 每个内部版本通过或失败的测试有多少?
  • 我的手动测试工程师是否已满负荷工作?他们能否再承担额外的工作?

解决方案

使用数据集市视图 RV_TestingCycleStatus,创建按测试工程师和内部版本显示测试周期状态的报告,这让您能获得有关按手动测试工程师、配置和内部版本分组的通过、失败、未执行测试数量的概述信息。

SELECT BuildName, TesterLogin, TesterExecutionName,
  PassedCount, FailedCount, NotExecutedCount
FROM RV_TestingCycleStatus
WHERE TestingCycleID = ${testingCycleID|3|Testing Cycle ID}
ORDER BY BuildOrderNumber, TesterLogin
该查询执行以下操作:
  • 使用 RV_TestingCycleStatus 视图作为数据源,其中包含 BuildNameTesterLoginTesterExecutionName,即为反映测试工程师、配置和测试而生成的名称。
  • 将数据限制在您关注的测试周期 ID 范围内。
SQL 查询结果将显示各内部版本和测试工程师的状态。
BuildName TesterLogin TesterExecutionName PassedCount FailedCount NotExecuted Count
352 No specific tester (Test Assets) 0 0 1
351 admin admin (English|SQL2008|FF|Tomcat - Test Assets) 0 1 0
352 admin admin (English|SQL2008|FF|Tomcat - Test Assets) 0 0 1
352 gmazzuchelli gmazzuchelli (English|Oracle10g|IE8|Tomcat - Test Assets) 0 1 1
352 jallen jallen (German|Oracle11g|FF|Tomcat - Test Assets) 1 1 0
352 smiller smiller (German|SQL2008|IE8|IIS - Test Assets) 1 1 0

对于未分配的测试,将创建一个“无特定测试工程师”组,并且以下几个值为空值:TesterLoginTesterFirstNameTesterLastName

如果您想根据手动测试工程师的绩效了解测试周期的情况,可对查询略作修改:
SELECT TesterLogin, TesterExecutionName, SUM(PassedCount) PassedCount,
  SUM(FailedCount) FailedCount, SUM(NotExecutedCount) NotExecutedCount
FROM RV_TestingCycleStatus
WHERE TestingCycleID = ${testingCycleID|3|Testing Cycle ID}
GROUP BY TesterLogin, TesterExecutionName
ORDER BY TesterLogin
查询进行了如下扩展:
  • GROUP BY TesterLogin, TesterExecutionName 表示剩余列。
  • SUM() 是用于聚合数字的计数器。
TesterLogin TesterExecution Name PassedCount FailedCount NotExecutedCount
No specific tester (Test Assets) 0 0 1
admin admin (English|SQL2008|FF|Tomcat - Test Assets) 0 1 1
gmazzuchelli gmazzuchelli (English|Oracle10g|IE8|Tomcat - Test Assets) 0 1 1
jallen jallen (German|Oracle11g|FF|Tomcat - Test Assets) 1 1 0
smiller smiller (German|SQL2008|IE8|IIS - Test Assets) 1 1 0