您现在的位置: 通信界 >> 测试仪表 >> 技术正文  
 
中国移动技术实践分享:探索式测试方法介绍及应用实践
[ 通信界 / 周煜澄 / www.cntxj.net / 2022/10/30 22:52:39 ]
 

任何一个软件公司发布的产品都有缺陷,所以软件测试是产品开发过程中必不可少的一部分。经过长期的发展,软件测试方法不断完善,探索式测试方法也是其中的一种。本文将结合实际工作谈谈对探索式测试方法的理解。

探索式测试方法主要分为两类:

局部探索式测试法针对测试人员在运行任何一个测试用例时所需要作出的细微决定;

全局探索式测试法针对测试人员在编制测试计划和测试用例设计时所需要考虑的广泛的战略性问题。

一、局部探索式测试法

1 输入:合法输入、非法输入

1)输入筛选器

第一,开发是否正确的实现了该功能?

第二,是否可以绕过屏蔽器?或者当输入值进入系统后还可以修改?

2)输入检查

测试时必须仔细阅读每一条错误信息,检查该信息是否写错了,错误信息还可以透漏开发编程时的一些想法。

3)异常处理

如果测试看到一个通用出错信息,建议测试再反复测试同一段函数,继续使用刚才引发异常的输入数据,或稍微修改一下,看看会不会导致出错。尝试运行其他一些要调用该函数的测试用例,看看会发生什么情况。

4)常规输入和非常规输入

和Ctrl、Alt、Esc按键组合的字符,操作系统、编程语言、浏览器和运行时环境的特定保留词或按键。

5)使用输出来指导输入选择

①首先确定希望程序产生的输出结果,然后考察所有用户场景,来确定输入;

②先观察输出结果,再选择新的输入,使新的输出为重新计算后的结果。

2 状态

软件的一个状态就是状态空间中的一个点,它由所有内部数据结构的取值来唯一确定。

①使用状态信息来帮助寻找相关的输入,如果两个或更多个输入在某种程度上关联,那么它们应该放在一起测;

②使用状态信息来辨识重要的输入序列,当一个输入导致状态信息被更新时,紧接着再多次使用同样的输入会导致一连串的状态变化。

对数据库中的表进行多次更新,查看数据是否会溢出。

3 代码路径

测试需明确知道代码的所有选择结构,并理解哪些输入会导致软件走这条分支而不走另一条。

4 用户数据

①如何模仿真实的用户数据

②使用真实的用户数据时,应考虑如何解决“隐私问题”。

5 执行环境

是指测试使用的操作系统及其当前的配置,还包括运行在同一操作系统上会和被测试软件进行交互的其他一些应用程序,以及会间接或直接影响被测试软件本身或影响被测试软件运行的任何驱动程序、代码、文件、设置等,还包括软件当前连接的网络情况、网络的可用带宽、性能等。

二、全局探索式测试法(漫游测试)

在软件测试中,我们可以把整个测试过程比喻成游客在城市中旅游的过程,测试类型对应城市中的不同区域,针对每个区域制定不同的游览路线。以下将结合实际测试过程中的案例,来简单阐述全局探索式测试法的应用。

1 商业区测试类型(软件的重要功能模块)

1)指南测试法:

测试严格遵照用户手册的建议执行操作。在测试一个全新的软件之前,测试人员需要详细阅读需求文档或使用手册,积极与开发人员沟通以充分了解产品功能;在测试产品的新版本之前,查看jira中的新特性描述、新的需求文档以及之前版本存在bug的用例。

2)地标测试法:

通过指南测试法确定关键的软件特性(地标),再确定地标的前后顺序,然后从一个地标执行到另一个地标来探索应用程序,直到访问了所有的地标。在这个过程中,需要记录已经使用过哪些地标。

在BC-ETL的某次测试过程中,需要测试数据流中的多个流程,此时每个流程都作为一个地标,通过多次调换、添加或删除流程的来测试整个数据流能否顺利执行。

3)极限测试法

也称找麻烦测试法,即故意设置各种障碍来观察软件如何反应。

在罗网项目某次迭代中,测试基站查询模块,选择使用基站名称查询,在搜索框中输入覆盖范围很大的区域名称(如:南通)进行查询,页面因加载时间过长导致卡死。

4)深夜测试法

当下班之后软件执行各种维护任务,将数据归档,备份文件等,程序不自动执行的时候,测试人员强制程序执行。

2 历史区测试类型

指遗留的代码,或是在前几个版本就已经存在的软件特性,也指那些用于修复已知bug的代码。

1)恶邻测试法

某个区域代码bug很多,建议对邻近区域进行详细的测试,以此来验证那些修复已知bug的代码没有引入新的缺陷。

2)博物馆测试法

找出遗留代码和老的可执行文件,并确保它们在测试中受到和新代码同样的待遇。在实际测试过程中,可以理解为对新版本中没有改动的功能进行回归冒烟测试。

在罗网项目的某次回归冒烟测试中,测试研判模型的多案时空碰撞模块,正确创建分析任务,在任务列表中查看分析结果,页面右上角提示出错,无法查看。

3 娱乐区测试类型(辅助特性)

1)配角测试法

鼓励测试专注于某些特定功能,特别是紧邻主要功能的辅助功能。

罗网项目的主要功能为通过研判模型对各类案件及人员进行分析,然而每次审批几乎都离不开新建工单的过程,所以测试时对研判模型的每个模块都增加了许多新建工单的用例。

2)通宵测试法

即使程序长时间运行,不去关闭,观察程序是否会发生异常。

4 旅游区测试类型(快速访问软件的各种功能)

1)收藏家测试法

收集软件的输出,越多越好。确保能观察到软件能生成的任何一个输出。此方法庞大,通常以小组为单位进行。

在广西上网行为分析项目中,为确保接收到的数据格式和内容都正确,需提前造出大量用户数据,模拟实际的运行环境批量发送数据,批量查看输出结果。

2)超模测试法

在采购部供应链大数据平台的某次测试中,由于前端页面没有设置按比例缩放,导致页面在小屏幕上无法显示完全。

5 旅馆区测试类型(经常被忽略或者在测试计划中较少描述的次要及辅助功能)

1)取消测试法

启动操作然后停止它。可以对任何提供取消功能或者需要较长时间才能完成的功能做同样的操作。如果没有取消按钮,对于在浏览器中运行的程序可以试着按Esc键或是程序中的回退按钮。

2)懒汉测试法

测试人员做尽量少的实际工作。接受所有默认值,保持输入字段继续为空,在表单中尽可能少填数据,在进入下一个界面时不点击任何按钮或者输入任何数据等等。

传统的手工测试方法需要提前编写测试用例,然后严格地依次执行每一个用例,引入探索式测试方法可以在测试过程中更及时地发现问题并补充用例,两种方法相结合才能更有效地把控产品的质量。

如果未来开发技术大幅进步,也许会有一天,测试人员不再是必需的了。这当然是软件厂商和用户的福音,但是在可预见的未来,检测软件缺陷的最好方法还是使用测试技术,而不是开发技术。原因很简单,太多的不确定因素,太多的场景,可能导致自动化测试失效的情况太多了,无法一一跟踪。这一切都需要“人脑”的介入,现在如此,下个十年不会变,再过几十年可以依然如此。

作者介绍

孙小霞  中国移动苏州研发中心 大数据产品部 技术总监

王均    中国移动苏州研发中心 大数据产品部 测试工程师

周煜澄  中国移动苏州研发中心 大数据产品部 测试工程师

 

作者:周煜澄 合作媒体:《移动通信》 编辑:顾北

 

 

 
 热点技术
普通技术 中国移动技术实践分享:探索式测试方法介绍及应用实践
普通技术 一种电缆在线检测技术
普通技术 VIAVI保驾护航G.654E光纤部署和维护
普通技术 思博伦的“你送我测”服务为 Wi-Fi 设备测试另辟新径
普通技术 是德科技助力小米加速5G Rel-16终端设备验证
普通技术 移动视频技术的标准演进
普通技术 家庭网络围绕U-vMOS视频体验
普通技术 重构电信视频价值:从增值业务到基础业务的跨越
普通技术 基于视频业务分类的感知差异化分析研究
普通技术 中兴通讯5G技术助力VR视频应用进入新时代
普通技术 运营商如何取得视频业务商业成功?
普通技术 端到端的视频感知提升方案
普通技术 移动互联网时代的视频会议之路
普通技术 如何预防光纤激光切割机切割性能下降?
普通技术 多光子显微镜成像技术之二十二 多色三光子荧光成像技术
普通技术 一文了解IOT超低功耗设计应用
普通技术 企业如何领跑工业4.0 迈向工业5.0
普通技术 UWB定位技术如何实现地铁隧道人员定位?
普通技术 OPCUA+MQTT构建物联网通用框架
普通技术 从三个角度对于数据及数据驱动进行分析
  版权与免责声明: ① 凡本网注明“合作媒体:通信界”的所有作品,版权均属于通信界,未经本网授权不得转载、摘编或利用其它方式使用。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:通信界”。违反上述声明者,本网将追究其相关法律责任。 ② 凡本网注明“合作媒体:XXX(非通信界)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 ③ 如因作品内容、版权和其它问题需要同本网联系的,请在一月内进行。
通信视界
韦乐平:网络深度转型最明确的方向首先就是云
爱立信中国区总裁方迎:将在中国市场重点做好
普通对话 NVIDIA发力数字孪生:站在虚拟和现实之间
普通对话 韦乐平:网络深度转型最明确的方向首先就是云
普通对话 中国工程院院士邬贺铨:6G标准面临小圈子风险
普通对话 华为丁耘:绿色ICT,共创新价值
普通对话 爱立信中国区总裁方迎:将在中国市场重点做好
普通对话 中国联通买彦州:广电5G商用对行业竞争格局不
普通对话 中国联通陈忠岳:从“提速降费”向“提速提质
普通对话 华为胡厚崑:5G+工业互联网 数据驱动是关键
普通对话 华为郭平:每个人磨好自己的豆腐,就会有一个
普通对话 中国移动杨杰:加快推进新型平台用工模式规范
普通对话 中国移动简勤:5G引领数字化转型 终端承载应用
普通对话 专访GSMA刘鸿:5G专网谁来建?运营商是最佳选
普通对话 华为甘斌:预计2021年5G用户将超5亿
普通对话 郄勇志:小米被美拉黑事件启示:实现科技自立
普通对话 闻库:要有打造“数字中国 光网底座”的使命感
通信前瞻
中国移动李慧镝:强化数智基建驱动 推进产业转
苏少林:打造北京数字经济“五强”,助力标杆
普通对话 多管齐下,VMware跨云服务助力企业云转型
普通对话 中国移动李慧镝:强化数智基建驱动 推进产业转
普通对话 苏少林:打造北京数字经济“五强”,助力标杆
普通对话 中国科大在高安全量子密钥分发网络方面取得新
普通对话 华为杨超斌:迈向5.5G持续创新,开启5G产业新
普通对话 中国联通买彦州:加强创新力度,协同推进6G技
普通对话 信通院总工敖立:5G工业模组是产业链特别短板
普通对话 中兴通讯首席发展官崔丽:澎湃“数”动能,助
普通对话 中国移动赵大春:力推北斗与5G产业深度融合
普通对话 信通院徐菲:争取2021年实现端到端网络切片自
普通对话 杨泽民:光网络发展挑战与机遇并存
普通对话 张杰:“双千兆”发展面临四大核心挑战
普通对话 中国移动董事长杨杰:共创信息服务新生态 共拓
普通对话 王志勤:“5G+工业互联网”产业发展初期仍面临
普通对话 中国电信董事长柯瑞文:5G+云网,助力VR产业发