软件测试过程和管理浅析
2013-10-21赵俊玲
摘 要:随着软件开发规模的增大,复杂程度的增加,以寻找软件中的故障为目的的测试工作显得更加困难。为了尽可能多地找出程序中故障,开发出高质量的软件产品,必须对测试工作进行组织策划和有效管理,采取系统的方法建立起软件测试和管理体系,对测试活动进行监管和控制,以确保软件测试在软件质量保证体系中发挥应有的关键作用。
关键字:软件;测试过程;管理
软件开发过程的质量决定软件的质量,软件测试过程的质量直接影响测试结果的准确性和有效性。
1 软件测试过程常用的模型
1、V模型
V模型反映出测试活动与分析设计活动的关系,指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需求或合同的要求。
2、W模型
W模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的。W模型有利于尽早和全面的发现问题。
3、H模型
V模型与W模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动可以交叉进行的。H模型揭示这一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。
除了上面的几种常见模型外,还有X模型、前置测试模型等。在实践中,建议以W模型作为框架,及早全面地开展测试,同时灵活运用H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。
2 测试阶段中的测试活动
软件测试过程主要包括以下四项基本活动:
1、测试策划
在测试策划中的活动有:制定测试计划,以确定测试范围、测试策略和测试方法,规划测试任务日程表,对测试资源进行安排,并提前评估测试风险,制定风险控制策略。
2、测试设计与实现
在测试设计与实现中的活动有:制定测试的技术方案,选择测试工具,并根据测试技术方案设计测试用例。
3、测试执行
在测试执行中的活动有:建立相关测试环境、配置测试数据、按日程安排执行测试用例并记录测试执行结果,对发现的软件缺陷进行报告,并配合开发人员进行软件缺陷的分析、处理和追踪。
4、测试总结
在测试总结中的活动有:对测试结果进行综合分析,以确定软件产品质量的当前状态,为产品的改进和发布提供数据和依据,同时编制测试报告,提交相关的测试文档。
3 软件测试过程管理的特点
软件测试过程管理的基本内容包括计划、组织和监控;测试过程中存在的问题有:
1.软件质量标准定义不准确、任务边界模糊。
2.软件测试项目的变化控制和预警分析要求高。
3.软件测试项目具有智力密集,劳动密集的特点,受人力资源的影响最大。
4.测试任务的分配比较困难。
5.测试要求的人力资源十分稳定。
6.软件测试人员在待遇、地位上可能会受到一些不公平的待遇。
软件测试项目的过程管理能否成功,通常受到三方面的影响:项目组内的环境,项目所处的组织环境,整个开发流程所控制的全局环境。
4 软件测试过程管理的原则
1、有关测试需求,应当有一个经各方同意的、完整的、清楚的、详细的、整体的、可实现的和可测试性的需求并文档化,尽可能坚持最初的需求。
2、测试计划先行。软件项目管理过程从项目的计划活动开始,软件测试项目也不例外,也是从测试计划开始。
3、建立任务优先级。在测试任务较多的情况下,应该为各项任务建立测试优先级,这样也可以根据优先级来先后处理各项任务。
4、建立客观的评估标准。这样使得整个项目过程具有良好的可测性和可跟踪性,强调以数据说话。
5、尽早测试。这是从W模型中抽象出来的理念。一方面指测试人员尽早参与测试项目,另一方面指尽早开展测试执行任务。
6、全面测试。这也是W模型的重要思想,其含义一方面只要对软件所有产品进行全面的测试;另一方面指软件开发人员与测试人员全面参与到测试工作中。
7、全过程测试。这是从W模型中抽象出来的另一理念。其含义一方面指测试人员要充分关注开发过程;另一方面指测试人员要对测试的全过程进行全程的跟踪。
8、独立的、迭代的测试。这是H模型的重要思想,强调只要達到测试就绪点,即测试条件成熟,测试准备活动完成,测试执行活动就可以开展。
5 软件测试过程的人员组织
测试团队的组织直接关系到测试团队的工作效率和生产力,其组织方式由测试团队的规模、具体任务和技术来决定。
一个测试团队的基本角色有:测试经理、实验室管理人员、内审员、测试组长、测试设计人员、资深测试工程师、一般测试工程师。
若测试团队规模较大,则测试工程师分为三个层次:初级测试工程师、测试工程师和资深测试工程师,同时设置自动化测试工程师、系统测试工程师和架构工程师。
测试过程人员组织的一个方面是考虑测试团队的规模,测试团队的规模可以考虑在整个开发部门所占的比重,或相对开发人员所占的比例。从经验看,不同的应用,软件测试和软件开发人员的比例也是不同的,大致可分为三类。
1、操作系统类型的产品,对测试要求最高,测试人员和开发人员的比例为2:1。
2、应用平台、支持系统类型的产品,对测试要求比较高,通常测试人员和开发人员的比例为1:1。
3、对于特定应用系统一类产品,由于以后对象清楚、范围小,甚至可对应用平台或应用环境加以限制,所以测试人员可以再减少,但测试人员和开发人员的比例至少保证在1:2的水平以上。
6 结束语
相比之下,目前中国软件企业在软件测试方面与国际水准仍存在较大差距。首先,在认识上重开发、轻测试,没有认识到软件项目的如期完成不仅取决于开发人员,更取决于测试人员;其次,在管理上随意、简单,没有建立有效、规范的软件测试管理体系;另外,缺少自动化工具的支持,大多数企业在软件测试时并没有采用软件测试管理系统。所以对国内软件企业来说,不仅要提高对软件测试过程管理的认识,同时要建立起完善的软件测试过程管理体系,确保软件测试管理在软件质量保证中发挥应有的关键作用。
参考文献
[1]朱少民. 软件测试方法和技术 [M].北京:清华大学出版社, 2005年
[2]郑文强,马均长. 软件测试管理[M].北京:电子工业出版社, 2010年
[3]布莱克(美).软件测试过车管理[M].北京:机械工业出版社,2003年
作者简介
赵俊玲(1982-),女,河南新乡,本科学士,助理讲师,新乡职业技术学院。