软件测试面试题(持续更新)

1、软件配置管理的作用?软件配置包括什么?

–软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率;
–软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计。

2、简述一下c/s模式或者b/s模式?

C/S模式:客户端/服务器模式。工作原理:Client向Server提交一个请求;Server则使用一些方法处理这个请求,并将效果返回给Client。
B/S结构,即Browser/Server(浏览器/服务器)结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术

3、web测试和app测试的不同点

系统架构方面:
web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

性能方面:
web页面主要会关注响应时间
而app则还需要关心流量、电量、CPU、GPU、Memory等。

兼容方面:
web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统方面的兼容。
app测试则要看分辨率,屏幕尺寸,操作系统、网络。
web测试是基于浏览器的所以不必考虑安装卸载。
而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景:包括安装时的中断、弱网、安装后删除安装文件。

4、好的测试用例关键是什么?

白盒测试:较少的用例覆盖尽可能多的内部程序逻辑结果。
黑盒测试:较少的用例覆盖模块输出和输入接口。用最少用例在合理时间内发现最多的问题。
对可行和不可行的都要考虑:(1)输入 (2)详细操作步骤 (3)预期输出 (4)实际输出

5、什么是软件质量?

概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述 的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。

6、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽。
IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

7、什么是测试用例,什么是测试脚本,两者的关系是什么?

为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
测试脚本是为了进行自动化测试而编写的脚本。
测试脚本的编写必须对应相应的测试用例

8、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽。
IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置

9、网页卡顿的原因是什么?

原因一:http 请求次数太多
解决:规范接口设计,减少 http 请求次数。
原因二:接收数据时间过长,如下载资源过大
解决:对 HTTP 传输进行压缩,可采用 gzip 无损压缩,压缩效果最佳。
原因三:JavaScript 脚本过大,阻塞了页面的加载
解决:将 JavaScript 脚本放在标签前。script 没有 async 和 defer 时,JS 文件将在下载后立即执行。这种情况下,script 放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面。因此,script 放在底部可以让页面尽快呈现。
原因四:CSS、JavaScript、图片等需要重复加载
解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。
原因五:cookie 影响
解决:减小 cookie 的影响 。去除没有必要的 cookie,如果网页不需要 cookie 就完全禁掉。此外,对 cookie 瘦身和设置合适的 cookie 过期时间,也能削弱 cookie 的影响。
原因六:网页资源过多
解决:使用CDN部署网络以提高下载速度,可以先通过免费的CDN供应商来分发网页资源。

10、压测的时候,QPS一直上不去,你会怎么排查?

–看被测服务器的性能,看是否资源被打满,导致请求无法连接
解决办法:被测服务器扩容。
–看接口是否出现报错,以及响应时间是否变慢
解决办法:接口性能优化。
–看压测机器的性能,是不是网络 IO 占满,并发数达不到
解决办法:多台压测机器并发。
–看压测工具是否支持并发请求
解决办法:采用多线程或协程的方式去并发请求

11、10%的用户反馈用不了功能,你讲如何排查?

–APP 版本影响,可能是接口改动没有考虑版本控制,对低版本用户造成影响;
–操作系统版本,可能是用户的操作系统过高或过低,没有做好兼容;
–灰度测试或 AB 测试,可能是功能缺陷导致对部分灰度用户产生影响;
–跟会员用户有关,可能是一些功能仅仅只对 VIP 会员开放,然而这部分功能有缺陷;
–跟用户分布地域有关,比如说:有些地区没有开放功能,但是也给这些用户展示了入口。

12、APP提示无法连接网络,你会如何排查?

第一步:检查网络环境
检查 4G 和 Wifi 是否可用,可以先看手机网络连接图标状态,有无信号,是否弱网,并且可以切换其他 APP,测试网络是否可用。
检查是否有网络限制,比如仅公司内网可用的 APP,你在别的网络环境是无法连接的。
检查是否连接了代理或代理连接是否出现异常,手机连接电脑代理之后,如果不安装证书,发起 https 的请求将出现异常。
第二步:检查 APP 的网络请求
抓包,检查 APP 请求的域名是否正确
抓包,检查后端接口是否响应超时
抓包,检查后端接口是否返回异常,而 APP 没有做相关的异常提示。

13、微信的点赞功能怎么测试?

功能测试
1.点赞后,点赞数+1,点赞蓝显示点赞人的人头像
2.点赞后,共同好友在点赞区应能看见点赞人
3.点赞后,非共同在点赞区不能看见点赞人
4.点赞后,通知该用户
5.取消点赞,不通知该用户

6.第一次点赞,通知该用户,取消点赞,再点赞,不通知该用户
7.点赞后,通知该用户和点过赞的用户
8.多人同时点赞,点赞数正常
9.通过点赞区名字,点击名字进入个人界面
10.最多显示多少个赞——边界值
11.最多显示多少点赞人的名字——边界值
12.点赞是否按时间顺序显示
13.点赞后,取消点赞,再点赞,是否按最后点赞时间排序
14.点赞前是否能正常评论
15.点赞后是否能评论
16.反复点赞、取消点赞,功能是否正常

APP测试
1.弱网测试,弱网情况下点赞是否实时更新
2.点赞时,有干扰(电话和短信),是否显示点赞情况
3.耗电量和流量是否正常

性能测试
1.大量用户并发点赞,接口的响应时间,最大承受的qps
2.大量用户并发点赞,此时界面点赞,功能是否正常

兼容性测试
1.不同手机型号、oppo 移动版和全网通
2.不同手机版本,OPPO r7,r10 ios 7,8
3.不同系统,安卓,iOS

UI测试
1.根据UI图显示位置,颜色,图标,字体是否显示正常
2.未点赞时,是否显示灰色
3.点赞后,是否图标点亮
4.点赞后,点赞人的名字,位置,图标,颜色,字体是否正常
5.取消点赞后,是否显示灰色

猜你喜欢

转载自blog.csdn.net/qq_38122800/article/details/131510493