缺陷之灵魂操作bug

news2024/11/24 18:57:27

       

一、前言

        正常来说,我们在测试缺陷的时候都是按照case来测试的,但是有些场景,例如说发散思维这种场景,就会找到一些比较不太正常、不好复现的缺陷,然后如果要辅助研发修复,就会极为痛苦。

二、场景描述

        大概我遇到这样的问题是一年多以前吧,当时是测试某个输入法APP的物理键盘的功能,安装输入法APP后,连接物理键盘,在持续输入一段中英文混合字符后回车停止输入,就发现候选词展示后,字符不断自己重复输入,直到死循环。

三、缺陷比喻

        在发现缺陷的瞬间,看到的现象就是手离开键盘了,程序还在自己打字,并且都是重复不停的字,就好像透明人在有思维打字。

四、场景复现

        想到了几个场景复现的办法,描述如下:

1. 根据字符

        前面提到了,其实输入的字符就是中英文混合的字符,那么输入一段中文,输入一段英文,混合输入应该就可以复现,然而并无!

2.根据候选词栏/候选词列表展示

        简要描述一下候选词栏,就是例如你输入'nihao',如果选择的是中文输入法,就会展示一系列候选词如'你好',‘你好吗’,‘你号’

点击候选词栏的展开(小箭头按钮)就是候选词列表。

于是尝试了候选词栏和候选词列表两种方式没有复现。

3.根据行为习惯

        不知道大家能否感受到,每个人打字都会有自己的习惯,例如有的人会打一个词直接上屏,有的人会三五个字回车,有的人会一句话一个逗号,在上面符合常理的推断后,开始自闭,然后就尝试无意识按照人的行为习惯来推测问题,比如说 我有意识模仿行为,这个缺陷出现的概率就会比较低,因为是按照特定思维,特定步骤来的,特定的东西会局限住开拓性。然后无意识的打字,反而复现的概率较高,,但是无意识的行为又不能准确复现。

4.结合行为习惯固定复现操作

        既然无意识的行为习惯可以复现,我就开始按照之前的打字习惯,重复总结,尝试记录每次我都做了什么,后来发现我会中英文穿插去选择候选词,并且每到一句话完成就会回车,综合每次的行为就准确复现了上述问题。

五、总结

其实我相信,每个测试或者编程的同行业者,都有一些自己的行为习惯,可能会令我们工作上获得益处或者头痛,大家都理性看待就好,人生是旷野而非轨道,无需每个人都只有一面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费获得临时域名/内网穿透

文章目录 Coplar 介绍Coplar 使用场景Coplar 使用 Coplar 介绍 》官网地址《 官网介绍: cpolar极点云: 公开一个本地Web站点至公网 只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关…

163M水经微图从入门到精通文档教程

我们在《47GB从入门到精通微图视频教程》一文中,为大家分享了视频教程。 由于有一些比较偏理论的内容不便于录制视频,因此文档教程才会更加完整全面。 CHM文档教程 我们将水经微图的文档教程制作成了CHM文件,共有163M大小。 教程内容主要…

佳易王羽毛球馆计时计费管理系统软件下载,支持连接灯控

软件特色: 1、功能实用,操作简单,不会电脑也会操作,软件免安装,已内置数据库。佳易王羽毛球馆计时计费系统软件免安装版V17.6,是集计时计费、商品销售、会员管理、备注记事本、定时提醒功能于一体的管理软…

Keras人工智能神经网络 Regressor 回归 神经网络搭建

前期分享了使用tensorflow来进行神经网络的回归,tensorflow构建神经网络 本期我们来使用Keras来搭建一个简单的神经网络 Keras神经网络可以用来模拟回归问题 (regression),例如给下面一组数据,用一条线来对数据进行拟合,并可以预…

GPT学习笔记

百度的文心一言 阿里的通义千问 通过GPT能力,提升用户体验和产品力 GPT的出现是AI的iPhone时刻。2007年1月9日,第一代iPhone发布,开启移动互联网时代。新一轮的产业革命。 GPT模型发展时间线: Copilot - 副驾驶 应用&#xf…

Angular-07:组件生命周期

三个阶段: ① 挂载阶段1.1 constructor1.2 ngOnInit ② 更新阶段2.1 ngOnChanges2.2 ngAfterViewInit2.3 ngAfterContentInit2.4 ngDoCheck ③ 卸载阶段3.1 onOnDestroy ④ 在组件中添加所有方法并打印 该表按照执行顺序编写 编号函数名实现名说明1constructorcons…

基于单片机的智能感应监控系统的设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统分析2.1 整个控制系统的设计要求2.2 总体设计方案 二、系统硬件电路设计3.1 硬件电路介绍3.2 控制电路分析3.2.1 复位电路 三 软件设计原理图 四、 结论五、 文章目录 概要 因为人们在生活中对安全防范的…

【JAVA学习笔记】61 - 线程入门、常用方法、同步机制,以及本章作业(难点)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter17/src/com/yinhai 线程 一、线程相关概念 1.程序 是为完成特定任务、用某种语言编写的一组指令的集合。简单的说:就是我们写的代码 2.进程 1)进程是指运行中的程序&#x…

劳易测扫码条码分段读取实现方法

添加如下3个功能块:M10,M13和M27 设置BCL参数:Code type 1 为Code128 参数:Mode为Range 参数:Number Of digits 1 为条码最小长度 Number Of digits 2 为条码最大长度。 设置M10:Mode(With …

嵌入式系统的元素

注意:关于嵌入式系统的元素这一块儿内容,定义太多了。例如:吉姆莱丁 著,陈会翔 译,由清华大学出版社出版的《构建高性能嵌入式系统》中提到:嵌入式系统通常由电源、时基、数字处理、内存、软件和固件、专用…

JavaScript执行上下文和调用栈

上节课我们已经说过了,JavaScript的代码执行是发生在js引擎中的调用堆栈的,但是具体是如何运行的,我们来详细剖析一下 如何执行上下文 执行上下文: 执行上下文是指在JavaScript中代码被执行时所创建的环境。它包含了变量、函数、…

京东大数据平台-第三方京东平台数据查询分析软件系统

对于电商商家来说,做好电商数据分析是电商运营中的重要一环,且能为电商商家带来诸多好处,例如: 1、提高销售额:通过数据分析可以更好地把握消费者的购买行为,从而更好地推出营销活动,提高销售额…

7.SpringBoot集成Mybats-plus且安装代码生成插件

一、背景 项目需要集成Mybatis-plus用作服务的ORM。 二、实现 2.1 pom.xml引入 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version>&l…

QT 实现解密m3u8文件

文章目录 概要如何解密M3U8文件呢实现思路和代码序列图网络请求解密 结论 概要 视频文件很多已M3U8文件格式来提供&#xff0c;先复习下什么是M3U8文件&#xff01;用QT的 mutimedia框架来播放视频时&#xff0c;有的视频加载慢&#xff0c;有的视频加载快&#xff0c;为啥&am…

python 深度学习 解决遇到的报错问题9

本篇继python 深度学习 解决遇到的报错问题8-CSDN博客 目录 一、can only concatenate str (not "int") to str 二、cant convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, in…

Python基础入门例程32-NP32 牛牛的加减器(运算符)

最近的博文&#xff1a; Python基础入门例程31-NP31 团队分组&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程30-NP30 用列表实现队列&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程29-NP29 用列表实现栈&#xff08;列表&#xff09;-CSDN博客 目录…

牛客网刷题-(11)

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)输出1-100的所有奇数 (2)计算输入6个数字中正数的个数 (3)递增序列 (4)PUM (1)输出1-100的所有奇数 #输出1-100的所有奇数 x…

使用趋动云部署ChatGLM3-6B模型

使用趋动云部署ChatGLM3-6B模型 1 创建项目2 配置环境 修改代码3 运行代码 1 创建项目 创建项目 进入项目 -> 运行代码 -> 选择资源&#xff08;B1.large&#xff09; 2 配置环境 修改代码 等待开发者工具加载完成 -> 点击 JupyterLab 进入开发环境 打开 termin…

2023.11.4 Idea 配置国内 Maven 源

目录 配置国内 Maven 源 重新下载 jar 包 配置国内 Maven 源 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> …

velero 集群备份实战

文章目录 velero 集群备份实战velero 架构velero 安装备份mysql集群备份命令查看备份列表 如何恢复&#xff1f;如何卸载&#xff1f;报错处理 velero 集群备份实战 velero 架构 vmware 的产品。velero 是一个CS架构&#xff0c;服务端是一堆CRD, 监听客户端发来的请求。 优…