软件出现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”另一会用“成功”,总之要统一。
软件测试bug级别说明
展开全部问题类型按照A、B、C、D、E顺序排列A. 致命性:数据被破坏、数据丢失、系统崩溃、系统无法运行。
B. 重大性:处理结果不正确、流程不对、性能不能满足要求重大性以上bug用白底红字方式标识出来。
C. 次要性:不会影响整个系统的运行性能,D. 一般性:操作不方便,界面布局不合理,难以理解E. 建议性:界面重构、描述更改、流程改进。
...
软件测试中非必现的bug怎么找
展开全部 写写我的经验吧。
其实很简单:分析log测试客户端或web功能时,打开抓包工具,跟踪自己的操作路径。
当涉及到server功能时,就依赖于开发了,有经验的开发会在自己的代码中打很多的log,去log文件里按时间找自己的操作即可。
通过分析log,可以:1. 方便的回溯随机bug,出现问题直接查错误日志、定位原因、告知开发,就不需要再绞尽脑汁的重现bug了,提高测试质量。
2. 查log能够准确的定位问题。
特别是比较复杂的系统,一环套着一环,通过查log剥茧抽丝逐步定位问题所在。
提高工作效率。
3. 查log的过程也是对系统实现细节的深入学习过程,通过了解到的技术实现,完善测试用例,避免漏测。
但在实际的测试中,可能会有很多意想不到的情况,比如开发忘记在出错点打log了,你分析半天发现没哟,浪费时间所以测试之前一定要提醒开发在关键点打好log:1、异常处理。
系统各层次都要显式处理异常,任何可能出现的错误都能在日志中找到原因和地点。
2、重要的逻辑处一定要有日志。
能够通过日志看出是哪个文件的哪个方法出了问题。
...
网络用语BUG是什么意思?
展开全部 bug是一个英文单词,本意是臭虫、缺陷、损坏、犯贫、窃听器、小虫等意思。
现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。
由于现在社会的发展,bug另有一种引申意义,用来形容某事物厉害的超乎想象,BUG可以使电脑系统崩溃、容易被施诈者攻击,现有修复漏洞的工具。
Bug一词的原意是“臭虫”或“虫子”;而在电脑系统或程序中隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”。
“Bug”的创始人格蕾丝·赫柏(Grace Murray Hopper),是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。
而代表电脑程序出错的“bug” 这名字,正是由赫柏所取的。
1947年9月9日,赫柏对Harvard Mark II设置好17000个继电器进行编程后,技术人员正在进行整机运行时,它突然停止了工作。
于是他们爬上去找原因,发现这台巨大的计算机内部一组继电器的触点之间有一只飞蛾,这显然是由于飞蛾受光和热的吸引,飞到了触点上,然后被高电压击死。
所以在报告中,赫柏用胶条贴上飞蛾,并把“bug”来表示“一个在电脑程序里的错误”,“Bug”这个说法一直沿用到今天。
与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”(中文称作“调试”),意即“捉虫子”或“杀虫子”。
后来就直接用bug 在很多的软件测试中 都用Bug来说明那些问题。
...
软件测试发现bug怎么处理
展开全部 一是项目经理通过和客户的交流,完成需求文档,由开发人员和测试人 员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地 方和可能有明显冲突或者无法实现的功能的地方。
项目经理通过综合 开发人员,测试人员以及客户的意见,完成项目计划。
然后sqa进入项目,开始进行统计和跟踪。
二是开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或 者双方理解不同的地方。
测试人员完 成测试计划文档,测试计划包括的内容上面有描述。
三是测试人员根据修改好的需求分析文档开始写测试用例,同时开发人 员完成概要设计文档,详细设计文档。
此两份文档成为测试人员撰写 测试用例的补充材料。
四是测试用例完成后,测试和开发需要进行评审。
五是测试人员搭建环境六是开发人员提交第一个版本,可能存在未完成功能,需要说明。
测试 人员进行测试,发现 bug 后提 交给 bugzilla。
七是开发提交第二个版本,包括 bug fix 以及增加了部分功能,测试人员进行测试。
八重复上面的工作,一般是 3-4 个版本后 bug 数量减少,达到出货 的要求。
九是如果有客户反馈的问题,需要测试人员协助重现以及回归测试。
在传统的 bugzilla 中,bug 描述应该包括以下的信息:① 和 bug 产生对应的软件版本;② 开发的接口人员;③ bug 的优先级;④ bug 的严重程度;⑤ bug 可能属于的模块,如果不能确认,可以用开发人员来判断;⑥ bug 标题,需要清晰的描述现象;⑦ bug 描述,需要尽量给出重新 bug 的步骤;⑧ bug 附件中能给出相关的日志和截图。
高质量的 bug 记录就是指很容易理解的 bug 记录, 所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。
...
玩lol老崩溃,就是崩溃bug
展开全部上面提示的关闭程序,CTRL加ALT加DEL 选择进程,从里面找名字一样的就关掉了。
内存问题把桌面盯籂驰饺佻祭宠熄触陇上的大文件都丢到磁盘里,再把所有其他运行程序都关了。
最好用360加速球或者以键加速上面的。
出现左边那个直接点Don;t Serd跳过。
有些BUG提醒是防火墙拦截LOL的一些运行程序造成的,也可以吧360等关掉再启动游戏。
如果还这样我就不知道怎么搞了——重下游戏或者换电脑(无能,唉~~~)
易语言调试时怎么知道崩溃时是运行到哪一行代码导致软件崩溃
展开全部有些程序员认为,测试BUG是测试人员做的事情,程序员只要负责写代码就可以了。
其实,这种想法是经不起推敲的。
程序员不仅有编写完成需求的代码的义务,也要对自己的代码质量负责。
在常见的开发流程中 程序员开发 ->提交代码 ->测试人员测试(如果存在BUG) ->反馈BUG给程序员 ->程序员修复BUG ->测试人员测试 (未发现BUG)->提交测试结果,等待版本发布如果BUG量较大,将直接导致上述的这个过程时间延长,如果在修复的过程中产生其他BUG,将让这个过程重复,直到测试人员没有测试出来BUG为止。
所以,减少开发的BUG量,将显著的减少整个发布的时间。
...
转载请注明出处51数据库 » 软件崩溃的bug怎么调试
我的jj比我名字长八倍