如何在软件测试过程中有效控制风险

发表时间:2020/8/4   来源:《科学与技术》2020年28卷7期   作者:雷勋梅
[导读] 随着软件应用的发展,软件出现了推出快、变化频繁、接口杂
        摘要:随着软件应用的发展,软件出现了推出快、变化频繁、接口杂、重体验、开放性等特点,另一方面随着测试的积累测试人员发现缺陷的类型增长缓慢。为了适用这种变化,也为了解决现存问题,需要引入新的测试技术。探索性测试作为一种前沿的测试思维,在项目周期短、需求不明确或者需求变更频繁的项目中发现缺陷的效果显著,也能发现一些脚本化测试发现不了的缺陷,因此受到越来越多软件测试人员的青睐。
        关键词:软件测试;质量管理;风险应对
        引言
        现在的社会环境里,随处可发现软件在人们生活中的应用,性能优异的软件可以使业务完成得更顺畅,反之质量达不到要求的软件产品不但会增加维护的费用以及使用的成本,还会导致潜在的责任风险爆发,使公司的信誉度受损。该文将着重分析软件测试过程中的质量管理和承担的风险,针对存在的问题提出了一系列的应对措施。
        1测试中几种常见的风险
        1.1需求类的风险
        在软件的需求上没有正确的理解,将使测试的范围出现偏差,其中一些的需求没有考虑进去或者使用了不正确的方法进行测试,如果改变了需求那么测试用例也会相应发生变化,同步的过程中将带来误差。
        1.2测试用例的风险
        设计的测试用例缺乏一定的完整性,没有把边界条件、处理有误等情况考虑进去,使用的例子与用户的需求没有一一对应,达不到相关的要求;测试用例执行不完整,某一些使用的例子刻意或无意被筛除。
        1.3缺陷类的风险
        偶然情况下爆发了一些缺点,极其容易将它们过滤排除。
        1.4代码质量类的风险
        软件的代码质量达不到相应要求,是因为其本身存在很多的缺点,极易在测试的过程中遗留遗忘。
        1.5测试环境类的风险
        一些特殊的情况下,测试环境和生产环境存在偏差,达不到统一从而引发测试结果产生偏差。
        1.6测试技术类的风险
        一些项目的技术难度过高,测试能力和水平达不到相应要求,使测试的进程延缓因此延长了项目完成的时间。
        1.7回归测试类的风险
        回归测试通常情况下不运行所有的测试用例,会存在测试不完全的情况。
        1.8沟通协调类的风险
        进行测试时会涉及很多不同的角色,在不一样的人、不一样的角色之间交流沟通项目,无法避免产生误会、交流不顺畅的情形,因为这些因素的干扰致使项目完成的时间被延长。
        1.9其他无法预估的风险
        突发情况、无法抵抗的因素也会引发风险,并且这些风险无法预料并有效避免。这些都是测试中常见的风险因子,其中一些可以有效避免,譬如缺陷类风险;还有一些在理论上可以避免,但实际情况中受时间和成本的影响,无法完全避免,譬如回归测试类,如果无法完全把风险规避,那么可以把风险系数降至最低。
        2探索性测试方法
        探索性测试的指导方法有局部探索性测试和全局探索性测试两种。局部探索性测试关注局部小范围,测试时需要考虑5个部分:输入、状态、代码路径、用户数据和执行环境。

这5个部分的测试可按照传统的脚本化测试用例设计方法进行设计测试,如:输入,可采用等价类划分法、边界值法、错误推测法等方法进行测试。全局探索性测试也叫漫游测试,把全局探索性测试和旅游进行类比,测试人员就是游客,被测软件就是旅游地。旅游地按照功能区域划分可划分为:商业区、历史区、旅游区、娱乐区、旅馆区和破旧区。针对不同区域选取不同的测试方法进行测试:商业区侧重于测试用户关注的核心业务和功能,可采用指南测试法、卖点测试法、地标测试法、极限测试法、快递测试法、深夜测试法、遍历测试法;针对历史区旧的功能和缺陷修复代码可采用恶邻测试法、博物馆测试法、上一版测试法;娱乐区测试对应到软件上就是辅助功能,可采用配角测试法、深巷测试法、通宵测试法进行测试;类比旅游区的可快速访问功能的测试可采用收藏家测试法、长路径测试法、超模测试、测一送一测试法;旅馆区可采用取消测试法、懒汉测试法;破旧区测试可采用破坏测试法、反叛测试法、强迫症测试法。在实际测试工作中针对功能点的测试可以采用局部探索性测试,针对涉及到业务的场景及整体层面的可以采用全局探索性测试。实施探索性测试的难点在于测试执行环节,执行时面对持续变化的情况,由于测试人员的认知不同,应对方式也会不同。为了指导测试,探索性测试也需要进行测试设计,此工作可以在执行前进行,也可在执行测试时进行。探索性测试设计不局限于传统的脚本化测试用例的设计,需要包含:唯一标识、摘要、描述、设计方法、测试阶段、测试类型、预期结果、测试步骤等。探索性测试设计可以是思维导图等,意在记录测试点及系统业务等,便于后期系统维护及回归测试。
        3软件测试过程中应对风险有效的措施
        3.1识别风险并量化风险
        软件进行项目风险管理的过程中,在较短的时间里可以实现项目目标,项目风险管理的目的在于把潜在的风险降至最低,软件测试项目风险管理中涉及识别软件风险、量化软件风险、制定应对软件风险的计划并有效的控制软件风险。在这一过程中,软件测试项目风险管理之前就需要相关的技术人员识别出软件存在的风险,在整个项目中改进执行最终完成,在项目的生命周期内需要不断地识别出软件的风险,识别软件风险包括确定风险来自什么地方、认清造成风险的条件、测试人员应将风险的特点详细的叙述出来,明确风险对软件测试项目是否会产生影响,在软件测试项目风险管理中,不可能仅通过一次就正确识别出风险,应贯穿于整个项目的完成过程中。
        3.2制定应对风险的计划并定期监测风险
        对于风险量化产生的结果,将软件测试项目中产生的负面影响尽量降至最低,相关的技术人员应制定一系列对应的解决方法并使用科学合理的技术手段应对,制作应对风险的计划,正确认识风险,做好这几方面的基础上才能使风险的检测更专业、更有保障,人们在控制风险中可以运用多种多样的方法,使用核对表按时将项目评估并分析其中的净值,输出风险检测值包括纠正风险中产生的错误并及时更新软件测试项目管理的计划,将软件测试项目中发现的风险汇总起来并分析,划分出最重要的和相对重要的风险并确定其影响的程度,为来自不同地方的风险进行合理的评估,估算出风险的发生概率和最终带来的后果,将风险划分成不同的类别,使风险的处理有信息可用。在经典的风险管理中,主要使用的是Boehm、CRM、Leavitt等不同的模型,运用这种方法会引发人员不够、成本过低等问题,因此要求测试人员开发软件项目的过程中要总结所有潜在的风险,用表格把所有的风险归到一起,在项目的生命期内交流讨论,定时更新表格信息,评估极易引发严重后果的因素,处理存在的风险,使用一定的手段控制风险,确保风险措施能更有效地开展。将探索性测试应用到三个不同类型的项目中,发现均能够助力脚本化测试使发现缺陷的总量增长至少25%以上。由此可知,探索性测试对于脚本测试是一种非常有益有效的补充。
        结语
        在软件测试时一方面要把握好质量管理,另一方面还要进行项目风险管理,评估风险并针对不同的风险使用不同的措施加以控制,提高软件产品的质量,降低维护费用,使用户更满意。
        参考文献
        [1]李军杰,许戈慧.探索性测试在航空声纳软件测试中的应用研究[J].电声技术,2018(11):68-70.
        [2]梅磊,石晓宁.军用软件探索式测试方法的研究[J].电子质量,2016(2):5-10.
        [3]凌明胜,汪文娟.软件测试过程中风险的识别与预防方法[J].信息化研究,2017(6).
       
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: