软件测试高频出现面试题-1(实用)

每日面试

  • 1、没有需求文档,你会如何执行测试?
  • 2、给你一个物件,你怎么展开测试?
  • 3、给你一个网站如何开展测试?
  • 4、如何执行的兼容测试?-web、app,两者之间的不同是什么

1、没有需求文档,你会如何执行测试?

假如没有需求文档我会从以下一些方面着手:
 1.根据客户的功能点整理测试需求追朔表 
 2.根据开发人员的Software Specification List整理我们的功能测试点 
 3.开展项目跨部门讨论会
 4.测试人员整理用例需求疑问递交项目组和客户代表回复 
 5.项目内部用例评审 
 6.邮件和客户代表确认部分争议问题 
 7.项目Demo和部分已开发系统 
 8.参考同行业和竞争对手的类似产品 
 9.交叉模块的测试要注意 
 10.咨询客户部分需求疑问

2、给你一个物件,你怎么展开测试?

首先,试着问面试官,需求是什么样的,是否有需求,如果没有需求就可以
从这几个维度上去考虑:大致可以回答20条用例左右

其实面试官主要看你的测试思维、以及你的应变能力和考虑的是否周到全面
第一点:功能测试(单个功能、逻辑业务/功能交互)
第二点:界面测试
第三点:易用性测试
第四点:性能测试
第五点:兼容性测试
第六点:可移植性测试
第七点:安全性测试
第八点:压力性能测试
第九点:接口文档测试

举例子:(仅供参考思路)
比如大家常见的杯子

功能测试:
1.倒入温水,测试杯子是否可以正常装水;
2.装入水后,是否可以正常喝水;
3.杯子是否有保温功能,保温功能是否正常;
4.拧紧杯盖后,上下左右翻转杯子,看杯子是否漏水;

容量测试:
1.倒入温水,测试杯子的最大盛水量是多少;
2.杯子的最大盛水量是否符合国际计量标准,是否没有误差;

兼容性测试:
1.分别倒入不同的液体(冰水、热水、温水、果汁、酒水),测试杯子是否正常;
2.用杯子泡茶、咖啡、牛奶,测试杯子是否可以正常使用;
3.在大风、大雨、大雪、高温天气下,杯子是否正常使用;
4.杯子放进微波炉,是否会爆炸;
5.杯子放进冰箱的时候,是否会融化;

安全性测试:
1.杯子的材质是否符合国际标准,是否对人体有害;
2.杯子是否会与所盛液体发生化学反应,产生对人体有害的物质(细菌,病毒等);
3.杯子在高温、零下温度时是否会发生化学反应,产生有害物质;
4.杯子置于微波炉、冰箱是否会发生化学反应,产生有害物质;
5.杯子破损后,是否容易对使用者造成伤害;

性能测试:
1.分别倒入0-100摄氏度的水,是否可以承受不同温度;
2.倒入不同液体静置一段时间(24小时以上),杯子是否会漏水;
3.杯子的保温性是否达到要求 ;
4.杯子的耐热性是否达到要求;
5.杯子的耐寒性是否达到要求;

压力测试:
1.用手按压杯子,是否容易变形;
2.杯子从不同高度摔下去的损坏程度如何;
3.在杯子内分别装入少量的、半杯的、满杯的液体,看其装载量是否达到设计标准;

易用性测试:

1.杯子的形状是否容易倒入液体;
2.杯子的重量和大小是否合适;
3.杯子是否防滑;
4.杯口是否平整,是否方便饮用;

UI测试:
1.杯子设计是否符合需求规格说明书;
2.杯子的形状和颜色是否符合大众审美需求;

交互性测试:
杯子与杯盖、杯托交互性是否符合用户使用习惯;
.....

3、给你一个网站如何开展测试?

主要围绕,功能,页面 UI ,兼容,性能,安全,等这几个方面去聊,主要看是否真的测试过有过测试经验

1、首先,查找需求说明、网站设计等相关文档,分析测试需求。
 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:
 功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
 
2、设计测试用例:
 (1)、功能性测试可以包括,但不限于以下几个方面:
   链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
   提交功能的测试。
   多媒体元素是否可以正确加载和显示。
   多语言支持是否能够正确显示选择的语言等。
 (2)、界面测试可以包括但不限于一下几个方面:
   页面是否风格统一,美观
   页面布局是否合理,重点内容和热点内容是否突出
   控件是否正常使用
   对于必须但未安装的控件,是否提供自动下载并安装的功能
   文字检查
 (3)、性能测试一般从以下三个方面考虑:
   压力测试;负载测试;强度测试
 (4)、数据库测试要具体决定是否需要开展。数据库一般需要考虑
    连结性,对数据的存取操作,数据内容的验证等方面。
 (5)、安全性测试:
    基本的登录功能的检查
    是否存在溢出错误,导致系统崩溃或者权限泄露
    相关开发语言的常见安全性问题检查,例如SQL注入等
    如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
 (6)、兼容性测试,根据需求说明的内容,确定支持的平台组合:
     浏览器的兼容性;
     操作系统的兼容性;
     软件平台的兼容性;
     数据库的兼容性
3、开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理
 体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
4、定期评审,对测试进行评估和总结,调整测试的内容。

4、如何执行的兼容测试?-web、app,两者之间的不同是什么

仅供参考

测试可以大致参考:

1)Web 兼容性测试
①首先开展人工测试,测试工程师测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主界面是否有问
题,如果存在问题,那么记录下 bug 情况,以及浏览器型号和版本,以及操作系统,准确定位 bug 产生的原因,提
交 bug,告知开发人员修改。所有的主流设备都需要进行测试,只关注主流程和主界 面,毕竟每个系统主流程和主界
面不是很多,所以这个工作量还是可以承受的。
(2)APP 兼容性测试
①:APP 的兼容性测试和 Web 测试类似,首先开展人工测试,测试工程师借助测试设备对主流程和主功能,主界面进
行测试;收集所有的能收集到的不同型号的测试设备测试主流程和主界面,看看主流程和主界面 是否有问题,如果存在
问题,综合考虑设备的使用率等因素,看看是否需要调整,如果需要,那么记录下 bug 情况以及测试设备的型号和操
作系统,准确定位 bug 产生的原因,提交 bug,告知开发人员修改。
②其次借助第三方测试工具,对于 APP 的兼容性测试,推荐的是百度众测平台和云测平台,我经常使用的是云测平台,
这两款测试工具里面包含了安卓和 iOS 的测试;测试很齐全,包括功能测试、深度兼容测试、性能测试、网络环境测
试,还可以模拟海量用户测试,,还可以导入自己编写的测试用例进行功能测试,里面还包括测试专家的测试,当然了
找专家是要花钱滴。基本进行兼容性测试是不需要花钱的;测试工程师把打包好的 apk 或者 IPA 文件,上传到测试
平台,选择需要测试的设备型号,开始任务即可;等待一段时间,在等待的时间你是不需要盯着的,你可以做其他的工
作。测试完成后会生成一份测试报告,可以查看错误页面和错误日志,如果需要调整,那么提交 bug,告知程序员修改
即可。

两者之间

相同点:
APP测试和WEB测试从总的测试流程来看是没有什么区别的,都是由需求分析、需求评审、测试计划、用例编写、用例执行、缺陷管理、测试报告的产出、测试物料归档、上线回归测试等等一系列测试活动
两者都是离不开最基本的测试理论,不管测试类型怎么变,测试的原理都是主体相同、
1)在用例设计时都是依据边界值,等价类等
2)大多采用黑盒测试方法
3)需要检查页面的布局风格是否美观正常
4)测试页面的响应速度,登录时长等
5)测试应用或网页的稳定性,性能方面
6)底层测试依然是涉及到了接口方面的测试,还有服务器的资源占用情况

不同点:
自动化测试方面,WEB测试使用selenium来进行,而APP测试是用Appium来进行的
1、APP测试相对于WEB测试来说多了一个要考虑的反面——移动设备的属性
2、手机中的各种通信状态都可能会影响到APP功能的正常使用,所以APP必须要考虑到中断测试
3、App是用C/S架构搭建的,测试过程中要考虑到软件的安装、卸载和升级等,需要测试安装升级前后数据的稳定性和正确性
4、APP测试与WEB测试一样要考虑到服务器的压力,包括服务器的性能、资源、内存等,我们还需要考虑到手机的性能、电量、内存、cpu、流量消耗 等情况
5、web测试的性能测试方面都需要用到Jmeter来对服务器做压力测试,而APP测对手机的性能测试就要用到Monkey来进行随机稳定性压力测试

你可能感兴趣的:(#,软件测试面试,可用性测试)