有时候,软件在交付给用户使用时,还会出现一些常规使用的错误,这类错误典型的有:软件在用户那里无法正确升级或使用;软件在用户进行某些操作或使用某些数据时出错,软件在忙时处理能力不足或出错率高等。
这些错误一方面会降低用户的满意度;另一方面也会让极大地增加了软件维护成本。要避免软件总是出现这类错误,需要测试更加充分、有效。
通过对这类错误产生的原因分析,可以发现这类错误的产生有以下4个因素:特定场景下使用软件、软件使用了特定数据、用户进行了特定的操作、软件走了特定的路径。测试可以根据这4个因素完善设计方法,扩充测试用例,提高测试的充分性和有效性。
而要使得测试充分、有效,覆盖这类常规使用错误,通常采取扩展测试类型和优化测试分析两种方法。
- 扩展测试类型
测试类型一般认为是和ISO9126软件质量模型一致,但是在实际工作中,测试类型和质量模型并不完全一致,我们产品常用的测试类型有:功能测试、性能测试、一致性测试、兼容性测试、可靠性测试、安全性测试、可服务性测试、文档测试、体验测试、互操作测试(IOT)、实验局测试、镜像测试。
在实际测试工作中,由于进度和成本的关系,不可能覆盖所有的测试类型,而遗漏了部分测试类型就有可能造成常规使用错误。比如当软件在忙时出错率高,那么我们就应当在常规的功能、性能、接口等测试外,增加可靠性(压力)测试。必要时还可以增加体验测试、实验局测试,让部分用户参与测试后再正式交付。
- 优化测试分析
测试没有成功地拦截缺陷,很多时候问题并不是出在“测试设计”上,而是出在“测试分析”上。
以一个业务流程为例,“测试分析”是画出业务流程,以及各种分支、异常处理过程;“测试设计”是使用深度优先或广度优先策略,实现对“测试分析”所画出的流程、分支等的覆盖。大部分情况下,测试没有发现缺陷,并不是“覆盖”的设计方法不全面,而是在“测试分析”上根本就没有画出这部分内容。
因此,在测试用例设计时需要重视“被测试对象分析”:针对需要测试的特性、业务流程、功能,选择合适的模型表达处理过程、状态跳转、异常处理、逻辑约束、数据结构等,以这些模型为基础进行测试设计,才真正能更有效地拦截缺陷。
如果测试想要成功地拦截以前出现过的常规使用错误,那么还应开展客户问题分析,通过分析那些遗漏到客户使用时才发现的缺陷,以找到测试过程或方法中存在的薄弱点。
客户问题分析比较推荐的方法是根本原因分析(RCA),它通过收集尽可能完整的问题信息和数据,使用头脑风暴、鱼骨图、因果图、5why等分析方法确定直接原因、根本原因、间接原因,最后针对分析出来的各个原因制定对应的改进措施,并在措施实施后进行结果的核实和成果的推广。
测试进行客户问题的根本原因分析,主要是进行如下调查和追溯:
总之,通过扩展测试类型和优化测试分析,就可以提高测试的充分性和有效性,避免软件出现常规使用错误。
这正是:
常规使用也出错,缺陷未能被拦截
扩展测试多类型,测试分析重中重
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!