测试基础篇(二)—— 面试挺常见

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 测试基础篇(二)—— 面试挺常见

测试流程(各有千秋)


1、测试人员参与需求评审、交互评审、视觉评审;理解需求,进行需求分析

2、测试负责人编写测试计划,分配测试任务,评估测试周期

3、测试人员整理交互or需求疑难点,确认异常场景or特殊情况下的交互细节,最好是能划出新功能的数据流图&流程图

4、测试人员编写测试点,转化测试用例,评审测试点or测试用例

5、开发送测(提测)前,开发自行走查,产品视觉验收,若有必要,测试可介入冒烟测试

6、送测(提测)阶段,缺陷管理,发现bug,提交bug

7、博主这边是分A1,A2,A3...阶段,一般A1过新功能测试用例&主流程回归,A2验证bug&交叉测试&拓展测试,A3验证bug&拓展测试

8、预发(灰发)环境验证

9、线上环境验证

10、版本复盘

 

黑盒测试相关


黑盒测试主要是为了发现以下几类错误

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

 

黑盒测试优点

1.比较简单,不需要了解程序内部的代码及实现,因为与内部实现无关;

2.从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

3.基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

4.在做软件自动化测试时较为方便

 

黑盒测试缺点

1.不可能覆盖所有的代码,覆盖率较低;

2.部分路径不能测试到,不能测试程序中隐藏的错误;

3.自动化测试的复用性较低

 

黑盒测试方法

等价类、边界值、因果图、判定表、状态迁移、正交实验、场景法、错误推断

 

自动化测试相关


自动化测试的优点

1、回归测试更方便,由于回归测试的额动作和用例是完全设计好,测试结果也是可以预料的,将回归测试自动运行,可以提高测试效率,缩短回归测试时间

2、运行更多更繁琐的测试

3、可以执行一些手工测试困难的测试,可以通过自动化测试模拟同时有大量用户的测试

4、测试具有一致性和可重复性,每次测试的结果和执行的内容的一致性可以得到保障,达到测试的可重复的效果

5、测试的复用性,实现在不同的测试过程中使用相同的用例

6、测试的执行可靠性,按脚本执行,后续定位复现有明确的路径可循

7、资源利用率高,人力成本低

8、基本的、逻辑性不强的操作,性能测试、压力测试、回归测试,自动化测试很大优势

 

自动化测试的缺点

1、手工测试比自动测试发现的缺陷更多

2、对测试的依赖性大

3、只适合回归测试

4、手工测试编写时间少于测试脚本编写时间

5、手工测试可以靠人的想象力去测试, 而工具是死的

6、自动化测试可能会制约软件开发,脚本维护会受到限制,从而制约软件的开发


总结:自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断

 

app常见测试点


1、安装、卸载 apk上安装与卸载,在工具上可以安装卸载

2、兼容性测试 系统版本,安卓版本,尺寸

3、异常测试 断网、断电、服务器异常情况下,客户端是否正常处理

4、在线升级测试 在线升级,升级后可以正常使用

5、易用性测试 操作简单,符合用户使用习惯

6、交互性测试 来电,来短信,低电量测试,拔充电线会不会影响app

7、功能测试 检验功能是否符合需求,涉及到UI层,接口,数据,服务端,代码逻辑等。

8、稳定性测试 通过Monkey:命令行工具,对正在开发的应用程序进行压测,向系统发送伪随机的用户事件流(按键输入、触屏输入、手势输入)进行压测

9、安全测试 是否容易被外界破解,是否存在被恶意代码注入的风险

10、性能测试 应用测试、ROM测试、客户端运行时设备的CPU、GPU、流量、耗电量,响应时间

11、自动化测试:robotium、Appium

12、外网场景测试 不同网络场景,wifi、3g、4g、电信、移动、联通、弱网场景,通过fiddler

13、中断测试(电话接入、来短信、电量不足提示灯外部事件)

 

app测试和web测试的区别


  web app
性能测试 响应时间... 加上:流量、电量、CPU、GPU、内存...
兼容测试 不同浏览器和浏览器版本 加上:手机的尺寸、分辨率、系统版本、安卓版本
交叉事件测试   在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件
操作类型测试   横屏测试,手势测试

 

冒烟测试和回归测试的区别


冒烟测试:新版本验证测试,主要确认新的版本是否存在致命性bug,功能可以正常运行,不会影响下一轮测试,不要求覆盖面有多广,但是要保证被测对象的主功能点得到测试,还要保证所有被修改过以及修改相关的功能都是可用的,若都通过则可以进行系统测试


回归测试:是软件维护阶段对软件修改后进行的测试,指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误

 

静态测试和动态测试的区别


静态测试:不运行被测程序本身,通过评审文档和阅读代码等方式测试软件

动态测试:通过运行被测程序,检查运行结果与预期结果的差异,通常使用白盒和黑盒测试从不同的角度设计测试用例来查找代码中的错误

键字:不运行,文档,代码

    运行,结果差异,黑盒白盒

 

α、β、λ测试的区别


  • α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。目的是评价软件产品的FURPS(即功能、可使用性、可靠性、性能和支持)
  • β测试:是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。(文档,客户培训,产品支持,可支持性)
  • λ测试:是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行

 

负载测试(Load testing)、压力测试(stress testing)和性能测试(Performance Evaluation Test)的区别


  • 性能测试:为了获得系统在某种特定的条件下(包括特定的负载条件下)的性能指标数据
  • 负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(逐渐增加模拟用户的数量)或其他加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存),以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现 了一种方法或一种技术
  • 压力测试:在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试

 

什么是需求文档测试?


测试需求中是否存在逻辑矛盾以及需求在技术上是否可以实现

关键字:测试需求,逻辑矛盾,技术实现

 

什么是设计文档测试?


测试设计是否符合全部需求以及设计是否合理

关键字:测试设计,符合需求,是否合理

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
7月前
|
Web App开发 编解码 前端开发
面试题22:如何测试Web浏览器的兼容性?
面试题22:如何测试Web浏览器的兼容性?
168 3
|
3月前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
72 7
拆分软件测试流程,一张图秒杀所有面试
|
2月前
|
NoSQL 测试技术 Redis
第一次面试总结 - 迈瑞医疗 - 软件测试
本文是作者对迈瑞医疗软件测试岗位的第一次面试总结,面试结果非常好,但面试过程中没有提问太多技术性问题,主要围绕个人介绍、互相了解、个人规划和项目亮点进行,因此作者认为这次面经的学习意义不大。作者还提到了实习岗位的待遇和工作内容,以及对不同阶段求职者的建议。
44 2
|
4月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
4月前
|
自然语言处理 网络协议 JavaScript
23.2月 可能七牛云实习测试面试(技术面一面)面经整理
关于2月进行的七牛云实习测试面试(技术面一面)的面经整理,涵盖了多个技术问题,包括马尔可夫链的用处、软件测试工具、TCP/IP协议的三次握手过程、TCP与UDP的区别、网络诊断方法、DNS的作用、ifconfig命令的用途、Spring Boot的优势以及Java中Map的了解,还包括了一个编程题目:在n个书中找出k个最小的数。
|
5月前
|
IDE Java 测试技术
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
192 1
|
6月前
|
jenkins 测试技术 持续交付
30个接口自动化测试面试题,赶紧收藏
接口自动化测试是使用工具验证接口功能、性能和安全性的自动化过程。它能提升测试效率,减少人工工作量,及时发现问题。常见工具包括Postman、SoapUI和JMeter。测试涉及需求分析、测试计划、用例设计、脚本编写、执行、报告生成及问题跟踪。测试用例涵盖输入数据、预期结果等,脚本包含请求和响应细节。断言验证接口正确性,数据驱动测试使用多数据验证,性能测试检查响应时间等,安全测试关注认证和加密,Mock测试模拟数据,集成测试验证接口交互,回归测试确保修改未破坏原有功能,异常处理确保测试稳定性,并发和压力测试检查系统负载,持续集成通过工具如Jenkins保证软件质量。
231 3
|
5月前
|
IDE Java 测试技术
Java面试题:描述在Java中使用JUnit进行单元测试的过程
Java面试题:描述在Java中使用JUnit进行单元测试的过程
53 0
|
6月前
|
安全 网络安全 网络协议
精选30道“渗透测试工程师”面试题
渗透测试 信息收集 网络安全 web安全
295 3
|
6月前
|
测试技术 Linux 开发工具
软件测试之【面试题综合训练题】
软件测试之【面试题综合训练题】
74 0