【软件测试】如何定位web前后台的BUG
一、对系统整体的了解
Server端:jsp+Servlet+json
数据库:sql、MySQL、oracle等
前台: 涉及到 jstl,jsp,js,css,htm等方面
后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis
Jsp:分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同。
用户发出请求后,服务器解析用户请求,转至对应的jsp,这个时候可以说是整个jsp都是后台程序。而Jsp做出响应后,把响应的内容返回给浏览器,这个时候浏览器就只看见html,css,javascript,这个时候所有的程序又都是前台程序。
二、前后台bug定位
前台的bug通常是功能、界面和兼容性等有关;后台的bug与性能和安全性有关。
前台bug定位:按F12在控制台中查看报错信息,对于出错的js可以在Sources下查看对应报错的资源文件,写入缺陷管理工具提交给开发即可(或者使用一些抓包工具,
抓取请求相应过程中的资源文件)
前台bug注意以下三个方面:
1)网站前台权限控制:没有权限的用户不能直接输入url的方式来进行访问,必须进行登录。以后涉及到权限的测试,一定不能漏掉url的方式也需要验证一下。
而在单个页面进行W3C测试时则需要去掉该权限控制。
2)网站前台的title,对于这个也很容易忽视。进入到不同的功能页面,title显示应该是有,并且要和你进入的页面一致。title就是在浏览器最左上角看到的那些文字
3)http和https的注意点:
https是一种安全链接,需要证书,所以在系统中客户会要求某些关键的地方希望加上这种安全连接,那么此时你需要注意的是:对于不需要的安全链接的地方千万也要去
重点测试,有些开发会很容易忽略这一点。
要打开HTTPS开头的网站,前提是该网站安装了SSL证书,只有安装了SSL证书的网站,并且开启了443端口,你才可以通过HTTPS加密协议无访问;如果没有则不能访问。
比如在某个网站http协议后面加个s去访问,看能否访问成功,能成功,会显示绿色安全小锁,否则就不能访问。
2.后台bug定位:根据后台日志文件
系统使用secureCRT进行日志获取,或者服务器控制方面的操作(关闭和重启)
重启的一般情况:
1)热部署 (新增部分功能,或者修改部分bug)2)发布新版本 (整个系统)3)内存溢出,此时重启服务器即可
由于项目中有线程程序,./shutdown脚本关闭tomcat程序,不能把启动的线程全部关闭,造成服务器启动线程未关闭的错误。
Linux系统中重启Tomcat的一般步骤:(一般是先关闭进程,然后进行重启 ,如果/要删除某个文件:rm 文件名,或者不为空的文件夹:rm -rf 文件夹名)
cd usr/local/ //测试服务器名称/bin
ps -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,COMMAND
ps -ef 是用标准的格式显示java这个进程
显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD)
3.如何查看日志?
一台服务器可以部署多个应用:
cd usr/local/测试服务器名称/logs //查看先进入到服务器的logs目录下
tail -f catalina.out //监视catalina.out 文件的尾部内容(默认10行)
4.日志中常见的问题
获取日志文件中常遇到的问题:
1)编码问题:tomcat是新的,需要改编码 修改tomcat的server.xml文件
特别是windows下的项目重新部署到linux系统下,
2)空指针:程序问题,一般没有考虑到为空情况,或者主外键约束的数据为空,或者删除关联数据,导致为空
3)长度过长,超过最大长度,测试环境修改数据库字段长度后生产环境未修改,导致报错!!
4)非法数据:
5)内存溢出:重启
5.一般的问题原因总结:
程序:为空判断,增删改查,不同公众号调用的接口也不一样
数据初始化:数据库表结构和数据初始化,权限配置,
特别注意生产环境上的用户数据修改,此时用户在使用,很重要!!!
故障无法重现时:
1)看日志,根据日志定位原因,则在测试环境中按照日志提示构造条件相同的测试案例测试,尝试在测试环境中将问题重现。
2)测试环境和配置与实际的工程环境和配置有哪些差异等等。同时主动与开发负责人、工程实施人员以及有经验的项目经理讨论,分析可能导致的原因。
测试环境ok,生产环境新增时保存失败,查看后台日志报长度溢出,数据库内容字段要求和生产环境不一致!!
6.辅助工具:linux和SQL
linux查看日志
SQL用来筛选数据或直接进行数据修改状态,多用于集成测试过程中前后流程相连接
三.浏览器兼容性和网页规范标准测试
浏览器兼容性测试(偏主流浏览器,如谷歌,火狐,IE8以上):
https://dev.windows.com/en-us/microsoft-edge/tools/staticscan/
W3C网页验证:(判断网页书写是否符合规范,记住此处必须去掉权限控制,单个单元页面url需要跟参数)
https://validator.w3.org/
W3C手机端页面检测(如手机微信菜单下的页面):
https://validator.w3.org/mobile-alpha/
互联网测试与传统测试的区别
1.最大的不同:互联网产品需要自己部署和运营,用户使用瘦客户端(浏览器,app或一个需要安装的client),核心的数据和业务逻辑在互联网公司的机房,在IDC,在云端。
如:我们做的系统用户只需一个浏览器,服务器用的阿里云,部署和运营只需要一个运维人员即可。
考虑现网(生产环境)存在下面两个问题:
(1)如何发布功能到现网
互联网测试完一般可直接发布,测试周期短,有时候需要进行灰度发布,先让部分用户用起来,发布完做生产验证。
(2)如何保证测试环境和生产环境同步
测试环境比较难搞,拿我们做的懒企鹅来说,牵扯的系统平台比较多,用到很多微信平台的接口,这个很难自己搭建或者用mock。
另外保证测试环境和到生产环境都是好的,需要代码和数据库,以及环境配置都要保持一致,这需要相应的机制和工具来验证和同步。
2.互联网产品节奏很快
有的软件公司,基本是进行二次开发,周期长,每次都需要经过下面几个完整的测试流程:
客户提出需求–BA和客户沟通,确定需求和解决方案–测试人员根据需求说明书和解决方案编写测试用例、进行概要评审、进行详细设计评审、开始测试、回归测试、生产验证。
现在的互联网产品测试基本为:
产品经理确定好测试需求–开发人员写详设-(此阶段可以进行设计bug检查)–开发人员开发–测试人员测试,上线
来不及测试设计,来不及自动化,短时间内如何保证测试的覆盖率和质量?–(探索式测试应势而生)
3.更多的人参与到测试中
互联网公司有专门的测试团队的比较少,一般开发和测试比例: 7:1,如何保证质量?
1)开发人员的自测
开发人员进行单元测试,测试用例的通过率,同一个版本拉代码的次数
2)产品或运营人员的体验
在这里基本我就相当于用户,进行产品体验,或者根据免费试用者反馈的意见进行优化
3)发布之前的评审
注意环境,配置,数据方面的问题
4.有一些是免测试的
并不是所有发布到生产环境的东西都需要在测试环境检验,如:图片样式改动,小bug修复,但是哪些免测是个复杂的问题
5.海量用户带来的挑战
1)性能方面
如何做轻量级的性能测试
2)浏览器的兼容性
现在的系统大多基于主流的火狐,谷歌,IE8以上,放弃浏览器兼容就等于放弃一部分客户。
6.测试工具和技术方面
传统的企业花钱购买商业软件,如QTP,loadrunner,或者自己开发的项目管理工具
大部分的互联网公司使用开源或自主研发的,如 selenium,appium,robotium,monkeyrunner,jmeter
相同点:
1.都需要非常熟悉产品和业务
2.都需要了解产品的技术(深度测试方面性能分析,内存泄露,web服务器,cache,代理)
3.具体的测试技术
4.测试设计的方法
5.测试人员的技术体系
学习资源分享
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
【软件测试】如何定位web前后台的BUG相关推荐
- 如何定位web前后台的BUG
一.对系统整体的了解 Server端:jsp+Servlet+json 数据库:sql.MySQL.oracle等 前台: 涉及到 jstl,jsp,js,css,htm等方面 后台:servl ...
- 工作总结--如何定位web系统前后台的bug,以及bug分析/测试感想
对于web项目前台和后台bug定位分析: 一. 系统整体了解 懒企鹅营销服务平台用的架构: web前端: Bootstrap 3.0 组件丰富,兼容性好,界面美观 Server端: jsp+Servl ...
- tomcat 404错误 原因_软件测试人员定位bug原因的10大妙招分享
作为一名软件测试人员,日常工作与bug是息息相关的.在发现bug之后,首先要做的就是定位bug,确定bug的存在,然后才是分析bug产生的原因并解决bug. 无论是自己找到的bug,还是开发修复后告诉 ...
- 《软件测试实践--测试Web MSN》 之我的学习笔记(一)
开篇话: 对于软件测试,对于一名大三的学生来说,我了解的确实不多,也很不全面,可以说是从学长学姐得到一些有些以偏概全的观点: 比如: 1.测试比开发要求的技术门槛要低,简单地来说,测试人员只需要轻点鼠 ...
- 软件测试培训分享:如何划分bug的严重级别
软件测试工程师在工作中,最常见的就是遇见bug,那么所有的bug都是有轻重缓急的,如何划分bug的严重级别呢?本期软件测试培训分享教程就为大家做下详细的介绍. 软件测试培训分享:如何划分bug的严重级 ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- 软件测试项目实战(Web项目)
软件测试项目实战(Web项目) 下载地址 资源介绍 共5天的测试项目实战讲解,大小4G.仅供软件测试人员学习交流参考,不可用作其他商业用途. 内容展示
- linux 网站目录在哪里,Linux服务器如何快速定位WEB路径
在虚拟主机服务器上有很多的网站,当我们需要通过某种途径搞到webshell时却找不到路径,那么我们应该怎么办呢?接下来就一起去看看Linux服务器如何快速定位WEB路径的内容吧. 不过不要气馁,还是有 ...
- 【软件测试】全网火爆,实战Web项目前后台的bug定位(超详细)
目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...
最新文章
- 第一个kbmmw for Linux 服务器
- 新浪短链api java_php调用新浪短链接API的方法
- 二分图的最大匹配 匈牙利算法
- Python控制台英汉-汉英电子词典
- python数据科学-数据预处理
- boot lvm 分区_LVM磁盘逻辑卷管理
- 如何用T—SQL命令查询一个数据库中有哪些表?
- 允许更新此预编译站点的作用
- html中半圆怎么写,html 中画半圆的方法
- 010 editor 应用templates分析ELF和dex文件
- Spring MVC 第一个HelloWorld程序
- pycharm2019+破解补丁
- LeetCode 0699.掉落的方块
- 计算机网络(学习过程中--持续更新)
- 【算法】NP完全问题以及世界数学七大难题
- ggplot2-为可视化建模2
- uniapp微信小程序video全屏苹果xs
- 基于大数据的保险商业模式
- 工业云到工业互联网平台的发展之路|中机智库
- 分糖果游戏c语言程序设计,C语言实例 10个小孩分糖果
热门文章
- 减少2021年度汇算清缴补税
- Linux更新和设置系统时间
- Excel 函数大全之查找和引用函数 01 ADDRESS、AREAS、CHOOSE 、CHOOSECOLS、CHOOSEROWS、COLUMN 、COLUMNS教程含使用方法
- INF443 Amphi 2: Calculs d‘Illumination
- POI设置excel样式
- GNU Trove trove4j
- hlsl函数 ddx ddy
- 吸血鬼数字java_吸血鬼数字
- 认识你7年后终于领证了 2019-09-16
- 7周入门数据分析:(2)分析界的No.1——Excel