TFS2010中管理测试用例等测试对象的那些表

来源:互联网 发布:ug数控车床编程实例 编辑:程序博客网 时间:2024/04/28 13:22

到目前为止,我已经读完了《.net自动化测试之道》中的API测试章节,虽然它存储测试用例的方式一般用不到,测试用例数量可能会很庞大、步骤也不会那么简单,用文本文件存储是很不现实的。但是它的整个测试设计思路是可取的,它的技巧也值得借鉴。测试管理工具一般都把测试用例等其他测试相关对象存储在数据库中,将测试用例输入以及测试结果显示都图形界面化。用过vs2010的测试功能的童鞋应该会有些体会。

下面分析一下TFS2010中管理测试对象的那些表,大概了解一下它的设计思路。

微软vs2010的测试功能还是很强大的,它有个microsoft 测试管理器2010客户端随vs2010一起安装, microsoft 测试管理器2010管理我们的测试对象(测试计划、测试套件、测试用例等),这些对象都是存储在TFS2010服务器端的数据库中。在TFS2010中每创建一个collection就会创建一个Tfs_collection名称的数据库,安装TFS2010的时候会有个默认的collection,对应数据库Tfs_DefaultCollection。Collection数据库中有管理测试对象的相关表。

来看看这几组表:

测试计划:tbl_Plan

测试套件:tbl_Suite、tbl_SuiteConfiguration(存储测试套件和配置的关系)、tbl_SuiteEntry(存储测试用例和测试套件的关系)

测试用例:WorkItemsAre、WorkItemLongTexts等

其他:(如测试设置、测试运行、测试结果等):以tbl_Test为前缀的那些

当创建一个测试计划的时候就在tbl_Plan中插入一条记录,存储测试计划的相关内容,套件的内容存储在tbl_Suite中,包括它对应的测试计划的id。

测试用例特殊一点,它是被作为TFS的一个工作项处理的。

一般一个测试用例,它包括的元素有用例ID、标题、操作步骤、参数、预期结果等,来看看vs2010测试工具中的测试用例(如图)

呃,内容好多噢,对于这些内容的存储,微软的处理方式不是相同的,有些是表的一个字段(而且会是不同的表),如测试用例标题在WorkItemsAre表中,摘要在WorkItemLongTexts中,有的用了单独的表,如附件(存储在WorkItemFiles表中),大部分是TFS的field,同时是表的字段,如测试步骤、预期结果、参数、关联的自动化测试的相关内容等。

WorkItemAre是一个宽宽的表,它的大部分字段是TFS中的field。大家可以查看Fields表看看各FldID代表什么,如FldID为10025的是自动测试名称。10017表示测试用例步骤。我们知道测试用例步骤、预期结果、用例的参数等可能会很多,因此存储的时候占位也长,微软是将这些作为长文本存储在WorkItemsLongTexts表中(而且是XML格式的),如上图中的用例参数,它存储在WorkItemsLongTexts表中的words字段中,内容如下:

<?xml version="1.0" encoding="utf-16"?><NewDataSet>  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="">      <xs:complexType>        <xs:choice minOccurs="0" maxOccurs="unbounded">          <xs:element name="Table1">            <xs:complexType>              <xs:sequence>                <xs:element name="用例的参数" type="xs:string" minOccurs="0" />              </xs:sequence>            </xs:complexType>          </xs:element>        </xs:choice>      </xs:complexType>    </xs:element>  </xs:schema>  <Table1>    <用例的参数>a</用例的参数>  </Table1>  <Table1>    <用例的参数>本帮菜</用例的参数>  </Table1></NewDataSet>

并且测试用例步骤、预期输出、参数等这些field每修改一次会在这个表中插入一条记录。测试运行当然会有测试结果,TFS也有相关的表存储测试结果(tbl_Test前缀的)。当然,这个工具很强大,他的架构设计固然也不那么简单,我在这里只是简单了解以帮助设计自己的测试框架,而且与测试相关的表也不止这些,有兴趣可以自己去了解。

 

原创粉丝点击