面试八股文-测试理论
目录
- 测试理论
- 白盒测试
- 黑盒测试
- 性能测试的指标
- 并发用户数和在线用户数的区别
- 单元测试
- 集成测试
- 系统测试
- 集成测试和系统测试之间的比较:
- 验收测试
- QPS(每秒查询率)
- TPS
- 测试生命周期
- 软件生命周期
- 测试用例的组成元素
- BUG描述、评级
- Web和app测试的区别
- 以百度搜索为例,设计测试方案
- 功能测试:
- 性能测试:
- 易用性测试:
- 兼容性测试:
- 安全性测试:
- UI:
- 测试用例:上传文件
- 界面测试:
- 文件名称测试:
- 文件格式测试:
- 文件大小测试:
- 其他测试:
- 性能测试:
- 测试用例:微信扫码点餐
- 如何测试网站的高并发性
- 测试一个前端页面,button按钮不好使,原因,不获取源码的前提下,如何解决(提示接口测试)
测试理论
白盒测试
白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,
常见的白盒测试的方法有:语句覆盖,条件覆盖,判定覆盖,条件组合覆盖,基本路径覆盖等等。
优点:可以检测代码的每条分支和路径;可以揭示隐藏在代码中的错误;对代码的测试比较彻底。
缺点:耗费比较大;不能检测到代码中遗漏的逻辑;不能直接验证需求的正确性
黑盒测试
黑盒测试也称功能测试或数据驱动测试,它不看代码内部的逻辑,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
常见方法有等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
优点:容易实施,不需要关注内部实现;贴近用户需求。
缺点:覆盖率比较低,因为不知道内部逻辑
性能测试的指标
响应时间: 用户发出请求到服务器处理完成请求返回给客户端的这段时间
吞吐量:衡量系统的业务处理能力。TPS:每秒事务数。QPS:每秒请求数
资源利用率: cpu、内存、网络、磁盘读写io。一般资源的利用率不高于70%-80%,如果某项高于这个值,则可能是性能瓶颈
错误率:系统在负载情况下,失败请求的概率。错误率=(失败请求数/总请求数)*100。和功能测试的错误相区别,在性能测试中,所谓的错误一般是指由系统超时引起的错误,而不是指功能错误。不同的系统错误容错率不同。普通的业务系统,错误率不超过万分之一就可以了,有的大型系统,亿分之一。
并发用户数和在线用户数的区别
- 在线用户数:用户同时在一定时间段的在线数量
- 并发用户数:某一时刻同时向服务器发送请求的用户数
- (在线用户只要在线就好了,并发用户计算的是和服务器有交流的用户,一般比例5%-20%)
单元测试
- 单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:函数、或者类。
- 项目中的测试类就是测试接口类的,属于单元测试,一般由开发人员测试。
集成测试
- 集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。
系统测试
系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方,主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。在集成测试之后。
集成测试和系统测试之间的比较:
- 测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
- 测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。
验收测试
也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。
QPS(每秒查询率)
QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
用来衡量服务器的机器性能。
TPS
- TPS:Transactions PerSecond(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。
- 是软件测试结果的测量单位。
测试生命周期
测试周期是指从测试项目计划建立到BUG提交的整个测试过程。
包括软件项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。 软件测试周期并行与软件生命周期,存在于软件生命周期的各个阶段。
软件生命周期
软件生命周期是指软件的产生直到报废的生命周期。
包括问题的定义及规划,需求分析,软件设计(概要,详细),软件编码,软件测试(单元测试,集成测试,系统测试,验收测试),运行维护
测试用例的组成元素
用例编号
用例标题
功能模块名称
前置条件
输入数据
操作步骤
预期结果
优先级
执行结果
编写人
执行人
其他补充项
BUG描述、评级
对bug的描述尽量简短但要求清晰,对bug出现的条件进行详细的描述,包括输入的测试用例、使用的环境、有没有和其他软件同时运行,以及需要写清bug出现的位置,帮助开发更好定位。
按照用户体验(bug是否很严重的影响用户体验)、影响系统的程度进行评级。
一条bug记录的组成
(1)bug内容
(2)bug发现时间
(3)测试条件(系统配置信息、环境、软件版本、浏览器版本…)
(4)预期结果和实际结果的对比,相关的分析
(5)如何重现这个bug的步骤
(6)这个bug的严重性(会多大程度的影响系统或用户使用)
(7)bug发生的位置
Web和app测试的区别
- 首先是web和app的区别:web是b/s架构的,基于浏览器;app是c/s架构的,必须要有客户端。Web测试中只要更新了服务器,客户端就会同步更新,保证每个用户用的客户端一样;app就不能保证完全一致,因为app客户端需要用户主动更新,如果app测试中修改了服务器,就意味着客户端用户使用的所有核心版本都要进行回归测试
- 性能方面:web主要看响应速度;app还看电量、流量、CPU、内存…
- 兼容方面:web基于浏览器,主要看电脑硬件、电脑系统;app依赖于手机或平板,关注的系统主要是安卓和ios,还要关心分辨率、屏幕尺寸
- App比web测试多一些专项测试:弱网测试,安装、卸载、更新,界面操作、触摸手势等
以百度搜索为例,设计测试方案
功能测试:
输入搜索信息,点击搜索按钮是否能获取搜索结果,跳到结果界面;
搜索结果界面弹出的信息是不是符合我输入的信息
没有输入信息,按搜索看会有什么结果
对输入框能输入的最大字符数进行边界测试,(假设限制是30个字符),那么分别输入20,30,31个字符的文本进行测试,测试超出输入限制会出现的结果
测试输入敏感词时的搜索结果
输入不同国家语言的搜索结果
查询不到搜索结果的情况显示的结果
从搜索结果界面返回的按钮能不能正常返回
点击百度的标签能不能跳到相关的热搜界面
测试百度的图片搜索能不能正常使用
图片拖曳和上传的功能是否均能实现,粘贴图片网址能不能用
如果粘贴的图片网址不存在是否能给出正确的提示反馈
输入特别大的图会发生什么现象
性能测试:
测试搜索时的响应时间能否符合需求
网速慢的条件下还能不能正常搜索
多用户同时访问,或者一个时间点访问量突然增大的情况,对这些特殊情况进行模拟,测试还能不能进行正常搜索
易用性测试:
使用操作是否简单,是不是输入查询信息之后点击搜索按钮就行了;
在输入框输入搜索词的过程中下拉框能否弹出相关的联想搜索(你可能要搜)
输入框有没有保存最近搜索的信息的记录
除了点击搜索按钮进行搜索,测试按回车进行检索的功能
兼容性测试:
多种系统下的多种不同的浏览器下是否能正常显示、正常使用;
在不同的手机浏览器中打开是否能正常显示、正常使用;
各种语言平台下是否都能正常使用
安全性测试:
能不能防止搜索时对数据库的恶意攻击的情况,如SQL注入
UI:
界面设计是否简介,是否符合用户审美
图标能不能正常显示,界面有无错别字
测试用例:上传文件
界面测试:
- 上传文件的按钮文字是否正确
- 上传后正确&错误提示的文字是否正确
- 说明性文字是否正确
文件名称测试:
- 上传的文件各为中文
- 上传的文件名称为英文
- 上传的文件名称中含有特殊字符
- 上传的文件名称为数字
- 上传的文件名为中文、英文、数字等组合名称
- 长传的文件名中含有空格
文件格式测试:
- 上传的文件名称长度超出限定范围
- 上传文件的格式为图片(Jpg, jpeg, png)
- 上传文件的格式为txt文本
- 上传文件的格式为word (后缀名为doc,docx)
- 上传文件的格式为视频
- 传文件的格式为音频
- 上传文件的格式为excel (后缀名为xls,xlsx)
- 上传文件的格式为ppt
- 上传文件为可执行的exe文件
- 上传文件的格式为压缩文件(.rar,.zip)
- 上传文件的格式为bat文件
- 上传文件的格式为jsp文件
- 上传文件的格式为iso镜像文件
文件大小测试:
- 上传文件的数量为1个
- 上传文件的数里为限制个数N个
- 上传文件的数量为限制个数N-1个
- 上传文件的数量为限制个数N+1个
- 上传文件的大小为0kb
- 上传文件的大小为2G以上的超大文件(超过限制大小)
其他测试:
- 上传文件方式,可以从目录中选择
- 上传的文件可以拖拽上传
- 上传的文件可以手动输入地址上传
- 手动输入正确的文件路径
- 手动输入错误(不存在)的文件路径
- 上传一个正在打开中的文件
- 文件上传成功后,上传后的文件名和文件内容是否正确显示
- 删除上传成功的文件,再次提交上传
性能测试:
- 上传文件时时网速很慢(限速)
- 上传文件过程中断网
- 上传过程中服务器突然停止工作
测试用例:微信扫码点餐
如何测试网站的高并发性
jemeter多线程
测试多用户同时访问,访问量的缓慢增加/迅速增加。。。
大量相同类型访问,大量不同类型的访问
服务器角度,能够承受多大的压力(?),客户端角度,数据能否成功得到需要的信息,响应时间怎么样
实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息
一方面保证数据不丢失、一方面保证性能
测试一个前端页面,button按钮不好使,原因,不获取源码的前提下,如何解决(提示接口测试)
- 因为这是个前端界面,可以按F12打开开发者工具,在network里按钮点击时请求有没有发出去,看状态码,有没有生成新文件之类的,确定是不是连接的问题。
- postman模拟发包过去测试也行。
面试八股文-测试理论相关推荐
- 【面试宝典】软件测试工程师2021烫手精华版(第一章测试理论篇)
前言: 翻了很多论坛博客关于面试的文章,很多都是不完整的,还都是比较常见规规矩矩的,那大家刷过的基本都不拿出来了,都是一些大家平时见得不多,但是面试官很看中的一些题. 第一章 测试理论 一. 软件工程 ...
- JAVA面试八股文宝典(黑马学习随笔)-- 基础篇
学习随笔简介 跟随着黑马满老师的<Java八股文面试题视频教程,Java面试八股文宝典>学习,视频教程地址:Java八股文面试题视频教程,Java面试八股文宝典(含阿里.腾迅大厂java面 ...
- 面试题总结(测试理论)
测试理论 B/S架构和C/S架构区别 B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题(浏览器的内核不同) C/S 架构需要考虑系统在不同平台的安装.卸载.升级 HTTP协议 超文本传输协议,应 ...
- 马士兵java面试八股文及答案
马士兵java面试八股文及答案 Java面向对象有哪些特征,如何应用 HashMap原理是什么,在jdk1.7和1.8中有什么区别 ArrayList和LinkedList有什么区别 高并发中的集合有 ...
- 面试华为测试岗,收到offer后我却毫不犹豫拒绝了....
我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年.我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后,决定要提升自己,也发现自 ...
- 2022最新软件测试面试八股文,全网最全最新,堪称地表最强
前言 2022秋招已经结束,在应聘过程中相信很多同学都感受到了目前测试就业越来越严峻,内卷也成了测试领域的代名词了.的一个HR朋友告诉我,由于门槛较低,现在普通测试岗(偏功能)的投递比已经将近100, ...
- 4招教你巧过面试性格测试关
性格测试测什么 在供大于求的市场中,企业用人自然就变得更加精挑细选,从而使得求职步骤复杂化,笔试.数轮面试.情景模拟.逻辑测试.性格测试等不一而足:而求职者,不得不过关斩将,险象环生. 记者从多家公司 ...
- 去面试游戏测试工程师,面试官看着我的简历呆住了
目录 个人简历 一.基本情况: 二.求职意向: 游戏测试工程师 三.专业技能: 四.游戏经验:(选一个最熟悉的写一下) 五.工作经验: 六.项目经验:(写一到两个项目经验,项目必须是自己熟悉的) 七 ...
- 面试阿里测试开发,面试结束后,还被面试官在朋友圈吐槽“什么阿猫阿狗都敢来面试大厂了吗?”
前一阵子有个小徒弟向我诉苦,说自己在参加某大厂测试面试的时候被面试官怼得哑口无言,场面让他一度十分尴尬 印象最深的就是下面几个问题: 根据你以前的工作经验和学习到的测试技术,说说你对质量保证的理解? ...
最新文章
- 大型网站技术架构(七)网站的可扩展性架构
- SSM项目各层单元测试
- pdf怎么压缩大小?
- PHP开发中常见的安全问题详解和解决方法
- WPF WebBrowser 加载 html ,出现安全警告, 运行 脚本和 activeX 控件,
- vue js中解决二进制转图片显示问题
- django mysql 名称_Django 自定义表名和字段名
- html选择区间,jQuery可选择区间值代码
- 山东理工大学计算机基础考试试题,山东理工大学计算机基础试题08
- 微信小程序 canvas API
- 除了搜岛国老师的作品,以图搜图还有什么骚操作?
- 缓动函数及DOTWeen的SetEase方法
- [学习笔记]UnityShader入门精要_第12章_屏幕后处理效果
- 【C语言编程练习】5.7填数字游戏求解
- 树型结构的四种建模方法
- linux环境下解压rar文件
- 信息学奥赛一本通1176题——谁考了第k名
- PCB设计规则总结和原因分析
- 小型微型计算机系统退休,《小型微型计算机系统》人工智能专栏征文
- 光标自动定位到输入框
热门文章
- 什么是IP地址及IP地址分类详解
- Java如何解析markdown_Java类库解析markdown文本
- 视频流媒体服务器网络硬盘录像机NVR接入/解码/转发能力解析
- 继续教育研修计算机总结与反思,教师信息技术能力提升研修反思日志
- 基于UniDac的数据库连接池
- 聊一聊程序员行业关于未来的那些事
- java计算机毕业设计网络城市交通应急管理系统MyBatis+系统+LW文档+源码+调试部署
- 一个故事告诉你,学习编程是否需要天赋?
- 江苏无锡英语口语测试软件,无锡公共英语三级口试
- jira 查找issue_MySQL:更新JIRA里issue的创建和更新时间 | 学步园