测试是软件周期的重要组成部分,是把控软件质量的底层防线。但风险又存在于软件测试的全但风险又存在于软件测试的全过程,可能导致软件产品的测试不够充分或测试结果不准确。潜藏的问题一旦爆发会给银行带来巨大的经营生产损失。加强软件测试的风险管理已刻不容缓。

  软件测试过程中的风险管理通常可分为如下5个步骤。

  (1)风险识别是试图用系统化的方法来确定威胁项目计划的因素。软件测试管理人员需要从项目策划开始了解项目背景、开发环境、技术难点、进度、成本和人员等因素,凭借以前测试项目曾遇到的风险,建立风险调查表。

  (2)风险分析阶段需要评估已识别风险发生后对项目目标可能产生的影响,并对风险进行排序。不同的风险发生后对项目目标造成的影响各不相同。

  (3)制订风险计划包括风险标识、风险描述、风险影响程度、责任、资源、时间、活动、应对措施、结果、负责人等要素。策划测试方案时,要根据风险识别和风险分析的结果制订风险计划,针对风险的不同特征和影响程度分配人员、资源及应对措施。

  (4)对于已识别的风险,可能会在事前或事后采取不同措施加以控制,尽量降低风险对项目产生的影响。风险控制的主要方法有风险避免、风险弱化、风险转移和风险承担。

  (5)在风险受到控制后,要及时进行风险跟踪。监视风险的状况,例如风险是已经发生、仍然存在还是已经消失;检查风险的对策是否有效、跟踪机制是否可行;不断识别新的风险点并制订应对措施。

  在软件测试过程中经常会遇到的风险主要有以下7类。

  (1)时间进度风险:用户需求发生重大变更及设计计划的大幅调整给测试带来风险,导致测试时间、资金投入增加。

  (2)对产品认识的风险:对产品质量需求或产品特性理解不准确,造成测试范围分析误差,出现测试盲区或验证标准错误。

  (3)质量目标风险:质量标准不是很清晰,如适用性测试、易用性测试等。

  (4)人员风险:测试开始后,相关测试人员因故不能及时到位。

  (5)测试环境的依赖性风险:特定测试环境不到位,包括真实环境及仿真环境。

  (6)测试充分性风险:测试用例设计不到位,忽视了部分边界条件、深层次的逻辑、用户场景等;部分软件缺陷不易重现以及回归测试一般不运行全部测试用例,有选择性地执行。

  (7)工具风险:能否及时准备相关测试工具,测试人员对新工具无法熟练运用等情况也时有发生。

  针对上述风险,可采取以下措施加以控制。

  首先,调整软件测试计划,针对不同情况采取增加工作时间、工作人员和资源等来缓解风险发生时带来的威胁。也可与客户协商,顺延交付日期或在客户允许的情况下对测试项目进行适当裁剪。

  其次,在测试前期做好计划,准备好测试环境并由第三方进行检查,有效降低因测试环境不足带来的影响。

  第三,通过培训提高测试人员的综合素质,降低由于质量目标不明确、项目背景不熟悉、测试技术及工具不能熟练掌握导致的测试风险。

  第四,在做测试计划时,对人员、资源、时间、成本等估计要留有余量,避免风险发生时没有相应的资源及时支持应急方案。

  后,通过建立健全银行软件测试模型,加强对测试风险管理的重视,树立“防患于未然”或“以预防为主”的风险管理意识,有效降低产品的质量风险,提高软件质量,为银行业务的持续发展服务。