逆流而上解决问题

我们了解了软件失效的机理后,可以逆流而上,沿着软件失效,软件故障,软件缺陷,软件错误的方向对问题进行阐述和分析。

首先,测试人员会说明软件出现了问题,在此对软件失效现象进行了描述;

其次,测试人员会详细阐明是在哪个测试用例的作用下(包括输入数值、处理过程和预期输出结果),软件产生了何种异常输出,问题的类型、严重程度、修改的紧急程度如何,这样明晰了软件故障的情况;

第三,测试人员会根据测试经验和实际情况,帮助开发人员进行故障定位,找到软件缺陷所在;

第四,测试人员在对问题情况进行统计的基础上,会指出共性问题并分析其产生的原因,发现软件错误。

在这样对问题进行充分分析的基础上,对问题提出修改意见,这样一份问题报告会是一份对开发人员和管理层有意义的报告。

我们可以按照这样的分析方法,对前面企业内部和第三方的两个测试失败的情况进行修正。

软件失效现象:发生宕机/不能承担500个用户的并发交易;

软件故障情况:在使用非法数据输入的情况下发生宕机/在进行用户交纳月通话费的情况下交易失败;软件缺陷:软件中缺少合法性校验/服务器CPU占用率达到98%;软件错误:详细设计环节缺少合法性校验内容,且文档评审工作不到位/概要设计环节未进行关键技术验证与仿真;修改建议:增加合法性校验,加强文档评审工作/重新选择服务器(重点是CPU),加强对关键技术的验证与仿真工作。

对于所有问题,都应该对软件的失效现象和故障情况做清晰的表述。除了严重程度会影响外,人员差异也对问题分析的程度有着较大影响。不同的测试人员需要承担不同的职责。

软件测试需三方协调

通过上面的分析可以看到,软件测试的目的决不仅仅是“寻找错误”,的软件测试需要在三个方面和开发协调工作。

测试的目的是想以少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。这一工作靠对软件失效现象记录、软件故障表示、软件缺陷的分析完成。

通过分析错误产生的原因还可以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进;同时通过对测试结果的分析整理,还可以修正软件开发规则,并为软件可靠性分析提供依据。这一工作靠对软件错误的分析完成。

测试是以评价一个程序或者系统属性为目标的一种活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求,为用户选择与接受软件提供有力的依据。这一工作是软件测试的终目标,在前两项工作的基础上,自然可以很好的完成此部分工作的内容。

在对测试的目的有了更准确认识的基础上,我们才能够很好的完成测试工作,在和开发团队、管理者共同的努力下,更好的提升软件产品的质量,满足用户的需求。