王 妍
(曲阜师范大学 软件学院,山东 曲阜273165)
软件测试是从测试立项工作开始的,然后详拟测试计划,分配测试任务,执行测试到测试完结生成质量报告,这一过程称为软件测试过程。自动化测试管理可以大大简化这一复杂的过程,一般需要对测试需求分析、测试计划制定、测试设计与开发、测试执行与缺陷跟踪、测试评估等5个阶段进行有效管理。对此可做研究分述如下。
测试活动总是从研究需求分析开始的,需求分析是开展测试活动的基础和依据,软件需求分析可以告诉研究者需要“测什么”。测试人员需要将测试与需求对应起来,以便为之后的测试情况确定测试需求覆盖率。测试需求分析阶段要求测试人员首先要理解并重构系统的业务流程;然后对系统的具体功能需求、性能需求以及安全性需求进行有效分析;最后对界面的美观性及易操作性进行分析。
测试计划是测试者用来执行测试用例的依据,测试计划由测试用例组成。测试计划要注重过程的安排,从编写测试计划过渡到计划测试任务,重点是详尽的计划安排。在TestLink系统中,一个完整的测试计划要包括各阶段测试的名称。
测试用例是指测试过程中为了发现缺陷而向系统提供的数据、操作及预期结果。测试用例是执行测试的最小实体,是软件在某个具体的测试场景下能够正常执行并达到预期结果的过程。TestLink支持2层测试用例管理:测试用例集、测试用例,另外还可以提供管理测试需求与测试用例对应关系的功能。
执行测试用例是为了发现软件缺陷。执行测试用例的过程,实际上是对比实际输出结果和预期结果是否一致,凡不一致的作为软件缺陷处理。TestLink可以集成Mantis对软件缺陷进行自动化的管理,可以对大量原始测试数据进行有效管理,另外对于发现的缺陷,可以实现跟踪管理和监控,直到缺陷被修改并且关闭。
测试结果分为4种情况:通过、失败、锁定、尚未执行。整个测试过程结束后,可以通过测试覆盖率、测试执行率、测试执行通过率、测试缺陷解决率等指标来对测试结果进行评估。TestLink根据测试过程中记录的数据,提供了多种度量统计功能,可以从测试进度、失败的测试用例、锁定的测试用例及尚未执行的测试用例等几个方面进行分析总结。
在TestLink系统中,每个用户都可以维护自己的私有信息,初次登录可以使用admin用户名,然后可以创建新用户。TestLink提供了6种不同的权限级别,不同的权限级别可以工作的权限不同,详见表1。
TestLink可以对整个测试过程进行合理的管理,一般从创建项目开始,然后创建测试需求,创建测试用例,测试计划与测试需求连接,为需求指派用例,在计划中添加测试用例,指派分配测试任务到不同角色,执行测试,分析测试结果。整个流程采取自上而下的顺序执行,前一步是后一步的前提,后一步是前一步的结果。
表1 TestLink用户角色及权限Tab.1 User roles and permissions of TestLink
TestLink是一款开源的软件自动化测试软件,采用PHP开发,是一个B/S模式的测试管理平台。该平台可以对测试流程的各个阶段进行有效的组织和管理,包括创建测试脚本、制定测试计划、执行测试和跟踪测试结果,还可以动态收集和组织测试用例,根据测试用例覆盖率和通过率产生测试报告及图表。其主界面如图1所示。
图1 TestLink主界面Fig.1 Main interface of TestLink
该软件的优点是提供Web访问方式,用户可以自定义角色,测试可以根据优先级指派测试员,还可以自定义里程碑等等。
3.2.1 测试需求管理
在线考试系统是一个B/S架构的系统,分为前台操作和后台管理两个大模块,分析其业务流程,分为登录验证、学生注册、成绩查询、在线考试、答题、查询成绩共6个子模块。通过TestLink的需求规约管理,建立需求规格树,如图2所示。
图2 TestLink需求规约树Fig.2 Requirements specification tree of TestLink
3.2.2 测试用例管理
根据在线考试系统的需求规约设计测试用例,其中前台功能测试需要3个测试用例,在线考试需要3个测试用例,后台功能测试需要1个测试用例,创建好的测试用例树如图3所示。
图3 测试用例树Fig.3 Test case tree
测试用例和系统需求之间是n对n的关系。TestLink允许在需求和测试用例之间建立关系,一个需求可以被指派给零个或多个测试用例上,反之亦如此。
3.2.3 测试计划管理
在TestLink中可以通过测试计划管理对测试的过程进行有效管理。测试计划一般包括计划名称、计划描述、计划开始时间、计划预计完成时间、测试用例状态描述、版本信息等内容。TestLink提供了测试计划创建、角色分配、测试用例分配、测试用例添加、删除等操作。
3.2.4 测试结果分析
TestLink可以根据测试过程中记录的数据,进行多种分析和度量,可以自动生成测试计划报告、测试报告、测试总体计划进度。通过TestLink对在线考试系统的测试过程进行管理,共指派8个测试用例,测试需求覆盖率100%,通过率74.8%,其中锁定比例 12.6%,失败率 12.6%。
另外,TestLink还可以生成图表形式等比较直观的报告,以在线考试系统为例,可以产生测试结果的饼状图,如图4所示。
图4 总体测试结果饼状图Fig.4 Pie chart of overall test results
由此可见,TestLink已经创造了良好的测试管理条件,其配置及使用都非常方便,并且是开源的测试工具,基于B/S架构的模式使得其操作更加灵活。但是TestLink也存在一些缺点,比如返回需要重新链接,TestLink和缺陷管理工具需要手工整合等等。就测试过程的自动化管理效果来看,TestLink可以有效管理测试过程,分角色权限管理软件测试,是一个非常好的软件测试管理平台。