浅谈SQL Server Engine GQL测试(一)

来源:互联网 发布:张弘范 知乎 编辑:程序博客网 时间:2024/04/29 04:31

 

 

 

浅谈SQL Server Engine GQL测试

刘志(20103)

 

摘要:
    近三年来(20077月至今),笔者作为一家软件外包公司的外派员工有幸参与了软件跨国公司MSSQL Server数据库软件产品的核心模块 SQL server Engine(数据库引擎)的测试工作。由于该款数据库产品是世界级的。为确保  SQL server Engine的质量,使之高效、稳定、可靠的为用户提供高质量的服务,可想而知,MS公司对它的测试是非常严格的。无论从GQL 测试用例选择、GQL测试的方法、测试流程、测试工具、测试管理、团队的建设等方面,都有一套完整、严密的方案。本文就以上几个方面来分别加简述,并就其中存在的问题与大家探讨。

 

正文:

 

SQL server EngineSQL Server的核心,保证SQL server Engine高效的可靠为用户提供高质量的应用就成为测试的重中之重SQL server Engine的测试单靠测试团队是不可能完成的,它必须依靠产品开发团队、build团队、测试团队、测试执行团队、测试管理团队的共同合作才能最终完成。

  MS产品组对SQL server Engine(数据库引擎)采用GQL(Guaranteed Quality Level质量保证级别)测试。

 

一、测试用例的选择:

1.       由于该款产品针对引擎的测试用例开发已经经过近二十年的积累,总数已达到几十万个。那么要想从中选出必要的GQL测试用例,就要根据引擎的模块划分,从中选出代表性的测试用例,使所有核心功能被覆盖到。从而达到质量保证测试的目的。

2.       GQL用例也不是选择好后就一成不变了。它会随着产品开发的推进和测试的不断重复实施,针对新的特性(feature)的加入和QFE(Quick Fix Engineering)CU(Cumulate Update) OD(On Demand) 等数据库补丁的不断产生,要不断补充增加新的测试用例。

   
    GQL测试的目的是保证产品开发没有重大的缺陷(defect or bug),但通过GQL测试的build不能说就不存在其他类型的bug,还需要由其他测试如FullFunctional全功能测试、 Stress压力测试、Performance性能测试来检测。

 

二、测试方法的选择:

 

    由于该款数据库产品的产品线非常宽,最新版本根据新增功能的不同,会从产品主线中分成许多不同的分支,每一个分支 称为一个improvement,而已经发布的产品也有很多improvements,也要不断的维护,这样所有的improvements加起来的数量就有几十或者上百个之多。针对这些分支的GQL测试也就相当繁重。因此必须采用自动化测试的方法!

 

目前GQL测试执行、测试结果记录已经是自动化运行。但针对测试的结果分析和缺陷的提交、跟踪还必须由人工干预。

 

三、测试的流程

  SQL server Engine(数据库引擎)的测试需要多个Team合作执行。首先,由improvement team提出申请,然后TE team(测试执行团队)根据提出的申请配置测试环境,准备机器。并开始执行测试。当全部测试执行完毕。交给SQL China VAT ( China Vendor Assistant Team中国测试辅助团队,由软件外包公司招募) 进行测试结果的调查,并提交Product bugTest bug Bug 库中。开发人员和测试人员根据SQL China VAT Team提交的bug进行bug种类的确认和修复,同时SQL China VAT Team也承担一部分测试bug 的修复工作。测试人员可以指导Vendor Team如何进行测试bug 的修复。

四、测试的组织管理:

由于各个团队在地理上分布在不同的国家,比如开发人员和测试人员在美国, 测试执行团队在美国,SQL China VAT Team在中国北京。根据这些地方的时差,再根据每轮测试优先级不同,又将测试分为P0 P1 P2等不同的级别。 对于P0的测试,在GQL 测试执行完成后,美国的测试团队或SQL China VAT Team在当天工作日必须马上响应,并在8小时内(当天的工作日内)将测试结果调查完毕,同时提交测试总结报告。将测试发现的bug列表提交给美国的开发和测试团队,以便于在他们的工作日及时对Vendor Team所开具的bug 进行分析并修复。以此类推,对于P1的测试,Vendor Team可在48小时内提交测试结果。P2的时间可相对更长,在72小时内。

 

 

--未完待续