×

软件测试难忘的几个bug

软件测试难忘的几个bug(测试bug我要测试百度知道的bug)

admin admin 发表于2024-04-23 11:34:29 浏览17 评论0

抢沙发发表评论

本篇文章给大家谈谈软件测试难忘的几个bug,以及测试bug我要测试百度知道的bug对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

测试bug我要测试百度知道的bug

摘要:当前用户对软件企业开发出来的软件质量提出了越来越高的要求了。所以在这种大的环境背景下,催生了一个新兴的职业——“软件测试工程师”的职业。尤其是最近2-3年来加入这个职业或者即将加入到这个职业的人也越来越多了。那么作为一名软件测试工程师,我们该如何迅速找到软件中的缺陷Bug呢? 下面结合作者多年的软件测试经验谈谈。按照作者的观点:凡是不符合用户需求的,或者在使用过程中给用户造成不便的,都认为它是Bug。话虽然说的有点极端,但是现实就是如此。那么对于刚入行的软件测试新手迅速找出软件中的Bug思路如下: 1、尽快熟悉公司的产品业务 比如你们公司做ERP软件的,你肯定要迅速熟悉EPR的业务流程;比如你们公司是做法院软件的,那么你一定要熟悉法院审判案件的流程,只有熟悉了产品的业务流程、你才能迅速找出软件中存在的一些重要的缺陷,你发现的软件缺陷才是有价值的。否则即使你能找到一些软件缺陷,那也是纯软件的缺陷,价值不大。 2、把自己当成是用户 把自己当成是用户去使用该系统,比如在使用该系统过程中是这样操作的吗? 2.1 比如在大量要求用户输入的软件界面中,有一些用户喜欢使用Tab键采用全键盘的输入;此时的正确的接口应该采取从左到右,从上到下的顺序。 2.2 比如有的用户喜欢使用快捷键操作等(Ctr+C,Ctr+V,Ctr+F),但是实际情况下一些开发出来的软件的快捷键却根本不起作用。 2.3 比如软件在需要用户输入的信息的时候(特别是在填写个人资料的时候),必填项后面一律要用*等醒目的标示,要让用户知道这个地方时必须填写的。 2.4 下拉框不选值的时候,应该有个默认值;并且要多检查程序中的多处下拉框,因为很多情况下下拉框取不到值。 3、善于怀疑,不要迷信高手 世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。如果你认为某个或者某些程序员水平很高,他写的这个地方应该没问题吧,那么我要说你错了,这样很容易遗漏软件中的Bug。因为程序开发人员毕竟是普通的人,只要是人就会犯错误的。 4、不要让程序开发人员的观点:“用户不会进行这样的操作”而说服自己 遇到这样的情况,你要坚持你自己正确的想法,以后对方会明白你的。比如在一个录入员工基本信息的系统中,系统中对员工的年龄作为负值、而没有作为判断、也可以保存到数据库中,此时你不要被程序员的用户不会进行这样操作的观点说服自己,你要坚持你正确的观点,把这种现象作为一个Bug吧,勇敢点!你的选择不会不错! 5、在软件测试过程中要跟踪一条数据完整的流程 在软件测试的时候要跟踪一条数据完整的流程,保证数据的正确性这个真的是太重要了:假如你在测试一个销售的类型的软件的时候:你应该先做订货-à入库-à盘点-à销售-à查询。首先你要保证这个数据的流向是正确的无误的。假如你在测试法院审判软件的时候,你要先收案-à立案-à发送审批-à排期---审理审判-à结案判决-à归档-à查询。总之跟踪一条数据的流程,保证数据的正确性。如果经过你测试的软件在用户使用过程中业务流程上都走不通的话,那么这样的软件你说经过你的测试,但是在比人看来与没有测试有什么区别呢? 6、回归测试要注意的细项 程序员提交新的程序版本后,作为测试人员应该立即与程序员沟通这个修改的功能、并且这个新修改的功能影响哪些功能。举个简单的例子来说明一下:比如在一款软件中,程序开发人员修改了某个“会员”的某个字段信息。作为测试人员首先你要测试“会员”的功能这个是你首先需要做的。另外你还要和程序员沟通询问他们新修改的这个会员的字段,会影响会员的销售功能吗?会对会员以前的销售记录的查询有影响吗?如果对这些功能有影响,那么这些功能都是你在回归测试的时候重点测试的地方,也是最容易产生Bug的地方了。 7、与使用者互动的缺陷 7.1 如填写资料错误应的时候,应该能够提示错误的位置,让用户知道是这个地方输入数据不对。 7.2 删除数据之前给一定要给出是否删除确认提示。 7.3 不要在软件中使用中英文混合的提示比如:比如对于用户某个操作的错误提示,不要一会用“error”、一会用“错误”;一会用“succeed”另一会用“成功”,总之要统一。

北大青鸟java培训:软件测试工程师有哪些毛病

某年某月某日某日,负责的网站出现崩溃的状态。***隐藏网址***比如:拨打电话出现死机。(就简单的一句话,就啥都没了,拨打什么号码_没写,在什么情况下拨打电话_没写)②提交的bug看不懂啥意思,不知所云。这种bug只有测试工程师自己能看懂,别人根本看不懂,他却以为别人能懂。③没有写出现的概率。偶发的bug没有log和其他更多信息,有的bug概率很小,小到不影响用户使用,如果不写清楚,开发人员将浪费大量时间去定位问题。④bug发生的前提条件都不写。比如:bug描述是充电图标显示重叠。但是没有写什么条件下出现,开机状态?还是关机状态?开发工程师懵逼,还要自己去一个个去试,浪费开发人员的时间,描述不详细但是测试工程师还觉得自己没毛病,一切挺好。⑤.bug等级乱定位比如一个很小的甚至是建议性的问题,把bug等级提到最高。软件开发一看,全是致命性1级bug,仔细一看很多小问题也被提为1级bug,此时开发人员的心情肯定的奔溃的。⑥测试工程师描述bug,却不写预期结果。开发都不知道要修改成什么样,一脸懵逼。结果开发理解错了,修改的结果不是预期的结果,这就浪费开发的时间了,你想想此刻开发人员的心情是怎样的?⑦出现问题的软件版本没写清楚,开发人员不知道是在哪个软件版本出现的。8.bug出现的模块没有划分清楚,所有的bug都提到一块,看的眼花缭乱。

软件测试中bug的种类有哪几种bug的易用性是什么

BUG是缺陷。所以看到你这个问题,我被雷倒了。。。。缺陷的易用性?难道你是想利用漏洞干什么吗?BUG分类一般可以从严重程度,和修复优先级分。严重程度顾名思义就是BUG 对软件造成的问题大小 比如是普通的功能缺陷 还是重大的 会死机等 修复的优先级就是 要马上修的,和可以不修的,或以后修的。而优先级和严重程度并不成正比。并不是严重的就要马上修,也不是不重的,就以后修。如有不明白的,自己再行百度一下吧。

软件测试碰到的问题举个例子

1、这个bug我这边重现不了 解决办法 Bug应该简明扼要,重点突出。如果描述存在歧义,一定要总结并尽快改进。有时会遇到概率性的bug,要告诉开发概率是多少,尽可能多的提供重现的条件。 在复现问题时,希望能大致判断几个问题点,然后和测试人员沟通下,需要如何捕获信息,捕获那类信息?是不是提供debug版本进行复现,或者根据预判的点增加打印信息版本进行复现? 2、这个不是代码问题,需求这么定义的 解决办法 需求也是人定的,如果觉得有异议,可以找需求人员询问清楚,为什么这样定义,把自己的想法告诉他们,看他们怎么决定。如果被需求说服了当然是最好的,如果自己还是不同意需求的看法,需求又不同意我的提议,那只能听他的,毕竟权力在他那里。但是我们可以保留交流的记录,证明曾经在这里发生过歧义。 3、这块是别人负责的,我负责的部分没有问题 解决办法 如果bug是由开发的项目经理来分发到程序员,那就是项目经理来面对这样的问题,而不是测试。当然,项目经理当然有项目经理的处理办法。可是,测试遇到这样的问题怎么办呢,把负责相关内容的开发都邀请到一个讨论组里,让他们自己讨论,这样更清楚,不必在测试这里中转。如果他们都觉得代码没问题,而我也有强有力的截图和真相,那就只有上交给上级领导,让他们来决定怎么解决。 4、有问题吗?(也就是开发不认为这是个问题) 解决办法 测试人员一定比开发要敏感,对bug的容忍度也要低一些。特别是一些不符合用户习惯的bug,开发总觉得无大碍。比如,一个列表默认的宽度太小了,导致初次打开,有一些内容被隐藏在后面,但是这个宽度可以手动调节。开发觉得问题很小,不影响功能,而且也有解决办法,所以不认为是bug。这个时候,就要发挥测试的本事了,嘴甜一点,说说好话,态度柔和一些。因为既然是小问题,解决起来一定不难,耐心地催开发的改过来就好。催一次不行催两次,记住态度一定要好。 5、用户不会像你这样操作的! 解决办法 用户怎么操作,谁都预料不到。我们不可能覆盖所有可能性,但是大多数用户会出现的操作,我们当然要测试。慢慢地把开发从代码的世界里带出来,带到用户的世界里,让他换个角度思考问题,毕竟软件开发不是为了实现功能,是要满足用户需求的。如果最后还是没能说服他,第一向上级反映,第二做好沟通的记录,将来备份在测试报告里。 以上就是软件测试中遇到的常见问题及沟通方法,如果觉得麻烦可以考虑用一些APP自动化测试工具

软件测试面试:请说一下你工作中发现的最有价值的bug

这个问题,基本95%的面试都会遇到。究竟面试官想要知道什么呢?让我们回到这个面试场景来看看。 “说一下你印象最深的bug" 你的脑子里拼命的回想过去遇到的印象深刻或有价值的bug。 乍一眼看,这是一个简答到不起眼的问题。可是同学们,你一定要知道,往往越简短的新闻,越是爆炸性的。而且很多同学会把目光集中在:印象最深的上面,其实这道题目的迷惑性就在这里,所以一定要谨慎回答。 “我就是做测试的,每天那么多bug,累计下来,没有上万也有成千,猛的一问我,我还真的一下想不起来哪些是有价值的,我只记得当时和开发撕逼的过程了“ 如果实在得说一个,那我就随便说一个我觉得印象深刻应该也可以吧。 其实不然,你如果真的随便说说,估计你的offer就差不多要飞了,这道题,是一个综合性考题(敲重点) 先来分析一下题目: 说一说你工作中发现的最有价值的bug 重点在哪里?在: 说一说和bug。 为什么是这俩?因为有价值是一个主观臆断,每个人和每家公司的评判标准都不一样,可能对你来说有价值,你从这个bug里学到里很多东西;可能对公司有价值,发现一个致命bug,拯救产品于危难。但是对方能不能从你的表述中判断你这个bug没有没有价值,才是关键。 综上所述,这道题目主要考察你三个部分: 1、了解你平时工作中的测试能力; 2、遇到问题如何解决; 3、人际沟通 表达能力 有没有价值,这个真的另当别论,如果你能在言语的表述里让面试官觉得有价值那再好不过。 #了解你的测试能力# 这就要求的你平时工作中遇到bug时试着自己去定位,定位bug的过程远比你的单纯的执行测试用例有“价值”(自我技能提高的价值),在定位bug的过程中你需要掌握和运用更多知识。 另外,平时养成总结的习惯,发现的bug,开发解决了,问问他原因以及解决的方法,这样再遇到类似问题时,自己也可以试着定位解决。遇到难解决的bug,也可以把最终的解决过程记录下来。 #遇到问题如何解决# bug出现了,怎么判断这个bug是不是bug,是后端的还是前端的,是自己能处理还是要交给别人处理,处理的结果如何反馈,(这里千万别炫耀你和开发的撕逼过程) #人际沟通表达# 搞技术的有许多属于闷骚性格,让我们和技术打交道游刃有余。在各种群里吹牛,段子一个比一个说的溜,一旦要面对面交流时,语言表达能力比较欠缺,如同有了社交恐惧症一般。 建议平时多参加集体活动,不要仅限于网络上的沟通,实在不行就在脑海中模拟场景,在镜子面前对话录音,一遍遍的做脱敏练习。加强自己的表达能力。 以上就是面试官问这个问题的目的,不过也有可能是没话找话,但还是希望大家能以正确的态度面对每一次面试。预先准备好自己已知的一切答案。 如果,一时想不起来,可以这么切入: 1、找一个自己工作中很熟悉的项目, 2、谈谈你是如何对这个项目进行测试的, 3、在某一个版本测试中,发现xxx,开发也xxxx,前端也xxxx,运维也xxxx,最后终于发现原来是xxx引起的xxxx 。 把你工作过程中的测试方法和步骤描述清楚了,那么这个bug有没有价值或是否印象深刻就不那么重要了。 上文内容不用于商业目的,如涉及知识产权问题,请权利人联系我,我们将立即处理

软件测试工程师有哪些毛病

某年某月某日某日,负责的网站出现崩溃的状态。于是不懂技术的我问了我们公司的软件工程师小哥,他说:“网络问题导致的崩溃状态”,天通苑北大青鸟发现由于过了10分钟还没好(已经被领导劈头盖脸的骂了一顿),我就弱弱的问,是不是有bug,能不能解决一下呢?他说有bug,会自己解决的,不用你教我哈!于是,过了1个小时,网站才恢复正常!我也不敢问,我也不敢说啊!

1.现在我们站在软件开发人员以及运营者的角度,看软件测试工程师有哪些毛病?

①描述bug不清晰,就一句话,没有具体的操作步骤。

比如:拨打电话出现死机。(就简单的一句话,就啥都没了,拨打什么号码_没写,在什么情况下拨打电话_没写)

②提交的bug看不懂啥意思,不知所云。

这种bug只有测试工程师自己能看懂,别人根本看不懂,他却以为别人能懂。

③没有写出现的概率。

偶发的bug没有log和其他更多信息,有的bug概率很小,小到不影响用户使用,如果不写清楚,开发人员将浪费大量时间去定位问题。

④bug发生的前提条件都不写。

比如:bug描述是充电图标显示重叠。但是没有写什么条件下出现,开机状态?还是关机状态?开发工程师懵逼,还要自己去一个个去试,浪费开发人员的时间,描述不详细但是测试工程师还觉得自己没毛病,一切挺好。

⑤.bug等级乱定位

比如一个很小的甚至是建议性的问题,把bug等级提到最高。软件开发一看,全是致命性1级bug,仔细一看很多小问题也被提为1级bug,此时开发人员的心情肯定的奔溃的。

⑥测试工程师描述bug,却不写预期结果。

开发都不知道要修改成什么样,一脸懵逼。结果开发理解错了,修改的结果不是预期的结果,这就浪费开发的时间了,你想想此刻开发人员的心情是怎样的?

⑦出现问题的软件版本没写清楚,开发人员不知道是在哪个软件版本出现的。

8.bug出现的模块没有划分清楚,所有的bug都提到一块,看的眼花缭乱。

软件测试面试题:CRM系统你发现过的最经典bug

MSCRM : 1.Email Format 是心中永远的痛,器不是所见即所得,发出来的Format总会变。2. Quick Find for Email, add From and To to the search condition, 在SysSetting里设置Check QuickFind条件,正常情况下数据集大了会报个系统提示,我们多个环境都正常,就有一个弹出错误,后天EventView没记录,前台本该能点DownloadLog 的button不能点。很神奇啊。3.时区问题,如果要支持多时区,Bug很多的。

电脑培训分享软件开发人员解决bug的方法

每个软件开发人员都会遇到bug,那bug是什么呢?当软件开发人员能够测试标准后发掘的问题成为bug。那么解决bug的方法有哪些呢?电脑培训建议首先软件开发人员需要掌握怎样快速定位,之后修改程序就可以了。

一、断点调试:

1、打断点:打断点、清除断点。

2、启动调试模式的两种方式:一是通过debugas启动调试程序;二是在程序运行时,DDMS视图下选取要调试的程序,启动调试模式。

3、调试:可使用F5、F6、F7、F8快捷键。

4、通过watch查看成员变量。

二、打印调试:

??打印调试对于循环、JNI等代码段很有效,循环时越发管用。

三、目视法:

??适用codereview,但毕竟人为的,多打一个点,都会出现问题,不过代码量少的时候很好用。

四、自动化测试:

??Android程序开发自动化测试工具有:monkey、Robotium、Appium、云端测试。

五、排除法:

??当遇到随机问题时可使用排除法检验,先大概定位问题点,再用代码一点点注释,查看变化,渐渐缩小问题范围。

软件测试中容易犯的测试错误

虽然说我们在工作中一再要求大家要认真细心,但是对于许多的新手来说,依然会在不知不觉中犯错误。下面沙河电脑培训就通过软件测试岗位做为分析案例,了解一下,一个软床测试新人都容易犯的测试错误都有哪些。

1.没有测试

我们很容易毫无原因地掉入这个陷阱。从现在开始,制定计划添加测试到你现在正在处理的代码中,并添加测试到将来的项目中。

2.没有从项目一开始就启动测试

我们很难再回过头去添加测试,并且可能需要改变架构才能添加测试,这样做终将需要你花更长的时间才能产出可信任的代码。从一开始就在项目的生命周期添加测试可以节省时间和精力。

3.编写失败的测试

TDD方法的普及将红—绿—重构的理念带到软件测试世界。这个理念常常被误认为应该“通过编写一个失败的测试开始”。其实并非如此。在写代码之前创建测试的目的是定义系统的正确行为应该是什么。在许多情况下,它是一个失败的测试(红色表示),但它可能会通过一个非决定性的或未实现的测试来表示。

4.担心未实现测试

软件开发中的一个大问题就是,代码和任何关于系统实际上应该做什么的文档之间的沟壑。通过拥有一个名称中明确定义你终想要实现的预期行为的测试,你将从测试中得到一定的价值,即使将怎么写测试目前还不得知。

5.没有很好地命名测试

命名软件这件事出了名的很难做好,这同样适用于测试。关于如何命名测试有几种流行的约定。无论你使用哪一种都没有关系,只要你能够一贯使用,并准确描述正在测试什么。

6.让测试做太多事情

又长又复杂的名字通常说明了你想同时测试多件事情。单个测试应该只测试一件事情。如果失败了也应该在代码中注明是什么地方出了错。你没有必要为了知道代码中出了什么问题而查看是哪部分测试失败。这并不意味着你不应该在测试中有多个断言,但这些断言应该紧密相关。例如,一个查看订单处理系统输出,并确认输出中是否有一个单一项目以及它是否包含具体项目的测试,是ok的。但一个验证相同系统的输出的测试,既创建一个特定项目,又记录到数据库中,还发送确认电子邮件,就不行了。

7.没有实际测试代码

经常可以看到测试新手创建过于复杂的模型以及不能实际测试代码的设置程序。他们可能会验证模拟代码是否正确,或者模拟代码是否和真正代码做相同的事情,或没有任何断言而只是执行代码。这样的“测试”都是白费力气,特别是如果它们的存在只是为了提高代码覆盖率水平的话。

8.担心代码覆盖率

代码覆盖率的理念很崇高,但往往实际价值有限。知道运行测试的时候有多少代码被执行应该是有用的,但因为它不考虑正在执行代码的测试的质量,因此就变得没有意义。代码覆盖率在它数值非常高或非常低的时候,是挺博人眼球的。如果非常高,就表明,比起带来的价值,过多的代码可能正在被测试。非常低的代码覆盖率表明有可能代码的测试不够。因为这样模棱两可的意思,有的人就不知道单一片段的代码是否应该进行测试。我用一个简单的问题来明确这一点:代码是否包含重大的复杂性?如果包含,那么你需要一些测试。如果没有的话,你就不需要。测试属性访问器不过是浪费时间。如果它们失败的话,那么比起你正在写的代码,你的代码体系出现了一些更根本的问题。如果你不用看一段代码,就立即知道一切,那么它就不重大。这不仅适用于代码,也适用于你写代码。如果我们在任意点重访代码,那么它就需要测试。如果在现有代码中发现过bug,那就说明这一块的代码对其复杂性没有进行充分的测试。

9.着眼于一种类型的测试

一旦你开始测试,很容易只纠结于一种风格的测试。这是一个错误。只用一种类型的测试,你就不能充分测试系统的所有部分。你需要单元测试来确认代码的各个组件是否能够正确工作。你需要集成测试来确认不同组件是否能够协同工作。你需要自动化UI测试来验证软件是否可以如预期使用。后,你需要为任何不容易自动化的部分和探索性尝试进行手动测试。

软件测试提交bug时包括哪些内容

  1. Bug的标题(Title)和详细描述(Descriptions):

    标题是对你所提交的Bug进行简明描述;详细描述是对Bug进行详细描述,例如在什么情况下发生等;也可以直接将标题作为描述部分。

  2. 回归(Regression): 

    是测试前一个版本有没有此类bug(称为回归测试)。

  3. Bug测试环境(Environment):

    发现的这个bug的环境,例如:什么系统,哪个版本等。对于bug环境的描述可以通过简单的罗列即可。

  4. 复现的详细步骤(Repro Steps):

    将测试的过程简单的写一下,从你开始测试软件的最开始到你发现bug的时为止。

  5. 实际结果(Actual Results)和预期结果(Expected Results):

    实际结果是在测试软件的过程中,软件所表现出来的特征或者行为;预期结果就是软件需要设计所要求达到的结果或者目标。

  6. 备注(Notes):

    对bug的一些补充,例如:其它系统也发生,上个版本不发生等需要补充的内容。

  7. 内容还包括bug的严重等级、优先等级等,对于不同的bug,要做出相应的提交内容

如果你还想了解更多这方面的信息,记得收藏关注本站。