工具总结:
网站兼容性测试工具:multibrowser
Cookie工具:iecookiesview
超链接工具:xneu,http link validor
http协议的请求相应抓包工具:httpdebugger pro
服务器:tomcat
安全测试工具:nmap(主机端口服务os等嗅探),scrawlr(sql注入工具)
性能测试工具:ab,jmeter,lr,qtp,百度统计和排名www.alexa.cn网站
Web:通过浏览器访问服务器, B/S 架构
Web技术学校网站:www.3cschool.com.cn
安装apache,不要有中文和空格在路径中,httpd的conf文件中设置端口号;工程要部署在htdocs文件夹下;
Web的地址:域名,需阿里云购买,阿里云还可以购买服务器,还有很多其他网站可以购买域名和服务器。域名与服务器是映射关系,一个域名可以对应多个服务器,一个服务器也可以对应多个域名。云服务器一般是centos,远程访问去部署服务器,
开关网络服务:service httpd start, service httpd stop, service httpd restart,
查看端口:lsof –i:80
Web应用架构:浏览器,web服务器,应用服务器,数据库,存储设备
大型的web应用,如天猫淘宝双11,用LB 负载均衡,将请求可以均衡到不同的服务器;
技能:安装apache,部署web工程,查看网页源码F12;
Cookie: 名称,值,超期时间
Web测试:两大板块,五大技术领域;
两大板块:UI测试,如门户,业务测试如电商,
五大技术领域:功能,自动化,性能,接口,安全;
UI测试:外观及用户交互部分的测试,包含:
页面布局,文字内容及大小,滚动条,对其他语言的支持,tab翻页,各种链接有效,
图片:大小,清晰,含义正确,链接有效正确,风格一致,按含义合理分类布局,颜色搭配合理,图片无法显示时容错处理,提示信息错误;
内容测试:价格,符号,语法,拼写,逻辑,习惯做法,
浏览器兼容性测试:
表单测试:登录注册,查询,订购,信息记录,背后就是在对数据库进行增删改查。
提交—重置,邮件联系---邮箱登记,数量—负数、小数、特殊符号、上限、非数字----错误提示,页面的右键功能,添加----非空、相应输入框控制,批量操作,翻页操作,
验证码测试:大小位置,刷新,点击,错误提示,大小写,显示速度,完整性,更换速度,
整体思考测试点,反向思考测试点,
Cookie测试:存储用户访问网页的信息记录,下次访问网页会根据用户历史记录提供特定内容给用户,
有的网站要求一定要用cookie,那么就要测试不同cookie设置下网站是否正常使用,一般情况下即使cookie设置高,不能影响网站的使用,最好是有相应提示;
Cookie设置:工具—internet选项—隐私—选择internet区域设置,高是禁用
删除cookie:工具—internet选项—常规—浏览历史记录—删除cookie;
Cookie有效期:过了就重新开始;
Cookie与电脑缓存的区别:电脑缓存包含了浏览器缓存和程序缓存,cookie是浏览器缓存的一部分,cookie是服务器主动推送给浏览器的信息,其他浏览器缓存是浏览器主动保存服务器的图片等信息;
工具:iecookiesview
超链接测试:
是否可以打开,链接地址是否正确,打开是否速度正常等等;
Xenu:免费,适用有下载的链接,只能对已经部署的超链接进行测试,缺点不判断下载文件是否正确,
Options设置线程及链接层级及报告内容,
Html linkvalidator:收费,特点是对没有部署的页面也对超链接进行测试,即可测试本机的文件夹里的链接,也可以测试网站上的超链接,绿的是通过的,红色有问题,黄色等待测试,report菜单生成报告;这个软件200多块钱
http协议详解:
dns原理:浏览器访问服务器的详细过程,客户端提出域名请求后,客户端的dns服务器先查本地dns缓存和host文件将网址翻译成IP地址,找不到就查省dns服务器缓存,不行就到全国dns,再找不到就到全球dns去查直到找到为止;
(dns缓存记录的就是域名与ip的对应关系,dns服务端口53)
Localhost对应的IP就是127.0.0.1
http协议是请求/响应协议:就是一问一答的方式,简单快速灵活无连接无状态,
请求:get,head,post,请求行,消息报头,请求正文,
Get: 获取查询资源信息
GET目录 ?参数1&参数2/版本
Host:请求发给的服务器
操作系统版本;
连接状态connection:keep alive 保活
Post:向指定资源提交数据处理的请求;
Get与post的区别:get的消息放在协议头,在网址的地址栏可以看到,且不能超过255个字符否则被切断,而post是放内容在消息体里面,数据大小无限制,故post比get安全,get比post简单快速;
测试点:账号密码的输入框就不能用get方法,要用post方法,否则get方法会把账号密码显示在地址栏里面从而被记录;
测试需了解知识点:前端,后端,协议,接口,web服务器,性能测试工具,
Http协议工具: http debuggerpro6.2 ,显示网站的request和response,定位分析问题,注意适时停止抓包,不然系统死掉
https是加密的,比http安全。
页面响应码:100-199:收到请求,需继续处理
200—299服务器成功接收并处理完成,
300-399,客户端请求的资源已经到了其他地址,并告诉此地址;
400-499:表示客户端的请求有错误
500-599,表示服务端出现错误
常见:200成功,302跳转,400客户端预防错误,403,服务器拒绝服务,404请求的资源不存在,500服务器发送错误
Tomcat安装:
Path是给cmd命令使用的默认环境路径,指到到bin,
Java-home是给tomcat使用的默认环境路径,指到java版本文件夹即可;
环境设置:用户,只对该用户有效,系统设置:对所有用户有效;
先装jdk,把jdk的安装路径给java-home和path环境变量,再装tomcat;
Tomcat的monitor设置一下控制台,
Tomcat目录:bin启动文件夹,conf配置文件夹:server端口名字部署位置是webapps,lib第三方库文件夹,logs主要看localhost本机日志,localhost-access前端访问日志,
部署:安装tomcat,将网站内容部署在webapps中,将数据库内容部署在programdata的mysql的data中,设置tomcat的web-info-class文件中的config文件的数据库驱动路径及账号密码,重启tomcat和mysql服务,
Web问题定位分析(问题排查)
- 网址是否错误,拼写端口
- 网络是否连通,ping命令,服务是否启动;
- 端口是否被占用:netstat –ano|findstr 8080
- 查看日志
Web性能测试
与压力测试区别,测试目的不一样,性能是为了确定在一定负荷下运行速度等性能指标是否符合要求,压力是为了测试得出最大负载能力,
性能环境要求及结果指标:用户量,cpu占用率,内存,用户响应时间
快速解决:换硬件
并发用户数据:系统注册用户数(游客不算),在线用户数(注册,登录和游客),并发用户数是对系统产生压力的用户数量;
严格并发,非严格并发,
请求响应时间:=网络传输时间+服务器处理时间+前端响应时间
事务响应时间:
吞吐量:服务器处理的总数据量,
吞吐率:一秒时间内服务器处理的数据量,
TPS:根据业务来分的,一秒内服务器处理交易或事务的数据量,重要指标,
思考时间,是用来模拟用户操作时消耗的时间
点击率:每秒用户点击次数,
Pv:page view一个网友的浏览量,
Uv:unique visit独立电脑客户端访问量,一天内多次登录只能算作一次,
Ip:一天内同一ip只被计算一次
网站排名:www.alexa.cn 里面有PV,uv,ip等统计,对公网统计,
百度统计:可以统计目标网站的访问情况,注册后新增一个网页,获得代码加入到网页的</head>标签中,与百度统计建立关系进行统计,
RPS:每秒相应请求数,场景:当很多请求并发的时候,新增的请求能否得到响应,
Apache ab, 开源,简单,运营使用,安装了apachehttpd,里面自带
LR并发量收费,
Apache Jmeter,开源,(简单的性能和自动化测试)
要预先安装JDK,再安装linux版本的jmeter,打开bin的jmeter.bat直接执行
Linux下要先在windows下创建测试计划生产jmx文件传到linux执行
对CPU的测试,多电脑测试TD(test driver)
性能测试流程:性能测试规划(人员,时间)-—环境搭建工具选择—创建
jmeter测试计划(网址协议线程数监控器)---按场景实施测试计划—分析及报告
Jmeter功能组件:线程组,sample,配置组件,逻辑控制组件,前置后置控制器,定时器,断言,监控与报告
介绍:
Sample:动作型元素,根据协议,beanshell sample自己写动作, http是进行网页网站测试,soap接口测试,
逻辑控制器:运行一次还是多次,循环一次还是多次,固定控制器(思考时间),操作逻辑的控制;
配置控制器:配置网址,端口等;
断言:将得到的结果与预期比对,从而发现和定位问题,常用响应断言
监控组:聚合报格,查看结果树,
不支持同时两个测试计划运行
组件的作用域:放在线程组上面则时全局作用域,如果在某组件下面则作用域只在此组件内,
Jmeter脚本录制与回放:badboy,自带录制功能(创建一个代理)
Jmeter创建代理:先在工作台上添加一个代理服务器,在internet选项—链接—代理服务器:127.0.0.1,8090,jmeter工作台中启动代理,cmd查端口监听;
将代理器的目标控制器改成测试计划—线程组,就可以在线程组里录制一个网页登录过程。
Web安全测试
- 防范被破解密码:
Web系统的账号密码不要太容易猜,linux/unix:root,windows:admin,管理员账号密码禁止被登录,登录后再切换到管理员账号,
Ssh服务器如何禁止管理员登录?
密码复杂度:大小写,字母数字组合,不少于8个字符等规则,
连续3次输错密码锁定30分钟;
- 内部安全:服务器机房监控、出入登记、防静电处理、服务器密码动态管理,
- 安全需求:防止危险状态的措施:root用户不能远程登录服务器只能普通用户登录后切换root,或者屏蔽哪些ip段;
- 安全设计:加密算法,安全架构,容错,冗余,
- 方法:功能安全性验证,漏洞扫描(nmap,Sql注入),模拟攻击(发数据包或猜密码),
- Web安全组织:wasc,web安全威胁分类,
- 常见web安全(百度解决办法):
桌面漏洞:windows,linux操作系统漏洞
服务漏洞:apache,tomcat服务器漏洞,
Web服务器虚拟托管:阿里云服务器,http代理服务器,
网页内可嵌入对象,
密码过于简单
移动网站的破解插件
伪基站攻击:
SQL注入:将sql输入截获并处理(对输入数据做限制)scrawlr
Nmap:linux下网络扫描和嗅探工具,用以评估网络系统安全(在线主机,操作系统,端口,服务)
多浏览器测试:multibrowser,支持主流浏览器并可进行对比,