软件测试面试最全八股文

请你说一说测试用例的边界

参考回答:

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

常见的边界值

1)对16-bit 的整数而言 32767 和 -32768 是边界

2)屏幕上光标在最左上、最右下位置

3)报表的第一行和最后一行

4)数组元素的第一个和最后一个

5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次

● 请你说一下软件质量的六个特征

参考回答:

按照软件质量国家标准GB-T8566--2001G,软件质量可以用下列特征来评价:

a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。

b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

c.易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。

d.效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。

e.可维护特征:与进行指定的修改所需的努力有关的一组属性。

f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。

● 请你说一下设计测试用例的方法

参考回答:

黑盒测试:

1.等价类划分

等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。

2.边界值分析法

边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。边界值分析就是假定大多数错误出现在输入条件的边界上,如果边界附件取值不会导致程序出错,那么其他取值出错的可能性也就很小。

边界值分析法是通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。

3.正交试验法

正交是从大量的试验点中挑选出适量的、有代表性的点。正交试验设计是研究多因素多水平的一种设计方法,他是一种基于正交表的高效率、快速、经济的试验设计方法。

4.状态迁移法

状态迁移法是对一个状态在给定的条件内能够产生需要的状态变化,有没有出现不可达的状态和非法的状态,状态迁移法是设计足够的用例达到对系统状态的覆盖、状态、条件组合、状态迁移路径的覆盖。

5.流程分析法

流程分析法主要针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计,这是从白盒测试中路径覆盖分析法借鉴过来的一种很重要的方法。

6.输入域测试法

输入域测试法是针对输入会有各种各样的输入值的一个测试,他主要考虑 极端测试、中间范围测试,特殊值测试 。

7.输出域分析法

输出域分析法是对输出域进行等价类和边界值分析,确定是要覆盖的输出域样点,反推得到应该输入的输入值,从而构造出测试用例,他的目的是为了达到输出域的等价类和边界值覆盖。

8.判定表分析法

判定表是分析和表达多种输入条件下系统执行不同动作的工具,他可以把复杂的逻辑关系和多种条件组合的情况表达的即具体又明确;

9.因果图法

因果图是用于描述系统输入输出之间的因果关系、约束关系。因果图的绘制过程是对被测系统的外部特征的建模过程,根据输入输出间的因果图可以得到判定表,从而规划出测试用例。

10.错误猜测法

错误猜测法主要是针对系统对于错误操作时对于操作的处理法的猜测法,从而设计测试用例

11.异常分析法

异常分析法是针对系统有可能存在的异常操作,软硬件缺陷引起的故障进行分析,分析发生错误时系统对于错误的处理能力和恢复能力依此设计测试用例。

白盒测试:

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

白盒测试需要遵循的原则有:1. 保证一个模块中的所有独立路径至少被测试一次;2. 所有逻辑值均需要测试真(true)和假(false);两种情况;3. 检查程序的内部数据结构,保证其结构的有效性;4. 在上下边界及可操作范围内运行所有循环。

常用白盒测试方法:

静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

1.语句覆盖每条语句至少执行一次。

2.判定覆盖每个判定的每个分支至少执行一次。

3.条件覆盖每个判定的每个条件应取到各种可能的值。

4.判定/条件覆盖同时满足判定覆盖条件覆盖。

5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

6.路径覆盖使程序中每一条可能的路径至少执行一次。

● 请你说一说测试工程师的必备技能

参考回答:

需要的知识:

•    软件测试基础理论知识,如黑盒测试、白盒测试等;

•    编程语言基础,如C/C++、java、python等;

•    自动化测试工具,如Selenium、Appium、Robotium等;

•    计算机基础知识,如数据库、Linux、计算机网络等;

•    测试框架,如JUnit等。

需要具备的能力:

•    业务分析能力,分析整体业务流程、分析被测业务数据、分析被测系统架构、分析被测业务模块、分析测试所需资源、分析测试完成目标;

•    缺陷洞察能力,一般缺陷的发现能力、隐性问题的发现能力、发现连带问题的能力、发现问题隐患的能力、尽早发现问题的能力、发现问题根源的能力;

•    团队协作能力,合理进行人员分工、协助组员解决问题、配合完成测试任务、配合开发重现缺陷、督促项目整体进度、出现问题勇于承担;

•    专业技术能力,掌握测试基础知识、掌握计算机知识、熟练运用测试工具;

•    逻辑思考能力,判断逻辑的正确性、对可行性逻辑分析、站在客观角度思考;

•    问题解决能力,技术上的问题、工作中的问题、沟通问题;

•    沟通表达能力,和技术人员、产品人员、上下级的沟通;

•    宏观把控能力,有效控制测试时间、有效控制测试成本、有效制定测试计划、有效进行风险评估、有效控制测试方向。

● 请你说一下app性能测试的指标

参考回答:

1、内存:内存消耗测试节点的设计目标是为了让应用不占用过多的系统资源,且及时释放内存,保障整个系统的稳定性。当然关于内存测试,在这里我们需要引入几个概念:空闲状态、中等规格、满规格。

空闲状态指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲;中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。

内存测试中存在很多测试子项,清单如下:

●空闲状态下的应用内存消耗;

●中等规格状态下的应用内存消耗;

●满规格状态下的应用内存消耗;

●应用内存峰值;

●应用内存泄露;

●应用是否常驻内存;

●压力测试后的内存使用。

2、CPU:

使用Android提供的view plaincopy在CODE上查看代码片派生到我的代码片

adbshell dumpsys CPUinfo |grep packagename >/address/CPU.txt来获取;

使用top命令view plaincopy在CODE上查看代码片派生到我的代码片

adbshell top |grep packagename>/address/CPU.txt来获取。

3、流量:

网络流量测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试。

流量测试包括以下测试项:

应用首次启动流量提示;

应用后台连续运行2小时的流量值;

应用高负荷运行的流量峰值。

4、电量:

●测试手机安装目标APK前后待机功耗无明显差异;

●常见使用场景中能够正常进入待机,待机电流在正常范围内;

●长时间连续使用应用无异常耗电现象。

5、启动速度:

第一类:首次启动--应用首次启动所花费的时间;

第二类:非首次启动--应用非首次启动所花费的时间;

第三类:应用界面切换--应用界面内切换所花费的时间。

6、滑动速度、界面切换速度

7、与服务器交互的网络速度

● 请你说一说app测试的工具

参考回答:

功能测试自动化

a) 轻量接口自动化测试

jmeter,

b) APP UI层面的自动化

android:UI Automator Viewer,Android Junit,Instrumentation,UIAutomator,

iOS:基于Instrument的iOS UI自动化,

性能测试

a) Web前端性能测试

网络抓包工具:Wireshark

网页文件大小

webpagetest

pagespeed insight

chrome adb

b) APP端性能测试

Android内存占用分析:MAT

iOS内存问题分析:ARC模式

Android WebView性能分析:

iOS WebView性能分析

c) 后台服务性能测试

负载,压力,耐久性

可拓展性,基准

工具:apacheAB,Jmeter,LoadRunner,

专项测试

a) 兼容性测试

手工测试:操作系统,分辨率,rom,网络类型

云平台:testin,脚本编写,Android。

b) 流量测试

Android自带的流量管理,

iOS自带的Network

tcpdump抓包

WiFi代理抓包:Fiddler

流量节省方法:压缩数据,json优于xml;WebP优于传统的JPG,PNG;控制访问的频次;只获取必要的数据;缓存;

c) 电量测试

基于测试设备的方法,购买电量表进行测试。

GSam Battery Monitoe Pro

iOS基于Instrument Energy工具

d) 弱网络测试

手机自带的网络状况模拟工具

基于代理的弱网络的模拟:

工具:windows:Network Delay Simulator

Mac:Network Link Conditioner

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/234511.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

故障排查:rpm安装报错事务锁定(can‘t create transaction lock on /var/lib/rpm/.rpm.lock)

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 故障详情故障原因解决办法 故障详情 自己编写spec文件,制…

《C++ Primer》第10章 算法(二)

参考资料: 《C Primer》第5版《C Primer 习题集》第5版 10.4 再探迭代器(P357) 除了为每个容器定义的迭代器外,头文件 iterator 中还定义了额外的几种迭代器: 插入迭代器(insert iterator)&…

AMESim与MATLAB联合仿真demo

本文是AMESim与MATLAB联合仿真的demo,记录一下如何进行联合仿真。 AMESim与MATLAB联合仿真可以大幅度提高工作效率。 author:xiao黄 缓慢而坚定的生长 csdn:https://blog.csdn.net/Python_Matlab?typeblog主页传送门 博主的联合仿真环境如下&#xff…

数字图像处理(实践篇)十五 基于傅里叶变换的高通滤波和低通滤波

目录 一 Numpy 实现傅里叶变换 1 涉及的函数 2 实践 二 OpenCV 实现傅里叶变换 1 涉及的函数 2 实践 为了有效地和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换(正变换)到另外一些空间,并利…

物业报修管理系统

物业报修管理系统是一种能够提高物业管理效率和服务质量的软件,它可以帮助物业公司和业主之间实现快速、方便、高效的报修沟通和处理。 但是很多物业公司还在使用传统的报修方式,比如电话、纸质表格、微信群等,这些方式存在很多问题&#xff…

Linux系统编程:进程总结

这一章主要为进程的基本内容作一个总结,为后面的多进程多线程并发作一个铺垫。 进程标识符pid pid类型为 pid_t。 在涉及有关进程相关内容的时候,一定要熟悉 ps 命令的使用,该命令专门用来打印当前系统的进程信息: 这里经常使用…

【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理

🌈个人主页: Aileen_0v0 🔥系列专栏:PYTHON数据结构与算法学习系列专栏💫"没有罗马,那就自己创造罗马~" 目录 导言 解决过程 1.建立数据结构 2.探索迷宫: 算法思路 递归调用的“基本结束条件” 3.乌龟走迷宫的实现代码: …

【MATLAB源码-第92期】基于simulink的QPSK调制解调仿真,采用相干解调对比原始信号和解调信号。

操作环境: MATLAB 2022a 1、算法描述 QPSK,有时也称作四位元PSK、四相位PSK、4-PSK,在坐标图上看是圆上四个对称的点。通过四个相位,QPSK可以编码2位元符号。图中采用格雷码来达到最小位元错误率(BER) —…

Electronica慕尼黑电子展 Samtec团队与21ic分享虎家产品与方案

【摘要/前言】 “希望但凡是能够使用到连接器的场合都有Samtec的身影” 在慕尼黑上海电子展现场,Samtec华东区销售经理章桢彦先生在与21ic副主编刘岩轩老师的采访中,如是说道。这是一种愿景,更是Samtec的努力方向。短短一句话,…

​[Oracle]编写程序,键盘输入n,计算1+前n项之和。测试案例:输入:10 输出:22.47​

编写程序,键盘输入n,计算1前n项之和。 测试案例: 输入:10 输出:22.47 代码如下: set serveroutput on declare v_sum number:0;v_n number;beginv_n:&n;for i in 1..v_n loopv_sum:v_sumsqrt(i); end loop; d…

1+X网络系统建设与运维练习题

1.OSPF的最优路由,会放到IP路由表中指导数据转发 (x) 2.当AP工作在2.4GHz频段的时候,AP工作的频率范围是2.4GHz~2.4835GHZ。在此频率范围内又划分出14个信道。每信道的中心频率相隔5MHz,每个信道可供占用的带宽为22MHz…

jenkins 使用 nexus插件,将代码打包好推送到制品库

Nexus是一个开源的、基于Java的应用程序框架和存储库管理系统,可用于管理软件开发和部署的所有相关构件。 它允许用户创建和维护Maven存储库,使其更易于组织,搜索和共享构建工件和库。 Nexus具有安全性和身份验证、多格式支持、镜像管理和自定…