⑴ 如何发现游戏中的BUG(具体方法)通过测试等方法
游戏的BUG主要还是在大家“游戏”的过程中,对游戏的每个功能进行游玩时发现的问题,因为游戏是经过编程制作的,每个动作和功能对应着相应的程序,发现BUG去找程序即可发现编程的问题。
1、需求分析、需求评审需求分析和评审就是分析客户的需求可不可行,需要怎么进行测试。
2、编写测试计划编写测试计划通俗一点讲就是什么人在什么时间做什么事,最后产出什么东西。那也就是测试人员要测试哪些模块、在什么期限内,提交哪些文档。
注意事项:
执行测试、提交bug、回归测试Bug就是缺陷,发现bug之后,要提交给开发人员让他们去修改,然后进行回归测试,验证开发人员有没有改好。编写测试总结报告Bug都改好了之后,要编写测试总结报告,这款软件的质量如何。
⑵ 现在要测试一个网站,用什么软件可以把它可能存在的bug测试来呢
没有什么软件可以保证把网站上的bug有效的检测出来的。
否则软件测试工程师们都要回家了。
网站测试其实说简单也简单,说麻烦也麻烦的。无论是否用到软件。都需要进行需求的分析,网站功能的理解和定义。然后跟功能点进行手工测试或者适用于软件进行自动化的脚本设计。
工具只是工具而已。没有什么工具能代替人的分析和智慧。
⑶ 怎么快速测试APP应用的bug
看是哪一方面的了。
如果是功能测试,需要先了解产品,设计测试用例,然后选择手工测试或者自动化测试。这里可以推荐TestBird的自助功能测试,下次做回归测试的,也是自动回归,比较方便
如果是兼容性测试,需要准备足够多的测试机型。一般来说,可借助市面上的云测试平台,如TestBird.
⑷ 有什么专门存在很多bug的网站可以让人去找bug的
有知道专门存在很多bug的网站可以让人去找bug的?
⑸ 有这么app可以测脸bug
脸型测试APP可以测自己的脸型,找到自己脸上存在的漏洞。
脸型测试app是一款由杭州博小智科技有限公司发行的脸型识别软件,有智能测脸型系统,只上传照片或拍照,就可以测脸型、颜值测试、脸型识别、脸型分析、根据脸型配发型,还可以测颜值、测脸型配发型、扫一扫测脸型、脸型鉴定、脸型发型搭配、人脸识别等功能,让你不再为自己是什么脸型而烦恼。提供专业的发型师在线的发型设计服务,解决发型难题,还有服装搭配服务,找到适合自己的风格,让你每天都颜值在线。
⑹ 找BUG多的软件可以在哪里找到
我朋友工作就是软件测试,每天找BUG。你要,有机会给你练练手
⑺ 跪求一款,免费的BUG管理平台。
柠檬班推荐:1、禅道(zentao)禅道是一款优秀的国产开源项目管理软件,它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核心流程,支持Windows系统和linux系统,基于PHP语言,安装方便,支持一键式简易安装。界面流程清晰,开源版具有很多完善的功能,专业版更加强大,一般如果不是大型公司,用到开源版就可以了。资源地址:http://www.zentao.net/2、BugzillaBugzilla是由Mozilla公司提供的基于Web方式,免费的开源的一款功能强大的Bug管理系统,比如强大的检索功能,强大的后端数据库支持,丰富多样的配置设定等;安装需要Perl和配置MYSQL数据库,过程比较繁琐,修改配置文件比较麻烦;英文版的,能汉化但是汉化后容易出现乱码;资源地址:http://www.bugzilla.org3、BugFree基于WEB的,配置安装简单,只需到网上获取安装包,再配下PHP通用的环境即可;纯功能型的界面就无所谓美观;没有直接的截图功能但是可以以附件的形式存在;也有简单的报表统计功能;整体使用还是比较容易上手,而且是开源免费中文版的BUG管理系统。资源地址:http://www.bugfree.org.cn4、EasyBUG基于WEB的在线的,不用配置;界面很漂亮,操作容易上手,基本上只要是会上网的人一看就会用;区别其它工具且最实用的一点是截图功能强大,且是以图片的形式直接存在,而不是以附件的形式存在;BUG解决流程也有记录在案;丰富的统计报表,一目了然;是国产的,有中英文版的而且免费的。资源地址:http://www.EasyBug.net5、Mantis一款基于Web的Php+Mysql的开源BUG管理系统,一款简单实用的系统,也有截图功能,不过是以附件的形式存在,报表功能比较强大,需要配置才可用,是英文版的,不过可以通过汉化包和配置来汉化,有邮件支持但也需要修改配置。资源地址:http://www.mantisbt.org6.QC(QualityCenter)是原MercuryInteractive公司(现已被HP收购)生产的企业级基于WEB测试管理工具,需要安装配置IIS和数据库,系统资源消耗比较大;功能很强大,结合有BUG管理,需求管理及用例管理等功能;和其它的测试工具,比如Loardrunner测试工具的接口做得比较好,数据可以在它们中共享;英文版的且易用性不是很好,最重要的是收费且价格不扉;破解版的网上也很多但找起来和破解也比较费事,且性能就不那么稳定。资源地址:www.hp.com"target="_blank">http://www.hp.com
⑻ 软件测试中非必现的bug怎么找
写写我的经验吧。其实很简单:分析log
测试客户端或web功能时,打开抓包工具,跟踪自己的操作路径。
当涉及到server功能时,就依赖于开发了,有经验的开发会在自己的代码中打很多的log,去log文件里按时间找自己的操作即可。通过分析log,可以:
1. 方便的回溯随机bug,出现问题直接查错误日志、定位原因、告知开发,就不需要再绞尽脑汁的重现bug了,提高测试质量。
2. 查log能够准确的定位问题。特别是比较复杂的系统,一环套着一环,通过查log剥茧抽丝逐步定位问题所在。提高工作效率。
3. 查log的过程也是对系统实现细节的深入学习过程,通过了解到的技术实现,完善测试用例,避免漏测。
但在实际的测试中,可能会有很多意想不到的情况,比如开发忘记在出错点打log了,你分析半天发现没哟,浪费时间所以测试之前一定要提醒开发在关键点打好log:
1、异常处理。系统各层次都要显式处理异常,任何可能出现的错误都能在日志中找到原因和地点。
2、重要的逻辑处一定要有日志。能够通过日志看出是哪个文件的哪个方法出了问题。
⑼ 程序员遇到百度不出来的bug都是怎么解决的
笔者不同意下面网友的回答。程序员如果解决bug的水平停留在网络,那么本质上只是一个“面向搜索引擎的代码搬运工”,是不合格的程序员。
程序员对面bug,正确的“打开方式”是像福尔摩斯和柯南那样,寻找线索、运用逻辑推理来缩小问题可能的根因范围,最终精准定位。
常用的方法有:
1. 坏境上下文变换法
2. 工具调试法
3. 版本回溯对比法
4. 代码审计法
……
没有编程问题是stack overflow和Google解决不了的,假设你在编程中遇到了问题,你自己解决不了、你周围的的人都解决不了的时候,我觉得stack overflow、Google是你最好、也是最后的帮手。
作为一个程序员,我觉得Google、stack overflow是你必须要学会使用的两个工具,这两个工具本身并没有使用门槛,只不过因为一些众所周知的原因,很多人不能使用Google和stack overflow这两款工具。
Google主要还是方便,而且很多编程问题都需要用到英文搜索,当然现在网络在专业能力上也提升明显,不过跟Google也还是有比较大的差距,因此我还是强烈建议要学会使用Google,这会帮你在工作、学习上事半功倍。假设Google确实因为某些原因没办法很好的使用,我也建议你至少要会使用Bing搜索。
现在可以说stack overflow上没有你找不到的问题了,从IDE环境安装问题,到各类编程语言问题。算法问题,数据结构问题,调试,重构等等,几乎这里就没有你找不到的答案,可以说在stack overflow上你可以找到任何解决方案,并且上面的回答者基本上都是非常有经验,而且都是实际中遇到的问题分享出来的,这个工具一定要会使用。同理,除了stack overflow这个专业的垂直程序员问答社区,你也可以使用Quora这个综合问答社区,这上面也能找到很多问题的答案。
一些比较优秀的文本编辑器: Emacs/Vim,Visual Studio Code,Sublime Text,Atom,Ultraedit,Hbuilder等。
一些比较非常出色的IDE集成开发环境: visual studio,IntelliJ IDEA,PhpStorm,Haskell for Mac ,eclipse,WebStorm,GoLand,CLion,Android Studio,Xcode,QT等。
macOS平台比较好的第三方包管理工具: Fink,Macports,Homebrew等。
一些比较好的终端工具: Zoc7,iTerm2,Cmder,terminus,hyper等。
一些比较好的笔记软件、markdown工具、效率工具: Evernote,有道云笔记,为知笔记,Ulysses,MWeb,FileZilla,Snipaste,Kantu等。
虚拟机软件、容器软件: Parallels Desktop,VMWare Fusion,Virtual Box,Docker等。
我是个程序员,职务是linux底层驱动工程师。平时的主要工作是调试驱动,但产品遇到诸如死机、重启、不开机之类的问题时,也要参与查找原因。一部分问题,确实可以查看相关的log,然后网络这些log的关键字来解决;但更多的问题,牵扯的条件太多,并不是简单的网络就能解决的。
观察了周围同事们的做法,我总结出以下几种解决方法:
网络因为竞价排名的原因,搜索出来的结果有很多广告的成分,所以有时候要翻好几页才能看到一条相关的答案,有些甚至要翻几十页。
因为网络搜索使用的是SEO技术,即普通用户可以通过优化网站内容来提升关键词排名。
而这就会导致一个问题:你搜索关键词后展现出来的结果是有人想要让你看到的,并不是质量最好的。
也就是说,网络搜索结果被人为干预了。所以网络一直被网民所诟病。
但网络搜索不出结果,未必是网络的原因,也有可能是自己输入的搜索词不准确造成的。所以对于网络,我们要做到如下几点:
除此之外,网络搜索还有点小技巧,粥左罗《万字干货,彻底讲透搜索技巧,10倍提升你的搜索力(免费教程)》这篇文章写得非常好,我整理几点,仅供参考:
01 过滤目标内容
命令:“+”“-”
用法:通过“+”和“-”来对搜索结果进行过滤
比如在关键词后加上“-推广 -推广链接”就可以排除搜索结果中包含相应字样的链接。如果你发现广告还没有排除干净,你也可以再加上“-广告”通常就能彻底的消灭广告。
02 搜索包含某关键词的内容
命令:“intitle”
用法:通过“intitle”命令指定搜索结果中要包含的关键词,注意“intitle”后边连接的冒号是英文状态下的。
03 搜索某一个格式的文件
命令:“filetype”
用法:通过“filetype”命令可以限制我们要搜索文件的类型,注意“filetype”后边接的冒号也是英文状态下的。
04 搜索特定时间范围的内容
命令:“时间..时间”
用法:通过“时间..时间”命令可以限制我们要搜索的文件的时间,注意两个时间的中间顿号没有空格。
相对网络,谷歌、必应对于技术搜索,就相对准确许多,所以当你网络搜索不到时,尝试下别的搜索引擎,说不定会有新发现。
现在程序员使用的机器语言,都是国外的,更准确的说,都是美国的。所以很多论坛、资料等,都是英文。如果你只会用中文来搜索,某些小众的问题,当然搜不到啦。
所以,要学会使用英文关键字来搜索。
有时候甚至要去国外的一些论坛来搜索想要的答案,这就要求要有一定的英语阅读能力,不能一看到英文帖就放弃。
有时候不管你如何搜索,都找不到自己想要的答案,该怎么办呢?这种情况下,就只能硬着头皮尝试自己解决了。
或者,寻求同事或朋友的帮助,寻求大脑风暴,说不定就会有思路。
如果有些问题是因为新器件带来的,还可以找到器件供应商,让他们安排技术支持帮忙查找原因。
除此之外,还可以把问题整理好,写清发生的条件、复现步骤、测试方法、相关的LOG截图等资料,去一些技术论坛发求助帖,寻找大牛的帮助。
做技术时间久了,发现有些问题确实无解,根本没有办法去解决它。
这时候,我一般会尝试把它绕过,就是说,想办法让它无法复现,虽然问题还是存在,但是能把它掩盖过去。
比如有些驱动在开机启动时会加载不正常,那么就让它晚点启动,或者手动加载。这也不失为一种解决问题的方法。
以上就是我的建立,希望对你有帮助。
首先作为一个程序员,一个优秀的程序员最最最重要的能力就是解决问题的能力。这里解决问题的能力当然就包含了解决 bug 能力了
毕竟,程序员这一生,可能会写无数个 bug ,没有说哪个程序员敢保证自己写的程序没有 bug 。 所以,写了 bug ,遇到 bug 并不可怕,可怕的是你没有解决 bug 的能力 。
作为一个程序员,解决 bug 的途径有哪些呢?我们来一起聊一聊!
其实,每个程序员在学习编程的时候,都会使用编程工具,而现在的开发工具,其实功能都很强大。如果你自己合理利用编程工具,都了解和懂得开发工具的一些技巧,其实不仅仅能够提高开发效率,而且还能够帮助你解决很多编程中的实际问题。
debug 调试,大部分你常用的开发工具,都会有调试模式的,简而言之,就是你编程的时候,遇到了不是自己所想的结果的时候,你可以使用 debug 模式,来一步一步的调试,在调试模式下一般每一步都会显示所执行的结果,你可以看看在哪一步出错了,执行的结果与你预想的结果不对,那么你就能够找到问题所在了。
还有就是,开发工具的控制台,都会提示出报错信息的,现在的开发工具,都会直接告诉你哪一行,报了什么错。其实,很容易定位到错误的。你只需要在编程的过程中积累经验,知道报什么错,用什么方法来解决就行啦。
可是,提示的报错信息,我不知道用什么方法来解决的时候,该怎么办呢?这就是你需要积累的,也是问题中所描述的,就是通过搜索引擎来找答案。
不对,这里不应该是合理使用搜索引擎,应该是学会正确使用搜索引擎。比如:网络,你就不要用了,搜出一堆重复的信息,而且广告也多。作为程序员,建议你使用谷歌搜索。
其实,你在编程中所遇到的几乎所有的问题和 bug ,别人也同样遇到过,因为不管是经验丰富的老程序员,他技术再牛逼,也是初学者过来的,也都踩过你踩的坑。所以,互联网是个好地方,里面包含了你想要的问题的答案。
你只要把报错信息往搜索引擎上一放,回车一下,很多关于这个 bug 的答案就出来很多,你只需要找到跟你一样的 bug ,就能找到答案了。
在这里必须提一下这个网站,所有的程序员有必要学会使用这个网站,其实,你编程中所遇到的问题,这个网站上几乎都是由解答的。
Stack Overflow 可以说是最好的软件程序类问答网站了,给软件开发人员工作和学习提供了非常大的便利,以至于像小白,离了 Stack Overflow 简直都不会写程序了。
所以,建议大家一定要学会使用这个网站,对你编程肯定会有非常大的帮助的。
通过上面的方法,几乎应该能够解决到你所遇到的问题,但是,实在找不到答案的话,你可以问经验比你丰富的老程序员,实在解决不了,那就换种方法吧!
网络,谷歌,debug,断点调试,业务上的bug就需要问下同事或者产品。如果能知道大致范围,哪一部分错了,就换一种方法呗,一般都不会只有一种方法。
1.reload
2.restart
3.rewrite and then goto 2 or 4
4.reboot
5.rm -rf /
6.原谅我编不下去了[捂脸][捂脸][捂脸][捂脸][捂脸][捂脸][捂脸]
找bug跟医生看病的思路是一样的,要对症下药。得先把问题的根源找到,找到根源以后问题就容易处理了。搜索引擎找不到的问题,说明这个问题不是一个常见的问题,具有独特性,那么从bug出现的路径上一步一步去排查。必要时可以用排除法,尽可能的缩小排查范围。另外,当软件的业务逻辑比较繁多复杂的时候,一个结构清晰的架构能为你节省不少找bug的时间。还有,充分的单元测试能够帮你减少出bug的机会。以上均为个人看法,欢迎讨论!
一般程序员能碰到的bug无外乎其他上游程序员写库时手抖留下些不匹配或者容易溢出的问题,搜一下差不多能解决问题。如果是自己写的,那无非就是时序错误类型错误之类的,用break point一行行的调就好了。
再复杂点的bug就是程序员拿高薪的根本了,只可意会,不可言传~
仅仅靠搜索引擎、其他网站那必然无法解决大量问题,因为很多问题是跟业务逻辑相关的,是没有直接答案的。比如 游戏 开发有个界面一直无法显示,这个问题就不是网络可以解决的。问题需要调试分析,这和破案非常像,但在开发过程中更有利的是问题有机会可以重现。破案是逆向工程,需要反推。解决代码问题不仅仅可以反推,也可以通过阅读代码正向分析。下面说说如何debug一个业务逻辑问题。回到刚刚的例子,有个界面一直出不来,我们如何快速去定位:
1.思考这个问题发生的可能性。比如 游戏 内大量界面都是正常的,那么可以对比正常界面代码和异常界面代码的区别,这是对比法。
2.假设创建正常界面和这个异常界面的逻辑代码是一样的,那么问题就落到了这两个界面内部,继续在内部重复上面的对比法进行判断,直到锁定最终位置。
上面说的方法基本上可以杜绝卡在一个简单问题上,这是摆脱新手的一个过程。选择使用对比法或者其他方法的前提都是基于观察和对项目的认识,所以,搜集“案发现场”是最关键的。
其他的问题,不属于逻辑的,像其他网友说的那样,有些通过到github、stackoverflow等地方解决的。这些问题也不是直接就去查找的,它通常也有个分析过程。比如你使用了一个库,但是目前它不支持你的模块。对于新手,就是直接网络或者google了。实际上这样的问题也是有“案发现场”的。对于作者提供的api接口的统一性和便捷程度去推断作者在相关支持模块的位置以及命名以及拓展,再尝试在文件夹中搜索。如果都找不到,再去Google上获取更多的信息。重复推断、分析,决定如何拓展或者绕过。
综合上面的几种问题,可以看到的是都离不开对现场的观察和推理分析。这种能力也被称为经验。但是一般情况下你看不到它们这个分析过程,你能做的就是在实际环境中反复逼迫自己去思考,去训练。这个推理的培养,不仅仅是对事情,也是对人。
我在入行 游戏 开发的前期,也是类似的情况。卡在不同种类的问题上,有些在简单逻辑,有些在别人的代码支持上。后面解决的问题多了,就会发现里面共通的思维方式。常用的一些方法如下:
1.对比法,比较正常与异常代码区别
2.二分查找法。分段注释找问题,也会用在很多方面。比如最近版本突然出了一个奇怪bug,可以通过svn还原来定位。这个还原不是一个一个版本还原,而是用二分法去还原。
3.增加信息。在怀疑的位置或者过程添加日志或者打断点辅助自己更好的推理。
4.相似推理。比如一个引擎在api、性能使用程度上都非常友好,那么它在别的地方也有可能相对表现比较好。这时候如果有个功能我们的实现需要很复杂才能完成,那么就有可能是我们用错了。相似推理不一定都能正确,但会提供一些帮助。
以上。
⑽ 软件测试新手如何快速找出软件中的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”另一会用“成功”,总之要统一。