测试开发知识点(二)

传送门

测试开发知识点(一)
测试开发知识点(二)
测试开发知识点(三)
测试开发知识点(四)
测试开发知识点(五)

Web手工测试

Web基础知识

59、 了解网络基础

【参考】TCP/IP协议简述
https://blog.csdn.net/u010785091/article/details/78791543
【参考】TCP/IP协议、HTTP协议、SOCKET通讯详解
https://www.cnblogs.com/jking10/p/5525519.html
【参考】网段划分
https://blog.csdn.net/lvyibin890/article/details/80181443
【参考】什么是POP3、SMTP和IMAP
http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html

60、 了解防火墙

【参考】Windows防火墙配置
https://blog.csdn.net/qq_33633013/article/details/81912721
【参考】配置Windows 防火墙,允许SQL Server的远程连接
https://www.cnblogs.com/hgmyz/p/6405478.html

61、 了解浏览器

【参考】浏览器缓存机制详解
https://www.cnblogs.com/slly/p/6732749.html
【参考】chrome--浏览器调试工具详解
https://blog.csdn.net/qq_27056805/article/details/86383032

62、 URL地址的组成

1)协议名(http或https)
2)网站域名或者服务器IP
3)端口号(如果没有端口号的话,说明使用的是默认端口80或者443)
4)资源路径
5)参数列表

如果是传统格式的话,参数之间使用&隔开,比如:

http://192.168.0.153:8080/myweb/load.do?keyword=1176&status=1

如果是RESTful风格的话,参数是在资源路径里面的。比如:

http://nba.sports.163.com/team/1000000027/stat/

【参考】关于HTTP协议
https://www.cnblogs.com/ranyonsue/p/5984001.html
【参考】IP地址详解
https://blog.51cto.com/6930123/2112403
【参考】IP与域名的关系
https://blog.csdn.net/yanyanwenmeng/article/details/82705616
【参考】常用服务的端口号
https://blog.csdn.net/weibo1230123/article/details/82107104
【参考】端口号的作用
https://blog.csdn.net/flying_man_/article/details/79392923
【参考】URL详解
https://blog.csdn.net/tao546377318/article/details/69325972

63、 http请求的组成(掌握)

请求地址
请求方式(GET, POST, PUT, DELETE)
请求消息头
请求消息主体
【参考】Http消息头中常用的请求头和响应头
https://www.cnblogs.com/widget90/p/7650890.html
【参考】Http请求中Content-Type
https://www.cnblogs.com/klb561/p/10090540.html

64、 http响应的组成(掌握)

响应消息头
响应消息主体

65、http响应时间的组成

66、 http响应结果码(掌握)

200:处理成功
301:重定向(告诉浏览器请求的页面已经不存在了,请使用新的地址访问)
302:重定向(用户没有权限访问该页面,让浏览器跳转到登录页面)
404:请求的页面找不到(请求的地址错误)
403:没有访问权限
500:内部错误(后台报错),比如:空指针异常,数组越界异常,数据库连接超时等

【参考】http状态码301和302详解及区别
https://blog.csdn.net/zhouchangshun_666/article/details/79354193

67、 http和https的区别

【参考】HTTP与HTTPS的区别
https://www.cnblogs.com/wqhwe/p/5407468.html

68、 GET请求和POST请求的区别(掌握)


Cookie, Session和Token

69、 Cookie和Session的区别

70、 了解Token技术

【参考】Java实现基于token认证
https://blog.csdn.net/kkkun_joe/article/details/81878231
【参考】Token身份认证
https://blog.csdn.net/sinat_22013331/article/details/79382367


Web手工测试使用到的测试工具

71、Web功能手工测试用到的工具

1)xenu(测试链接)
2)数据库客户端工具 navicat premium(查看考勤系统的登录账号,导入考勤的数据)
3)浏览器自带开发调试工具(抓包分析是否存在 404 的请求)

72、Web系统性能(等待时间)手工测试用到的工具

浏览器自带开发调试工具(抓包分析响应时间,请求资源文件的大小)

73、Web后台性能(Linux 服务器的 cpu 和内存)实时监控用的的工具

top 命令

74、Web兼容性手工测试用的的工具

Firefox(最新版本),IE(最新版本),Chrome(最新版本),Safari(最新版本)等主流浏览器

75、Web安全性手工测试用到的工具

浏览器自带开发调试工具(抓包分析敏感数据是否被加密)


Web手工测试的测试点

74、 Web功能测试(包括界面)(掌握)

比如:
1)页面的测试(界面是否与原型图一致,并且检查页面数据的正确性)
2)表单的测试(合法的输入和非法的输入,表单提交后检查实际的数据是否与录入的数据一致)
3)Ajax请求的测试
4)商品库存数量为1,使用LoadRunner或者JMter模拟两个用户同时(并发)下单的情况
【参考】常用输入框的测试用例汇总
https://blog.csdn.net/amazingcode/article/details/83717693
【参考】表单输入框的测试点:
https://testerhome.com/topics/10306
【参考】登录注册的测试点:
https://www.cnblogs.com/hkgov/p/7451548.html
【参考】购物车怎么测试:
https://www.jianshu.com/p/4ebb1988ca00

75、 Web性能测试

比如:网页加载、系统响应的速度、图片等资源文件的大小
注意:系统刚上线的时候,由于数据比较少,速度一般都比较快,但是两三年后,后台的业务数据量很大,系统一些功能的响应速度可能会变慢(比如:搜索很慢,保存很慢等等),系统的性能缺陷就会暴露出来,系统响应慢的可能原因包括:
1)数据库的原因(缺少索引,sql代码的执行效率比较低,修改操作引起的索引更新比较占时间等等)
2)后台代码的执行效率低(需要优化)
3)前端代码(比如JS程序)的问题
4)环境问题(比如:网络不稳定、软件配置不合理)
5)硬件问题(系统老化,磁盘读写效率低)
6)架构设计问题(比如:没有使用缓存技术,给后台服务器或者数据库服务器造成的压力比较大)

76、 Web安全性测试(了解)

1)敏感数据是否被加密(比如:账号的登录密码需进行加密保存到数据库里面,请求消息里面的敏感数据须加密,以及响应消息里面的敏感数据须加密)(掌握)
2)非登录状态下,不能通过URL地址的方式进入到相关业务的页面(能够自动跳转到登录页面)(掌握)
3)对登录模块的密码策略进行验证(掌握)
4)连续登录失败达到一定的次数后,检查账号是否被冻结(掌握)
5)检查登录系统是否需要输入验证码(掌握)
6)使用拥有不同角色的账号分别进行测试(检查用户的功能权限和数据权限是否正确)(掌握)
【参考】权限测试点
https://blog.csdn.net/Do_fang/article/details/49892869
【参考】权限管理详解(权限管理原理以及方案)
https://blog.csdn.net/u013087513/article/details/74979321
7)权限过期的情况(检查用户是否仍可以使用这些权限)
8)检查系统是否存在密码破解的漏洞(了解)
9)获取手机短信的验证码,需要先输入检验码
目的是为防止用户通过自动化脚本恶意调用发送短信的接口来攻击后台并且骚扰手机用户

测试开发知识点(二)_第1张图片
image.png

10)购物车里面下单之前,普通用户是无法修改总金额的,但是有技术背景的用户可以使用浏览器自带的开发调试工具恶意地去修改表单里面的总金额(比如修改为1.0元),然后下单,看看最终产生的订单的支付金额是否也是1.0元。
11)检查系统是否存在SQL注入的安全性漏洞(了解)
【参考】DVWA-1.9全级别教程之SQL Injection
https://www.freebuf.com/articles/web/120747.html
【参考】SQL注入攻防入门
http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html
12)检查系统是否存在命令注入的安全性漏洞(了解)
【参考】Web安全性测试实践
https://www.jianshu.com/p/ba8f98216b33
13)检查系统是否存在被CSRF攻击的安全性漏洞(了解)
14)检查系统是否存在验证码的安全性漏洞(了解)
15)检查系统是否存在文件包含的安全性漏洞(了解)
16)检查系统是否存在文件上传的安全性漏洞(了解)
【参考】文件上传漏洞
https://blog.csdn.net/fly_hps/article/details/80781196
【参考】DVWA-1.9全级别教程之File Upload
https://www.freebuf.com/articles/web/119467.html
17)检查系统是否存在被XSS攻击(存储型)的安全性漏洞(掌握)
18)检查系统是否存在被XSS攻击(反射型)的安全性漏洞(了解)
19)检查系统是否存在缓存溢出的安全性漏洞(了解)
【参考】缓冲区概念及缓冲区溢出
https://blog.csdn.net/zhengweiwei8608/article/details/6649716
【参考】缓冲区溢出攻击实验
https://blog.csdn.net/blackturtle/article/details/72768224
20)检查系统是否存在被DDoS攻击的安全性漏洞(了解)
【参考】DDOS攻击简易介绍
https://blog.csdn.net/fly_hps/article/details/79915142

77、 Web兼容性测试

了解当前哪些浏览器是主流,挑选前面3-5个左右的浏览器进行兼容性测试(一般选3个左右就差不多了,项目时间允许的话可以做得更多)

Edge, IE, FireFox, Chrome,Safari, 360浏览器, UC浏览器, QQ浏览器等
https://www.jd.com
https://m.jd.com
https://www.taobao.com
https://h5.m.taobao.com
HTML5: 用于手机端Web开发,以及app开发

同浏览器的不同版本也要进行兼容性测试(一般测试最新版本)
兼容各种分辨率(检查界面是否会出现问题)
比如,在分辨率较低的电脑的浏览器上面打开该网页,发现某块区域显示的内容是不完整的。
界面上元素功能是否正常、排版布局是否合理美观,这是兼容性最最最重要的测试范围
在不同浏览器中或者是同一浏览器不同版本里需要对哪些界面功能进行兼容性测试?
1)网页元素位置是否混乱与错位
2)功能按钮(增删改查、导入导出、超链接、清空)等等
3)各种控件的检查:日期和时间控件、搜索控件
【参考】兼容性测试介绍
https://www.cnblogs.com/fang1109/p/4977995.html

78、 Web易用性测试

用户体验


移动App测试

App分为两大类:
一类是安卓应用(安装文件后缀名为apk),另一类是iOS应用(安装文件后缀名为ipa)
注意:安卓app开发使用的编程语言是Java

移动App项目涉及的平台及技术框架

79、安卓版app客户端开发使用的开发技术(框架)和开发语言?

80、iOS版app客户端开发使用的开发技术(框架)和开发语言?

81、app项目后台使用的开发技术(框架)和开发语言?

82、app项目后台应用服务器的操作系统?app项目后台使用的服务器软件是?(tomcat, nginx还是apache)

83、app项目后台数据库服务器使用的是?(SQL SERVER还是其他)

84、 App原生开发、混合开发

【参考】浅谈App原生开发、混合开发及HTML5开发的优劣
https://blog.csdn.net/mpegfour/article/details/78171150?tdsourcetag=s_pctim_aiomsg
【参考】教你判断一个APP页面是原生的还是H5页面
https://www.25xt.com/appdesign/11851.html


移动App测试的测试点

实际工作中主要是做功能方面的测试;
客户端性能测试:手机cpu,手机内存,耗电,散热;
后台性能测试怎么测的;
界面怎么测的;
兼容性怎么测的;
安全性测试:敏感数据的加密,权限;
易用性;
交叉事件;
安装、卸载、升级。
【参考】app测试方法总结
http://www.cnblogs.com/ydnice/p/5783886.html
【参考】APP测试要点及常见Bug分类
https://blog.csdn.net/BeeTest_FH/article/details/79035647

85、 app功能测试(针对业务)(掌握)

1)有没有404(not found)的请求
2)界面检查(样式)
3)输入正确的情况
4)输入错误(数值过大,数值过小,内容过长,格式错误,必填项为空等)的情况
5)检查数据的正确性
6)页面上的菜单功能是否正常(点击后能否进入到对应的界面)
7)网络发生异常的情况
8)发生交叉事件的情况(比如:电话打进来,有短信过来)
9)应用和后台之间的来回切换
10)应用和其他应用之间的来回切换
11)应用能否正常调用摄像头,访问通讯录,访问相册,GPS定位
12)支付功能可以正常调用支付宝,微信
13)先锁屏然后再解锁
14)触屏事件(划屏,长按不放等)
15)横竖屏切换的情况
16)并发操作的情况
比如:
输入特殊字符(换行符,单引号,双引号,分号,星号等)的情况
输入为空的情况
输入过长的情况
输入JS脚本的情况
输入的账号被占用了,注册失败
金额输入框里面只能输入数值
日期控件里面只能输入日期格式的数据
使用fiddler抓包工具(或者chares工具)检查有没有处理失败或者超时的请求
上传附件(图片),上传成功后,检查能不能下载,能不能显示,其他的格式是不能上传的
商品库存数量为1,使用JMter模拟两个用户同时(并发)下单的情况

86、 app性能测试

app的性能分为服务器端(后台)的性能和手机端的性能。
服务器端的性能,可以用LoadRunner或Jmeter工具进行测试。

以Jmeter工具为例子说一下App服务器端的性能测试的思路:
1.确定app的性能测试功能点,比如,查询,提交数据,登陆这些用户常用的功能,一般会被选来做性能测试;
2.然后,根据该功能点的接口测试需求,或使用fiddler抓包分析请求地址和参数;
3.在jmeter上构造向服务器发送的请求数据;
4.使用jmeter工具开启多个线程(模拟很多手机设备)发送业务请求给后台;
5.做好服务器的监控。

手机端(客户端)的性能测试思路:
1.我们会使用监控工具进行监控
2.运行监控工具,连接自己的手机
3.设定好运行时长,监控内容(一般监控cpu、内存、流量,电量等)
4.待运行结束后,我们根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发定位。
5.响应速度(app请求的响应时间):使用fiddler工具

其他工具:
GT
360手机助手(鲁大师)
安卓SDK提供的monitor工具
adb shell dump meminfo
第三方测试平台(腾讯云,阿里云,testin云测)

【参考】压测-jmeter发送弹幕
https://www.jianshu.com/p/6359dcb9c0a9
【参考】app性能测试需要关注的指标
https://www.jianshu.com/p/bfa86847f81e
【参考】利用GT做iOS App性能测试
https://sq.163yun.com/blog/article/180751734243418112
【参考】App 性能测试指标和测试方法
http://www.mamicode.com/info-detail-2326939.html
【参考】性能测试工具
https://blog.csdn.net/qq_32334955/article/details/81901904
【参考】性能测试总结
http://www.cnblogs.com/chongyou/p/5374406.html
【参考】性能测试知识
https://www.jianshu.com/p/b0ba67996170
【参考】性能测试介绍
https://www.cnblogs.com/hyh-test/p/8629555.html
【参考】性能测试点
https://blog.csdn.net/xiaomaoxiao336368/article/details/83547318

87、 app安全性测试(了解)

数据安全:App本地存储的数据和网络请求数据中有没有涉及到用户的隐私数据。
权限检查:一般用户对自己的隐私问题十分敏感,因此,我们需要对APP申请某些特定权限的必要性进行检查,如访问通讯录等。对于没有必要的权限,一般都建议开发直接移除。
组件安全:APP安全测试的会涉及的组件包括WebView,和android四大组件Activity、Service、Broadcast Receiver、Content Provider。对于组件测试可以借用工具或第三方平台(爱内测)进行测试。
SQL注入漏洞:SQL注入安全同样借用第三方平台(阿里云测)进行测试。

参考资料:
https://blog.csdn.net/xia_xia0919/article/details/50502224
https://www.jianshu.com/p/d79a30a7ed94

88、 app安装卸载测试

【参考】app安装、卸载、更新测试点:
https://blog.csdn.net/luck_yyf/article/details/78481785

89、 app升级测试

升级后,用户数据不会被删除,个人设置不会被还原。

90、 app兼容性测试

使用不同的平台进行测试:安卓6, 安卓7, 安卓8, 安卓9; iOS9, iOS10, iOS11
【参考】如何保证APP兼容性覆盖测试
https://www.jianshu.com/p/c3ba4e3b2f0a

91、 app易用性测试


移动app手工测试使用到的工具

92、 安卓版app功能手工测试使用到的工具

1)数据库客户端工具 navicat premium(查询账号数据,测试数据的导入)
2)adb shell logcat(日志定位)
3)fiddler 工具(抓包分析是否存在 404 的请求)
注意:
1)adb工具(命令)是安卓SDK自带的工具,如果要使用adb命令,电脑上需要先安装Android SDK.
2)logcat是安卓系统自带的工具(就是一个命令),也就是说安卓手机上已经安装好了。
【参考】使用logcat抓取安卓日志
https://www.jianshu.com/p/ae7911378dda
【参考】fiddler抓取数据并分析
https://blog.csdn.net/two_water/article/details/71106893
【参考】如何使用fiddler设置断点
https://blog.csdn.net/github_36032947/article/details/70312642

93、 安卓版app客户端性能(响应速度)手工测试使用到的工具

fiddler(抓包工具)(测响应时间,请求资源文件的大小)

94、 app客户端性能(app 对手机 cpu 及内存的占用)手工测试使用到的工具

1)查看cpu占用

adb shell dumpsys cupinfo;

2)查看内存占用

adb dumpsys meminfo;

95、 安卓版app客户端性能(cpu, 内存,流量,耗电等)手工测试使用到的工具

1)腾讯 GT
2)网易 Emmagee

96、 后台性能(Linux 服务器的 cpu 和内存)实时监控的工具

top 命令

97、 app安全性手工测试使用到的工具

fiddler 工具(抓包分析敏感数据是否被加密)

98、 app兼容性手工测试使用到的工具

Android 8 测试机, Android 9 测试机,iOS11 测试机,iOS12 测试机

94、 adb工具

使用adb命令安装安卓app
使用adb命令卸载安卓app
查看安卓app的包名和首页的Activity名

96、了解移动支付的测试工具

使用沙箱或者mock来模拟第三方支付平台。
【参考】测试开发系列之Python开发mock接口
http://www.nnzhp.cn/archives/358
【参考】微信支付验收指引
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1&index=1

97、 安卓手机屏幕怎么与电脑屏幕同步连接

参考资料:
https://zhinan.sogou.com/guide/detail/?id=316512372136

98、 iOS如何实时查看App运行日志

参考资料:
https://mini.eastday.com/mobile/170719130305501.html

99、 了解自动化兼容测试平台

https://wetest.qq.com/product/auto-compatibility-testing

移动app测试经验

100、app测试快速定位问题的方法

参考资料:
https://note.youdao.com/share/?id=5a7e5a91ef3e4f8ae3db9114d9820529&type=note#/

101、 app测试和web测试的区别

参考资料:
https://www.jianshu.com/p/1e81ddd43a5f

102、 App测试常用技巧

参考资料:
https://www.jianshu.com/p/17787b9c905d

103、 adb命令查看app的日志

参考资料:
https://blog.csdn.net/hhy_123963/article/details/80609793

104、 adb devices unauthorized(未授权)怎么办?

参考资料:
https://jingyan.baidu.com/article/b2c186c81623bec46ef6fff7.html


接口手工测试

接口一般包括:HTTP接口(也叫RESTful接口)和WebService接口
RESTful 接口手工测试的工具
功能:postman(发送请求,接收响应,验证)
WebService 接口手工测试的工具
功能:soapUI(发送请求,接收响应,验证)
性能:soapUI(模拟并发)

105、 Postman工具(掌握)

发送HTTP请求,接收HTTP响应,验证
【参考】Postman用法简介
https://blog.csdn.net/flowerspring/article/details/52774399
【参考】postman官方教程
https://www.getpostman.com/docs/v6/postman/sending_api_requests/requests
【参考】使用postman测试接口时需要先登录怎么办
https://blog.csdn.net/pengbin790000/article/details/79386500
【参考】postman登录鉴权,获取token后进行其他接口测试
https://blog.csdn.net/qq_42512064/article/details/81034744
【参考】接口测试知识点
https://blog.csdn.net/dubinglin/article/details/78553242
https://www.jianshu.com/p/88f114efa0a0
https://www.cnblogs.com/bell1991/p/7241173.html

106、 使用什么工具格式化服务器返回的JSON格式的数据(掌握)

在火狐浏览器上安装json插件,然后使用浏览器打开


测试开发知识点(二)_第2张图片
image.png

107、 了解SoapUI工具

发送WebService请求(报文),接收WebService响应(报文),验证
参考资料:
https://www.jianshu.com/p/f88cb5f2a108

108、 什么是WebService接口

WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。另外,WebService报文的格式是xml格式的。

传送门

测试开发知识点(一)
测试开发知识点(二)
测试开发知识点(三)
测试开发知识点(四)
测试开发知识点(五)


微信扫一扫关注该公众号【测试开发者部落】

image.png

点击链接加入群聊【软件测试学习交流群】
https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号: 511619105

你可能感兴趣的:(测试开发知识点(二))