Web测试中定位bug方法 推荐 原创 Li_思华年 2017-11-16 15:46:33 博主文章分类:功能测试 ©著作权 文章标签 定位 BUG 文章分类 软件测试 ©著作权归作者所有:来自51CTO博客作者Li_思华年的原创作品,请联系作者获取转载授权,否则将追究法律责任 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具、数据库工具配合去排查。bug定位常用工具Firefox——firebug、web developer、live http headers、http foxIE插件——httpwatch第三方工具——fiddler慢速网模拟工具——firefox throttle前台错误 前台的bug通常是功能、界面和兼容性等有关,涉及到jstl,jsp,js,css,html方面比较多。bug主要有两块,第一就是JS写的有问题,这个你可以按F12 打开控制台,在console中查看报错信息,一般浏览器都会显示报错的jS ,对于出错的js可以在Sources下查看对应报错的资源文件,基本上都会找到错误原因的变量未定义,参数未定义等,JS错误都很好解决的。 第二个就是页面中的bug了,现在做web项目基本上没有做静态页面的都是动态了,所以你页面中要么使用了小脚本要么使用了EL表达式来存值。页面报错的话 在控制台是可以看到你错误行号和附近代码的,你自己去找就行了。 图片不显示,谷歌浏览器右键点击图片,点击【检查】,(火狐浏览器右键点击【使用firebug查看元素】)在打开的控制台上找出图片的属性,输入到浏览器的地址内,如果能打开图片,那么不显示图片的问题就是后台的问题;如果浏览器内不能打开图片,那么就是前端的问题。 开发者工具的使用(chrom浏览器)(1)打开开发者工具,在浏览器菜单栏选择工具-开发者工具,快捷键是F12(2)打开之后切换到Network页签,操作就可以看到请求响应(3)再选择响应的链接,切换到Preview页签,可以看到响应的结果数据;切换到Headers页签可以看到请求的地址,请求的方式,结果等信息(4)Response结果中可以看到返回的数据字段、值可以根据响应的值判断一些bug所在(1)响应中没有数据,则是后端数据没有返回,前端展示为空,则为后端问题。例如:列表中新增一个数据,没有显示,通过请求中可以看到数据total为0,则是后端数据没有返回。(2)响应中有数据,但是前端显示错误了,可以根据字段值判断是否前端显示中取错了字段显示,可以判断是前端问题。例如:B端显示内容错误了,把登录用户名显示了登录帐号,则可以在响应中看数据是否返回正确,返回正确而显示错误,则有可能是前端绑定字段错误。(3)响应中有数据,但是跟自己操作的结果不一致,可以根据数据库查询,如果数据库中也没有记录,可能是代码有问题,没有记录你的操作。例如:注册了一个帐号,但是登录时提示帐号或密码错误,这就可以在数据库表中查看是否有注册的数据。后台错误根据后台日志文件查找错误 后台涉及到servlet,jms,ejb,还有很多框架,struts,hibernate,spring,ibatis等。bug 比较难改,但是好找。主要就是看控制台报错,然后定位错误行号。如果配置文件没有问题,那么一般的报错就是空指针,或者是数组下标越界。看附近变量,看方法的参数基本上都可以定位错误了 重启的一般情况:(1)热部署 (新增部分功能,或者修改部分bug) (2)发布新版本 (整个系统)(3)内存溢出,此时重启服务器即可由于项目中有线程程序,./shutdown脚本关闭tomcat程序,不能把启动的线程全部关闭,造成服务器启动线程未关闭的错误,所以Linux系统中重启Tomcat的一般步骤:(一般是先关闭进程,然后进行重启 ,如果 /要删除某个文件:rm 文件名,或者不为空的文件夹:rm -rf 文件夹名)cd usr/local/ //测试服务器名称/binps -exf //看测试服务器下运行的项目的主进程(最前面的数字为PID进程号)kill -9 PID //强制关闭某一项目的主进程./startup.sh // ./**.sh 即执行重启shell脚本文件 ,此时在测试服务器的bin下面,直接执行即可,其余的加上 chmod a+x shell脚本文件,也可用./执行(小知识:ps aux和ps -ef命令区别ps aux 是用BSD的格式来显示 java这个进程显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMANDps -ef 是用标准的格式显示java这个进程显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD)如何查看日志一台服务器可以部署多个应用cd usr/local/测试服务器名称/logs //查看先进入到服务器的logs目录下tail -f catalina.out //监视catalina.out 文件的尾部内容(默认10行)日志中常见的问题获取日志文件中常遇到的问题:(1)编码问题:tomcat是新的,需要改编码修改tomcat的server.xml文件<Connector port="8080"URIEncoding="UTF-8"/>特别是windows下的项目重新部署到linux系统下,(2)空指针:程序问题,一般没有考虑到为空情况,或者主外键约束的数据为空,或者删除关联数据,导致为空(3)长度过长,超过最大长度,测试环境修改数据库字段长度后生产环境未修改,导致报错!!(4)非法数据(5)内存溢出:重启 一般的问题原因总结程序:为空判断,增删改查,不同公众号调用的接口也不一样数据初始化:数据库表结构和数据初始化,权限配置, 故障无法重现时:(1)看日志,根据日志定位原因,则在测试环境中按照日志提示构造条件相同的测试案例测试,尝试在测试环境中将问题重现。问开发(2)测试环境和配置与实际的工程环境和配置有哪些差异等等。同时主动与开发负责人、工程实施人员以及有经验的项目经理讨论,分析可能导致的原因。配置环境不一致导致测试环境ok,生产环境新增时保存失败,查看后台日志报长度溢出,数据库内容字段要求和生产环境不一致 辅助工具:linux和SQLlinux查看日志SQL用来筛选数据或直接进行数据修改状态,多用于集成测试过程中前后流程相连接 jsp分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同。用户发出请求后,服务器解析用户请求,转至对应的jsp,这个时候可以说是整个jsp都是后台程序。而Jsp做出响应后,把响应的内容返回给浏览器,这个时候浏览器就只看见html,css,Javascript,这个时候所有的程序又都是前台程序。火狐浏览器的web控制台打开方式如下:菜单上点击【工具】Web控制台页面显示谷歌浏览器开发者工具按F12打开,页面显示如下:Element标签:该标签使用来查看页面的HTML标签元素的,能够也就是查看源码,我们可以看到布局,可以看到用到的样式,还有用到的链接等等。console标签:这个就是一个web控制台,可以查看网页运行后提示的消息,错误或者警告以及输出内容等sources标签:这个是显示资源文件的,可以查看运行的脚本,调试一般都是在Sources调试的1.该选择框使用来选择资源的,当网页被加载的时候向服务器端请求出来的文件包括.html .ccs .js这样的文件。2.这个地方使用来调试js代码的地方,这个非常重要,看到行号上面有蓝色的标签,这个标签就是断电,当我们需要调试程序的时候打一个断电,然后通过3这个工具栏进行调试,那么调试过程就不详细解释,也就是打一个断电然后刷新页面程序会调到你打断点的地方,然后通过4来查看程序中变量的值什么的。3.中的标签,第一个是停止状态的按钮就是表示程序是否停止(在debug时),后面的是程序继续跳过方法,跳过下一个语句,调到上一个语句。Network标签:这个就是抓包常用的工具,可以看到网页加载的脚本和资源的时间,还可以看到某些不能加载成功的资源那么这个页面就是用于抓包的页面,我们需要分析页面的请求,比如模拟登陆什么的都需要去分析程序是怎么在后台执行的,接下来就,我们可以看到Headers(请求消息头) Preview(预览) Response(响应) Timing(请求时间)Cookie这些东西最上面还有一个工具栏,有一个红色的圆点和静止符号的按钮,那么这两个按钮,当为红色按钮的时候表示当前的请求不被清空(但是这里的请求是不跳转页面的请求,当跳转到新的页面,那么也会请求也会被清空),后面这个按钮就是清空请求的。下面还有一行工具栏,这个工具栏主要是用来选择和过滤请求消息的。再下面可以看到时间线,这个就是记录一个请求开始到结束的时间。注意:当你需要请求到另一个页面的时候都不清空你的请求的时候需要勾选上Preserve log,同时让红色按钮显示红色TimeLiness标签:这个就是请求时间 赞 收藏 评论 分享 举报 上一篇:LR性能测试结果分析原则 下一篇:selenium在使用sendkeys()时报错 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 软件测试-Web端测试方法总结 一、输入框1.字符型输入框1)输入框格式校验英文全角、英文半角、数字、空或者空格、特殊字符“……!@#¥%……&*({【《,。?、:;‘<>’》】})”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。知识点扩展:全角/半角全角:一个字符占用两个标准字符位置半角:一个字符占用一个标准字符位置在计算机系统中,输入法为英文时,默认就是输入半角 数据 用户名 Web 软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率! 简介在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这些元素,本章会介绍各种定位元素的方法。web 控件定位id 定位Python 实现driver.find_element(By.ID,'query')Java 实现driver.findElement(By.id("query Java Python chrome 提高Web自动化测试的稳定性,从写好元素定位路径开始 在Web自动化测试教程中,如何定位元素是老生常谈了。大多初学者都能说出UI自动化定位有哪八大定位方式。然后一般教程也会告诉大家这八大定位方式的区别以及适用范围。这看似简单,但是在实际的自动化测试工作中,我们会发现,页面的HTML结构可能非常复杂,而且想要定位的元素经常不存在可以一下子就唯一确定的id或者属性,那就只能选择最灵活的Xpath或者CSS选择器了。这两者当中,我个人更加偏好于XPATH, 自动化测试 Selenium Web测试中定位bug方法 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具、数据库工具配合去排查。bug定位常用工具Firefox——firebug、web developer、live http headers、http foxIE插件——httpwatch第三方工具——fiddler慢速网 测试 Web bug Web测试中定位bug的方法 在web测试过程中,经常会遇到页面中内容或数据显示错误,甚至不显示,第一反应就是BUG,没错,确实是BUG。进一步了解这个BUG的问题出在那里,是测试人员需要掌握的,可以简单的使用浏览器自带开发者工具、数据库工具配合去排查。 1.开发者工具的使用 (1)打开开发者工具,在浏览器菜单栏选择工具-开发者 数据 抓包 开发者工具 (网页 web)如何定位前台bug 前台bug注意以下三个方面:1)网站前台权限控制:没有权限的用户不能直接输入url的方式来进行访问,必须进行登录。以后涉及到权限的测试,一定不能漏掉url的方式也需要验证一下。 而在单个页面进行W3C测试时则需要去掉该权限控制。2)网站前台的title,对于这个也很容易忽视。进入到不同的功能页面,title显示应该是有,并且要和你进入的页面一致。title就是在浏览器最左上角看到的那些文字3)... 网站前台 权限控制 ssl证书 加密协议 3c 技术分享 | Bug定位方法 通常情况下 Bug 分为四个类型,分别是功能、性能、安全和专项质量。功能级别关注于业务流程是否正确。性能级别关注于业务流程是否顺畅。安全方面判断是否存在漏洞,是否符合安全标准与规范。专项质量通常关注于用户体验 UX、兼容性、稳定性和可靠性。为什么需要掌握bug定位软件测试人员的首要任务就是发现 Bug ,发现之后提交 Bug 给开发人员进行修复。掌握 Bug 定位可以在提交 Bug 时追加更多有用 测试 链路 技术架构 chrome 软件测试如何定位分析bug? 你好,我是小牛。软件测试日常工作中,每天可能都会遇到不同的问题和bu 软件测试 功能测试 测试开发 编程 自动化测试 测试人员怎样定位bug原因 作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行 测试基本素养 数据库 数据 测试人员 车载测试系列:车载测试Bug定位与分析(二) Bug问题分析处理 表现:程序继续运行 1.1 数值异常 1.1.1 软件问题 数组越界:写数 数据 栈溢出 函数调用 车载测试系列:车载测试Bug定位与分析(一) 车载Bug定位 1.1 模拟复现条件 能够复现bug才能对问题进行定位、解决以及验证。找到 寄存器 看门狗 单片机 移动端测试- Fiddler快速定位BUG归属 移动端测试是确保移动应用程序质量和稳定性的重要过程。以下是一些常见的移动端测试方面:功能测试:验证应用程序的各项功能是否正常工作。用户界面测试:检查界面的布局、颜色、字体等是否符合设计规范。兼容性测试:确保应用在不同的操作系统、设备型号和屏幕尺寸上正常运行。性能测试:评估应用的响应速度、内存使用和电池消耗等。安全性测试:检测应用的漏洞和风险。网络测试:测试在不同网络条件下的稳定性。本地化测试:适用 移动端 状态码 设计规范 Selenium Web元素定位方法 Selenium是用于Web应用测试的自动化测试框架,可以实现跨浏览器和跨平台的Web自动化测试。Selenium通过使用WebDriver API来控制web浏览器,每个浏览器都都有一个特定的WebDriver 驱动,处理与Selenium和浏览器之间的通信。实现Web页 selenium css python web页面 元素定位 Web测试方法 在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于 测试 web cookies 浏览器 服务器 【Web网站测试流程和方法】(中) 四、搜索测试 搜索测试主要分为以下几个方面: 1)搜索按钮功能是否实现; 2)输入网站中存在的信息,能否正确搜索出结果; 3)输入键盘中所有特殊字符,是否报错;特别关注:_?'.?\/-- ;特殊字符 &n web网站测试 快速定位bug 阅读报错信息如果浏览器有输出错误信息,那么根据错误信息,我们就能大致判断出错误类型以及可能出错的原因。有时候,即便是看懂了报错信息,也不清楚自己的代码到底出了什么问题。你可以把报错信息复制下来,去stackoverflow,segmentfault等专业问答网站去检索一下,如果找到不到合理的答案,还可以去google或百度去搜。要相信,总有人会和你遇到过类似的问题。使用console有时候,代码不 错误信息 报错信息 错误类型 androidstudio定位bug # Android Studio中如何定位Bug在开发Android应用程序时,我们经常会遇到各种bug,这些bug可能会影响应用程序的性能、稳定性和用户体验。为了更快地定位和解决bug,开发者需要使用一些工具和技巧来帮助他们准确地找到问题所在。本文将介绍如何在Android Studio中定位bug,并提供一些常用的调试技巧和工具。## 1. 使用Logcat输出日志信息Logcat 开发者 应用程序 Android bugly ios 定位代码 bug定位方法 软件测试工作中找bug就是这个岗位本身立足的职责,那么对于很多新人和新入行的同学们来说,这个过程会有点苦逼,毕竟经历的项目经验不多,想快速的切入寻找bug往往会比较痛苦。哪下面小编就以自身的经验来普及下如何在工作快速的去定位找到bug。 一、要找文档资料和请教同事尽快熟悉公司的产品业务, 根据产品的业务属性来熟悉产品的业务流程,这 bugly ios 定位代码 记住这几点就能快速的去找到bug 软件产品 测试用例 软件测试 ios测试app获取不到定位 app测试怎么定位bug bug定位即有足够的“证据”去证明DOV(开发人员)的代码存在问题,不是单凭自己认为是bug就是bug,最好可以定位到DOV的某行代码,某个函数的问题,最好保留日志截图并且可以保证重现。定位顺序:UI --> 中间件 --> 后台 -->代码 -->database一.web前端的bug分析定位。测试内容:页面布局、用户功能、易用性、兼容性测试方法:模拟用户输入,在浏览器页 ios测试app获取不到定位 常见bug 网络通信 数据文件 bugly怎么定位ios bug bug的定位 一般来说bug大多数存在于3个模块:1、前台界面,包括界面的显示,兼容性,数据提交的判断,页面的跳转等等,这些bug基本都是一眼可见的,不太需要定位,当然也不排除一些特殊情况,本身数据传过来的时候就有问题,所以显示会出问题的情况(这个后面会说到)。2、后台程序,包括前台调用的接口,中间层缓存和转发数据,定时任务脚本异步处理数据,程序之间的相互调用等等,而这些bug往往都是不可见的,有可能在功能上体 bugly怎么定位ios bug 字段 数据库 数据