软件测试基础题目
目录
1、 简述软件测试流程
2、 测试的方法
3、 测试用例的要素
4、 测试用例的编写方法
5、BUG的类型
6、BUG的要素
7、测试计划包含哪些内容
8、测试报告包含哪些内容
9、验收测试
10、回归测试
11、冒烟测试
12、HTTP的请求方法
13、GET和POST的区别
14、HTTP的状态码
15、HTTP请求报文具体包含哪些
16、HTTP响应报文具体包含哪些
17、登录态/认证机制有哪些
18、字段的类型
19、参数的格式
20、Fiddler为什么能抓包
21、Fiddler怎么抓HTTPS的包
22、Fiddler怎么抓APP的包
23、Fiddler的作用有哪些
24、Fiddler断点使用,以及在哪些场景下使用
25、APP测试点
26、APP和Web测试的区别
27、微信朋友圈点赞测试点 28、电商主流程
29、购物车测试点
30、怎么判断前后端做验证
31、开发不认可的BUG
32、BUG的追踪
33、软件的环境
34、兼容性测试怎么做的
35、后台管理系统的重要模块
36、订单的流转状态
1、简述软件测试流程
在平时的工作中,我之前的公司是这样的:
产品在开需求会议前,会先把需求文档发给大家,让大家先去熟悉需求,然后召开需求评审会议,在需求会上,由产品先把需求文档整体过一遍,然后开发及测试人员提出自己的疑问点和建议,做出工作进度预估。
然后产品会把完善好的需求文档发给大家,开发拿到以后开始研发,我拿到以后,会先整体去了解,然后根据经理分配的模块有针对性的重点分析、了解。根据自己负责的,开始写测试用例,我一般都是先用xmind脑图工具去整理一下思路,想一下大致范围,然后再用excel表格进行填充。
然后写完测试用例后,我们会召开测试用例评审会议,在会上产品和开发都会去参加,我回去给大家描述一下测试用例及测试点,大家会根据我的测试用例以及需求文档提出建议,查漏补缺完善思路。
然后我会根据会议中的意见完善自己的用例,等到开发完成以后,到达提测时间,我会先根据测试用例跑一下主流程看看能否走的通,如果没问题的话,就根据测试用例开始测试,用禅道记录缺陷,查看BUG的状态,及时回归,及时反馈。
2、测试的方法
单元测试、功能测试、性能测试、集成测试、回归测试、系统测试、验收测试
3、测试用例的要素
测试用例编号、测试标题、所属模块、测试需求项编号、用例状态、前置条件、优先级、操作步骤、预期结果、实际结果、用例设计者、设计日期
4、测试用例的编写方法
等价类、边界值、错误推导法、场景法、因果图、判定表
5、BUG的类型
功能类、界面类、性能类、兼容类、安全类
6、BUG的要素
bug标题、短描述、重现步骤—详细步骤、实际结果、预期结果、bug类型和严重程度、bug测试环境、附件(截图/录屏)
7、测试计划包含哪些内容
测试计划:测试范围,测试策略,计划的起止时间,测试人员的安排,测试周期,风险评估。测试计划一般是组长编写,但是组长比较忙时,我会帮组长编写
8、测试报告包含哪些内容
测试报告主体(项目名称,人员,对象,时间,用例,实际执行)
测试范围周期及策略,bug优先级及状态,环境配置,遗留问题清单
测试计划一般是组长编写,但是组长比较忙时,我会帮组长编写
9、验收测试
准线上环境uat,产品运营做验收测试,测试人员提供部分测试报告数据,验收完成后会有一份验收报告,验收通过上线,不通过找BUG,修复BUG.
10、回归测试
一般分为全量回归,主流程回归,部分回归,全量回归我们一般都是在大版本情况下,比如1.0到2.0版本,主流程回归一般都是小版本更新的时候,比如1.1-1.2,部分回归是一些新增需求,进行回归,比如收藏商品中的删除以及排序这些需求。在切换环境的情况下,我们一般是进行主流程回归,比如在uat环境,以及上线成功后,我们都会进行回归。在回归的时候,如果出现问题,我们会及时定位问题,让开发去修复。还有关于bug的回归,一般开发修复好bug以后,我会回归bug以及和这个bug 有交互的地方,也会进行回归。
11、冒烟测试
冒烟测试:对主功能进行简单测试,例如注册功能,输入正确的账号密码,注册成功,理论上是开发需要自测,为了防止开发不测,测试拿到版本以后先进行冒烟测试,以免耽误测试时间,通过就根据测试用例详细测试,不通过,返回给开发修复
12、HTTP的请求方法
GET获取资源
POST传输实体主体
PUT传输文件
HEAD获得报文首部
DELETE删除文件
13、GET和POST的区别
1、GET在浏览器回退是无害的,而POST会再次提交请求
2、GET产生的URL地址可以被BookMark(给……保存为书签),而Post不可以
3、GET请求会被浏览器主动给cache(缓存),而post不会,除非手动设置
4、GET请求只能进行URL编码,而POST支持多种编码方式
5、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
6、GET请求在URL中传输的参数是有长度限制的,而POST没有
7、对参数的数据类型,GET只接受ASCII码,而POST没有限制
8、POST比GET更安全,因为GET参数直接暴露在URL上,所以不能用来传递敏感信息
9、GET参数通过URL传递,POST放在RequestBody(请求体)中
14、HTTP的状态码
1表示信息状态码,接收的请求正在处理
2表示成功状态码,请求正常处理完毕,
200-表示从客户端发来的请求在服务端被正常处理了
3表示重定向状态码,需要进行附加操作以完成请求,
301永久性重定向、302临时性重定向
4表示客户端错误状态码,服务器无法处理请求,
403对请求资源的访问被服务器拒绝了、404服务器上无法找到请求的资源
5表示服务器出错状态码,服务器处理请求出错,
500服务器端在执行请求时发生了错误、503服务器超负载或停机维护
15、HTTP请求报文具体包含哪些
- 起始行:
请求方法; URL; 协议版本
- 首部:
内容类型(content-type); host--域名; 登录态:token、cookie
- 主体/body:
有没有,看请求方法,get没有主体,post有主体,主体中都是请求参数,参数可以为空,也可以有多个,参数代表的是每一个需要传递的数据。
参数的形式:键是固定的,值是随意输入的。
16、HTTP响应报文具体包含哪些
A.起始行:
协议版本; 状态码; 状态码信息PS:可以理解为注释
B.头部:
Content-type:application/json;charset=utf-8
- 响应数据:
一定有主体body,包括
格式:message---------注释;
code----状态码-内部开发自己定义的;
Data-----具体返回的数据信息
17、登录态/认证机制有哪些
Cookie,token
18、字段的类型
Int 整型
Float 浮点型
String 字符串
Date 日期
19、参数的格式
Json格式;form表单格式
20、Fiddler为什么能抓包
是一个Web代理服务器,模拟客户端向服务端发送请求
21、Fiddler怎么抓HTTPS的包
需要下载安装ca证书,并信任证书
22、Fiddler怎么抓APP的包
1)电脑和手机处于同一个网络中
(2)fiddler允许远程连接
(3)手机上设置代理服务器,将代理改为手动,将电脑的ip地址填茹服务器中,端口改为8888
(4)然后打开手机浏览器,打开www.163.com
获取手机上的https,手机需要安装fiddler证书,安装成功并信任证书。
(1)电脑和手机处于同一个网络中
(2)fiddler允许远程连接
(3)手机上设置代理服务器,将代理改为手动,将电脑的ip地址填茹服务器中,端口改为8888
(4)然后打开手机浏览器,打开www.163.com
获取手机上的https,手机需要安装fiddler证书,安装成功并信任证书。
23、Fiddler的作用有哪些
抓包,改包,分析包
1.抓取app与web页面的包,抓HTTPs的包
2.查看分析包,查看请求和响应,判断前后端的bug
3.下断点,修改http的请求报文或者修改HTTP的响应报文,改请求和改响应,判断前后端是否做了校验
24、Fiddler断点使用,以及在哪些场景下使用
1 修改请求数据,判断后端是否做了校验
2 修改响应数据,判断前端是否做了校验
3 安全方面,修改金额以及重要信息,判断后端是否做了校验
25、APP测试点
A、功能测试
每个app最重要的测试就是功能测试,功能是app的用处,功能实现不了,其他的测试就没必要了
1、安装与卸载测试
不同andriond系统版本能够进行安装,运行
安装过程是否可以取消
安装取消能否取消成功
重复安装是否提示
从不同的应用市场安装
2、升级
强更新
强制更新,不更新不能用,下次启动时,仍出现提示
软更新
不更新也能使用,下次启动时,仍然提醒
选择后台自动更新
跨版本更新后是否能够正常使用
3、登录
用户名密码错误或漏填能否登录,是否提示
页面有注销按钮
登录超时的处理
退出登录后,下次启动app进入登录界面
4、离线测试
是否支持离线浏览,对于界面数据不能离线查看的,需要给出友好提示
无网络,刷新获取数据,不能获取数据时,是否给出友好提示
离线后恢复网络,是否能够从服务端获取新数据
5、消息测试
权限问题:是否同意打开消息通知(状态栏),默认开关时打开的状态
不授权推送消息时,用户不会受到推送消息
2、UI测试
页面是否美观
文字是否正确
友好提示
文字图片组合是否完美,操作是否友好
菜单,对话框,窗口,控件布局是否满足需求
按钮是否满足需求
3、兼容性测试
app的兼容性
4、安全性测试
权限问题:是否允许访问相册,拍照,录音,定位,接收推送消息
数据库隐私加密:密码加密
隐私泄露风险:包括访问手机信息,访问联系人信息等
5、前后台切换
APP切换到后台,再回到前台,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候
当app使用过程中有电话进来中断后,再切换到app,功能状态是否正常
对于有数据交换的页面,每个页面都必须进行前后台切换测试
6、异常中断测试
交互异常测试,客户端作为手机特性测试
包括被打扰的情况:来电、短信、低电量测试等
硬件设备:待机,插拔数据线,耳机等操作会不会影响操作
异常性测试
断网,断电测试
对于有数据交互的页面,每个页面都必须进行锁屏,电话切换,断电切换等中断的测试
7、网络环境
wifi
正常网络
从有网到无网,再到有网,数据是否可以自动恢复
弱网
无网络
无网络的时候,界面提示是否友好
8、性能测试
测试app在不同网络速度下操作的流畅程度FPS
测试app操作数据库的性能
一般使用腾讯GT进行专项测试,jimeter压力测试
资源消耗(CPU、内存、流量)
26、APP和Web测试的区别
相同点
同样的测试用例设计方法
同样的测试方法,都会依据原型图或者效果图检查UI
测试页面载入和翻页的速度,登录时长,内存是否溢出等
测试应用系统的稳定性
不同点
app的中断测试
来电中断,短信中断,蓝牙,闹钟,插拔数据线,手机锁定,手机断点,手机问题(系统死机重启)
app的安装卸载
全新安装,升级安装,第三方工具安装,第三方工具卸载,直接删除卸载
消息推送测试
手机授权测试,前后台切换,网络环境(WiFi,2G/3G/4G/5G/无网络)
兼容性测试
web项目考虑不同浏览器的兼容,app需要考虑不同操作系统,不同机型,不同屏幕等
性能测试
web是服务器性能测试;app不仅是服务器性能,还有app本身性能监控(流量、CPU、耗电情况)
27、微信朋友圈点赞测试点
从四个出发点开始分析,然后展开:
功能测试
UI测试
兼容性测试
性能测试
28、电商主流程
注册---登录---搜索---购物车--订单--支付
29、购物车测试点
从四个出发点开始分析,然后展开:
功能测试
UI测试
兼容性测试
性能测试
30、怎么判断前后端做验证
1 前端 友好提示,抓不到包
2 后端 根据请求内容,返回正确的响应信息
31、开发不认可的BUG
判断有效无效
找开发沟通,询问原因
开发还是不认可,找产品沟通
32、BUG的追踪
每天下班前,汇总BUG的数量,及修复状态,对于非当天提交未修复的BUG,询问开发未修复原因,催促开发紧急修复
33、软件的环境
1、sit/测试环境
2、开发环境
3、uat/准线上环境
4、生产环境/线上环境
34、兼容性测试怎么做的
兼容性测试分web和app端
Web主要看浏览器(谷歌,火狐,360),操作系统(win,mac)
App我们之前的公司一般采用真机测试,不同的手机类型,挑选市面上主流的机型,以及测试不同操作系统,不同分辨率,不同屏幕类型,如果说机型短缺,我还会使用模拟器,比如夜神模拟器,进行测试,有时还会采用第三方兼容性测试平台,比如云测平台进行测试,我会挑选一些主流程测试用例 ,以及安装包,上传到云测平台进行测试。
35、后台管理系统的重要模块
权限管理,商品管理,用户管理,订单管理,仓库管理
36、订单的流转状态
前台点击提交订单,扣减库存,生成订单,支付状态决定订单的状态,分别是待支付、已支付,待支付订单出现在待支付列表,已支付订单出现在待发货列表中,我们后台管理系统中,订单管理,点击发货,输入快递单号,发货成功,用户受收到快递后,确认收货,如果用户不手动收货,七天后自动收货,订单状态为待评价,用户评价完成,订单结束。

浙公网安备 33010602011771号