UML软件工程组织

试论软件缺陷内部数据库的重要性
文章出处:本地化世界网 作者:崔启亮

一、概述

测试质量和效率是软件测试的重要内容,其中对软件测试过程发现的软件缺陷(Bug)的管理具有重要作用。

软件测试缺陷管理数据库是管理软件测试缺陷的专用数据库系统,可以高效率地完成软件缺陷的报告、验证、修改、查询、统计、存储等任务。尤其适用于大型多语言软件的测试管理。

实际测试项目实施之前,客户都提供通过因特网访问的项目公共数据库。由于通过因特网访问速度比较慢,客户只给项目中的少数人登录权限,所以,不能满足测试组每个成员都可以方便地访问数据库。更重要的,如果每个测试工程师都各自直接向项目公共数据库报告和修改软件测试发现的缺陷,由于每个人软件测试的经验背景不同,很难控制报告的缺陷质量,也不利于保持软件缺陷报告的一致性。所以,为了保证报告软件缺陷的质量和格式的一致性,需要测试小组内部指定具有测试经验的人员验证和审查小组内部报告的软件缺陷,然后再通过因特网,统一报到项目公共数据库中。

据调查,很多从事多年软件测试的公司,都有内部的软件测试缺陷管理数据库。这些内部数据库大部分是公司内部开发的,也有一些是直接从市场上购买的。公司内部开发的功能更符合实际要求、具有良好的扩展性。直接购买的数据库节约了开发成本,但是往往价格较高,很多功能根本用不上,造成经济上的浪费。

大型的软件测试项目,需要多人组成一个或多个测试小组,通过有效管理和内部交流才能保证测试项目的顺利实施。因此,如果再单纯采用内部电子邮件的方法管理测试的软件缺陷,将造成测试项目实施过程中,软件测试缺陷的交流效率低,缺陷的流程管理难以实时控制。

二、采用电子表格与电子邮件管理软件缺陷引起的问题

在没有引入公司内部软件缺陷管理数据库之前,对于测试发现的软件缺陷,测试小组内部采用发送内部电子邮件的方式。测试工程师发现的软件缺陷,先书写测试基本信息(软件名称、版本号、语言、测试环境、测试内部、缺陷类别,测试者姓名、测试日期),然后加入详细的测试步骤,和/或捕捉缺陷的图像。再发送给测试组内部的软件缺陷验证工程师,为了使内部其他测试工程师注意已经发现的缺陷,还要同时抄送邮件。负责向客户提供的项目数据库测试团对中的工程师,首先要检查测试工程师邮件中的软件缺陷是否正确和完整,包括格式、步骤,然后报告到客户提供的项目数据库。为了便于统计工作量、进度、缺陷类型和数量,通常创建电子表格文件,将缺陷类型、报告者、报告日期、缺陷状态等进行记录。

这种测试工作方式最大的不便之处在于:

1、测试效率不高

测试组每个成员在测试过程中要不断受到中断,需要随时阅读和回复这些邮件,工作效率很低。尤其当测试成员很多,测试的语言版本很多时,缺陷严重工程师的压力更大。内部缺陷验证工程师的工作量很大,不仅要验证缺陷的正确性,报告缺陷到客户的项目数据库,还要逐个向电子表格文件输入每个缺陷的处理情况。另外,如果报告的缺陷很多,很难分类查找某个或某种类型的缺陷。

2、测试质量难保证

由于个人的测试经验和习惯不同,每个人报告的软件缺陷的内容和格式很难保持一致,甚至往往遗漏关键内容。软件缺陷验证时,需要花费很多时间对其内容进行检查,对于检查中发现的问题还要发邮件或口头交流。如果缺陷被验证通过,再报告到客户提供的因特网测试缺陷管理数据库中,并且发送缺陷编号和标题等内容给测试工程师,并抄送给内部其他相关测试工程师,又一次造成测试中断和处理邮件。

3、实时管理难度大

测试过程中,经常需要迅速定位查找某个软件错误,由于没有内部数据库管理,只能从很多测试邮件和缺陷统计电子表格文件中寻找,或者从因特网的项目测试数据库查找,查找耗费大量的时间。另外,如果多个人同时测试不同语言的软件,由于发现的测试缺陷种类不同,缺陷验证工程师可能需要不断切换操作系统验证缺陷,效率很低。

三、引入软件测试缺陷管理内部数据库的重要性分析

以下从软件测试的流程管理的要求和大型多语言软件测试特征方面,论述引入内部软件测试缺陷管理系统的必要性。

1、提高软件缺陷的报告效率和质量

引入内部专用软件测试缺陷数据库具有以下优点:

第一、保持高效率的测试过程。由于测试缺陷数据库通过测试组内部局域网运行,因此打开和操作速度快。测试工程师随时向内部数据库添加新发现的缺陷,而且如果遗漏某项缺陷的内容,数据库系统将会及时给出提示,保证软件缺陷报告的完整性和一致性。软件缺陷验证工程师将主要精力验证数据库中新报告的缺陷,保证了效率。

第二、提高软件缺陷报告的质量。软件缺陷报告的一致性和正确性是衡量软件测试公司测试专业程度的指标之一。通过正确和完整填写软件缺陷数据库的各项内容,可以保证不同测试工程师的缺陷报告格式统一。为了提高报告的效率,缺陷数据库的很多字段内容可以直接选择,而不必每次都手工输入。

第三、实时管理,安全控制。软件缺陷查询、筛选、排序、添加、修改、保存、权限控制是数据库管理的基本功能和主要优势。通过方便的数据库查询和分类筛选,便于迅速定位缺陷和统计缺陷的类型。通过权限设置,保证只有适当权限的人才能修改或删除软件缺陷,保证了测试的质量。

2、满足大型多语言软件测试的需要

软件测试缺陷数据库可以满足大型软件测试项目的需要。大型多语言软件测试的具有以下特征:

(1)测试周期较长

通常要测试多个版本(Builds),跨度达三至六个月或更长。

(2)存在较多软件缺陷

由于软件功能丰富,软件设计结构复杂,规模庞大,需要本地化的资源文件数量多,类型复杂,可能存在数百甚至上千个软件缺陷(Bug)。

(3)测试范围广

从测试内容看,包括功能测试,性能测试,安装/卸载测试,用户界面测试,语言质量测试等。从测试方法看,包括手工测试和自动脚本测试。

(4)对测试质量要求较高

要求发现重要的缺陷,方便的跟踪和及时处理测试发现的缺陷。

(5)多语言软件同时测试

可能需要同时测试多种语言的软件。 

满足如此高质量要求的软件测试,如果项目测试组内部没有高效的软件缺陷管理和控制方式,是很难保证测试质量和测试进度的。测试实践证明,在测试组织不完善的新型测试机构的测试初期,引入内部软件缺陷数据库是很有必要的。

另外,测试人员的不确定性,难以保证新加入的测试成员,能够尽快适应实际测试项目的需要。为了保证测试软件缺陷报告的质量,引入内部测试缺陷数据库,可以从测试工具和测试流程上,保证不同测试技术背景的测试成员书写结构一致的测试报告。

引入内部软件测试缺陷数据库属于软件公司创建测试组织的基础性工作,可以满足现在和今后软件测试业务不断发展的需要。这种基础工作做好了,可以使初期的测试项目顺利实施,也为今后大型测试项目的实施打下良好的基础。

四、结论

引入内部的软件测试缺陷管理数据库可以提高软件测试过程效率,提高软件缺陷报告的质量,编译有效实施软件测试管理,可以满足同时测试多个语言的大型软件测试项目,尤其适合刚刚从事软件测试服务的测试公司的实际软件测试项目的需要。


版权所有:UML软件工程组织