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

本文介绍了软件配置管理的作用,包括配置项识别、版本控制等,并对比了C/S和B/S模式的特点。此外,讨论了Web测试与App测试的区别,强调了好的测试用例的关键,阐述了软件质量和影响因素。还涉及了客户端压力测试的差异、测试用例与测试脚本的关系、编程概念如引用与指针的区别,以及网页卡顿的原因和解决策略。最后,提出了性能测试中的问题排查方法和APP功能测试案例,特别是微信点赞功能的测试覆盖范围。
摘要由CSDN通过智能技术生成

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、引用与指针有什么区别?

–引用必须被初始化,指针不必。
–引用初始化以后不能被改变,指针可以改变所指的对象。
–不存在指向空值的引用,但是存在指向空值的指针。

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.取消点赞后,是否显示灰色

14、四位数验证码输入框字段校验测试

–不输入,空内容
–空格输入
–输入空格+正确验证码,空格出现在开头,中间,结尾均需要测试
–输入4位其他非数字内容
–输入第一部分中的异常字段校验
–输入前3位或后3位验证码正确数字
–输入4位正确验证码+其他数字
–输入法键盘自动带入短信验证码(不多输、不漏输)

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

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

16、请说出以下测试最好由那些人员完成,测试的是什么?

–代码、函数级测试一般由白盒测试人员完成,他们针对每段代码或函数进行正确性检验,检查其是否正确的实现了规定的功能。
–模块、组件级测试主要依据是程序结构设计测试模块间的集成和调用关系,一般由测试人员完成。
–系统测试在于模块测试与单元测试的基础上进行测试。了解系统功能与性能,根据测试用例进行全面的测试。

17、LoadRunner分为哪三个模块?请简述各模块的主要功能。

Virtual User Generator:用于录制脚步
Mercury LoadRunner Controller:用于创建、运行和监控场景
Mercury LoadRunner Analysis:用于分析测试结果

18、你对SQA的职责和工作活动(如软件度量)的理解?

SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值