测试面试之测试常识

什么是Soap/strong>
SOAP代表对象访问协议(Simple Object Access Protocol)它是一种基于xml 的消息传递协议。
以测试的形态可以分为/strong>
建构性测试,系统测试,专项测试;
软件上线或者发布测试通过的标准有哪些件发版前需要做哪些测试工作br> 发布标准:
1.需要覆盖的测试用例都测试完成了,得出覆盖率,按照项目要求来比对覆盖率;
2.查看剩余bug 数量,按照要求判断是否上线;
发布前要做的工作/strong>
1.写测试 告,评估测试质量:包含bug 数量和级别,看是否达到发布标准;
2.进行验收测试;
uat测试和预生产测试的内容/strong>
UAT测试:验收测试,用于用户体验的环境,真实用户参与的测试‘
预生产测试:跟生产环境不定期同步,保持和生产环境的设置,数据一致性的的环境,内部测试组负责测试,
络卡顿是什么原因造成的/strong>
是否请求过多,导致数据返回较慢,可以做一些缓存;
某模块资源过大,可以考虑拆分;
排查代码,是不是有多循环导致主线程时间过长;
浏览器渲染的东西太多,导致卡顿;
页面渲染过程有很多重读的重排重绘;
内存泄露;
什么是内存泄露/strong>
程序已经动态分配的堆内存由于某种原因未释放或者无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统奔溃等严重后果;
Fiddler 抓包原理/strong>
Fiddler 工作于OSI七层模型中个的应用层,Fiddler 在浏览器和服务器之间建立了一个代理服务器,能够抓捕通过http(https)的请求,,Fiddler 启动后自动将代理服务器设置成本机,默认端口为8888,它可以记录所有客户端和服务器间的http(https)请求,分析 络传输的数据,支持监控设置断点,修改请求的数据和服务器返回的数据。
什么是TDD么是BDD/strong>
TDD:TDD是测试驱动开发,首先是创建测试用例,根据测试用例编写测试代码,TDD提高了代码的质量,使其更具有可重用性和灵活性。TDD有助于提高测试覆盖率;
TDD 实施流程:
编写测试用例:根据需求,编写自动化测试用例。
运行所有测试用例:在当前环境中运行这些自动化测试用例。
为测试用例开发代码:如果测试用例失败,那么,编写代码使该测试用例按预期工作。
再次运行测试用例:再次运行测试用例,并检查到目前为止开发的所有测试用例是否都已实现。
重构代码:重构代码以使其更具可读性和可重用性。
对新的测试用例重复步骤1-5:对其他测试用例重复这个循环,直到所有的测试用例都被实现。
BDD:BDD是行为驱动开发,BDD是TDD的扩展,替代了写测试用例,它关注的是程序行为,而不是
代码的实现;
BDD实施流程:
编写应用程序的行为:应用程序的行为是用简单的语言描述的。
编写自动化脚本:然后将这种简单的描述语言转换为编程语言。
实现功能代码:然后实现行为的基础功能代码。
检查行为是否成功:运行行为并查看是否成功。
重构或组织代码:重构或组织代码以使其更具可读性和可重用性。
对新行为重复步骤1-5:重复步骤在应用程序中实现更多行为。
不同:DD提供了更高的代码覆盖率。说BDD更适合于探索产品的缺陷
什么事DevOps/strong>
DevOps是一种IT思维方式,它鼓励软件开发人员和IT操作人员之间的交流、协作、集成和自动化,以提高交付软件的速度和质量。
什么是CI/CD/strong>
CI:持续集成(Continuous Integration)
源代码变更后自动检测,拉取,构建进行测试的过程,持续集成的目标是快速确保开发人员提交的变更快速进行测试,并且适合在代码库中进一步使用;
CD:持续交付:自动检测源代码变更并通过构建,测试,打包和相关的操作操作运行成可部署的版本,基本上没有人为干预,持续交付的目标是自动化,效率,可靠,可重复性和质量保证(通过持续测试)
windows 操作系统PATH 环境变量的作用是什么br> PATH 是window操作系统环境变量,,PATH作用是用户在命令行执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到则执行,若没有找到,则命令窗口返回无效命令;
APP测试和web测试区别/strong>
答:App测试与Web测试从功能测试和整体流程角度来讲,几乎没有什么区别,都是点点点的测试。Web测试,包含了UI测试、链接测试、搜索测试、表单测试、输入域测试、数据交互、兼容性测试、安全性测试、性能测试等等很多方面。而App测试,是基于客户端进行测试,测试人员的手机型 不同、版本不同、测试环境不同,涉及到的兼容性问题会有很多。
系统架构:Web测试一般是B/S架构,只要更新了服务器端,客户端就会同步更新。而且客户端能保证每位用户的客户端完全一致。但是App端一般是C/S架构,除非用户更新客户端,否则无法保证软件在各人手机中的一致性。如果在App下修改了服务端,就意味着又需要进行回归测试。
性能测试:Web测试比较关注 页的响应时间,而App除了关注在流畅 络下的响应时间,还需要关心流量、电量、CPU、GPU、Memory等等因素。
兼容性测试:Web端的测试更倾向于浏览器、电脑硬件配置以及电脑系统方向的兼容,不过一般还是以主流的浏览器为主。而App的测试则必须依赖移动端的设备:手机、平板等,不仅要看设备型 ,还要看设备系统:Android和iOS。
App专项测试:异常场景的考虑以及弱 测试。比如:中断,来电,短信,关机,重启等。而弱 测试是App测试中必须执行的一项测试。包括弱 和 络切换,需要测试弱 时的用户体验问题,提示语和等待页面的设置,回退和刷新是否会造成二次提交,以及延时的处理机制等。
针对App产品性质的测试内容,绝大多数用户使用的都是触屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,功能触发区域等测试。
Web测试是针对浏览器,无需考虑安装卸载问题。而App是客户端,需要测试安装卸载和更新的情况。除了常规的操作还要考虑到异常场景。比如说:安装时的中断、弱 、安装后删除文件,强制更新与非强制更新、断点续传、弱 ,卸载后删除App相关的文件等等。
常用的测试用例设计方法/strong>
答:等价类划分法:等价类划分主要适用于单个输入条件,输入为数值型的情况,如果输入规定了输入区间,可划分出一个有效等价类,两个无效等价类;如果输入只规定了输入范围,可划分出一个有效等价类,一个无效等价类。有效等价类:有意义的合理的正确输入;无效等价类:非法的错误的异常的输入;如何划分区间划分,按数值划分,按数值集合划分,按限制条件或规则划分,细分等价法;
边界值分析法:边界值方法也是适用于单个输入条件的情况,输入类型可以数值、字符等,要测试的边界包括上点、下点、离点。相关术语:上点:边界上的点叫做上点;离点:离边界最近的点叫做离点(如果是闭区间,离点落在边界外;如果是开区间,离点落在边界内)内点:边界内任意一个点叫做内点
因果图法:如果输入之间有关系,我们在测试时必须考虑输入条件的各种组合,那么可以考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。优点:因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。
错误推测法:错误推测法主要是测试设计人员的测试经验相关,测试经验不同,设计出来的测试用例也区别很大。
判定表驱动法:判定表适合于解决多个逻辑条件的组合。将各种逻辑的组合罗列出来,避免遗漏。不能表达重复的操作。判定表包括条件桩、条件项、动作桩、动作项。
正交法:当输入条件很多时,因果图等设计方法设计出来的用例数往往多的惊人,用正交法可有效减少用例数。正交法的核心思想是从大量测试数据中选取有代表性的点来测试,从而减少测试用例数。
功能图法:功能图法适合于用来设计程序的控制结构的测试用例。有顺序、选择、重复三种控制结构。
场景法:场景法特别适用于控制流清晰的系统。测试过程中可以针对不同的场景设计测试用例。
现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题/strong>
1.检查系统是否有中毒的特征;
2.检查软件/硬件是否符软件的推荐标准;
3.确认当前的系统是否独立,有没有对外提供消耗CPU资源的服务;
4.如果是B/S,C/S结构的软件,需要检查是不是因为与服务器连接有问题或者访问有问题造成的。
5.在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
测试分为哪?个阶段/strong>
5 个阶段:单元测试、集成测试、确认测试、系统 测试、验收测试
软件测试缺陷 告的原则/strong>
Correct(准确):每个组成部分的描述准确,不会引起误解; Clear(清晰):每个组成部分的描述清晰,易于理解;
Concise(简洁):只包含必不可少的信息,不包括任何多余的内容;
Complete(完整):包含复现该缺陷的完整步骤和其他本质信息;
Consistent(一致):按照一致的格式书写全部缺陷 告。
软件的生命周期/strong>
计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne)
测试用例主要包括哪些类目/strong>
编  项目/模块  标题  重要级别  条件  入参  执行步骤   预期结果 是否通过 ;
项目、模块、编 、接口名称、用例标题、请求方式、url地址、请求参数、前置条件、期望结果、实际结果、测试人员 、是否通过
目前主要的测试用例设计方法是什么/strong>
白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖,代码审查,语句覆盖,语句判断,判定覆盖,条件覆盖,组合覆盖,形式化语法,符 执行;
黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法
什么是测试用例么是测试脚本者有什么关系/strong>
测试用例是为实施测试的系统提供参数,环境,条件,结果的集合;
测试脚本是为执行自动化测试编写的脚本,测试脚本的编写对应相应的测试用例。
简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。
黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
静态测试包含那些活动/strong>
代码检查,结构分析,代码量度量;发挥人的逻辑思维,由人工进行;
动态测试包含那些活动/strong>
运行程序,执行测试用例,分析程序的执行结果;
什么是软件测试及其目的/strong>
软件测试是使用人工或者自动化手段来运行或者测定某个系统的过程,其目的是在于检验它是否能满足所规定的的预期结果;、
简述测试目标有哪些类型/strong>
功能测试,负载测试,性能测试,安全性测试,恢复测试,安装测试,兼容 性测试,可用性测试,可靠性测试,国际化测试,本地化测试。
什么是兼容性测试容性测试侧重哪些方面/strong>
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行, 即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容, 络兼容,数据库兼容,以及数据 格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定 的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能 够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容 测试的兼容环境了。
什么是桩模块么是驱动模块/strong>
桩模块:被调用模块;
驱动模块:主程序,调用模块;
什么事扇入么事扇出/strong>
扇入:被调次数;
扇出:调用其他模块的次数;
简述一下缺陷的生命周期/strong>
提交->确认->分配->修复->验证->关闭
软件的安全性应从哪几个方面去测试/strong>
(1)用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
(2)加密机制
(3)安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
(4)数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
(5)防病毒系统
你觉得软件测试通过的标准应该是什么样的/strong>
缺陷密度值达到客户的要求
集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容/strong>
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响;
(3)各个子功能组合起来,能否达到预期要求的父功能;
(4)全局数据结构是否有问题;
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
单元测试/strong>
单元测试指软件中最小的验证和校验,具体到某个接口,某个类,一般由白盒工程师或者开发测试。
简述集成测试与系统测试关系/strong>
集成测试是对系统模块的测试,系统测试是对整个系统的测试,包括相关软件的硬件平台, 络等相关测试;
测试计划包含那些内容/strong>
测试背景,测试策略(功能,UI,接口,性能),工期评定, 人员安排,进度安排,测试预期,风险评估,测试班次
测试的二八原则/strong>
80%的错误是由20%的模块引起的
80%的测试成本花在20%的软件模块中
80%的测试时间花在20%的软件模块中
回归测试的范围/strong>
1.主流程 2.主业务 3.新增功能 4.修过的 bug
8位有符 数和8位无符 数的数值范围是多少/strong>
无符 范围:0~255;
带符 范围:-128~127;
gitLab管理缺陷流程/strong>
1.测试创建Issues,创建bug,指定bug等级;
2.Issues指给对应开发;
3.开发修改对应bug,修改完成,发布;Issues指给测试;
4.测试验证bug,验证通过关不issues,不通过,修改issues,添加不通过的描述,再次指给开发,开发修改。
5.反复确认验证bug修复,关闭issues;
软件测试的结束标准是什么/strong>
执行完评审过的所有测试用例,没有发现缺陷并且产品已达到所预期的功能可结束测试;
为什么要写测试用例/strong>
1.编写测试用例,避免测试点的遗漏;
2.测试用例是为了更好的进行测试,可以提高测试效率;
3.测试用例是根据需求来的,开发是根据需求做的,测试用例完成后,要进行用例评审,可以减少测试和开发对需求理解不同造成的缺陷;
一条软件缺陷(或者叫Bug)记录都包含了哪些内容何提交高质量的软件缺陷(Bug)记录br> bug 编 ,bug类型,对应的模块、版本及环境,期望结果,实际结果,完整的复现步骤,bug的级别;
1.确认清楚bug类型,精确指给对应的开发(前端/后端)
2.简单明了,描述清楚,复现步骤明确,开发拿到bug能立即复现bug;
3.提bug制定统一的标准,统一的模板;
什么事缺陷 告陷 告的作用陷 告的要点/strong>
缺陷 告是描述缺陷现象和重现缺陷步骤的集合。
缺陷 告的作用是把软件中存在的缺陷完整的描述出来,便于开发人员修正缺陷,缺陷 告可以把控整体项目的质量和进度。
要点:bug类型,对应的模块、版本及环境,期望结果,实际结果,完整的复现步骤,bug的级别;
给你一个 站怎么测试/strong>
1.查找需求文档, 站设计文档,数据库设计等文档,分析需求;
2.制定测试计划,确定测试范围,测试策略,测试不仅仅只包含功能、性能、自动化、数据库、安全、兼容等方面的测试;
3.根据不同的测试类型设计测试用例;
4.执行测试用例,在缺陷管理工具记录缺陷;
5.待开发修复完缺陷,再回归测试;
6.反复确认,缺陷修复,关闭缺陷, 站上线;
接口测试怎么测br> 通过性测试:保证接口正常好用;
参数组合:
接口安全:绕过身份权限、绕过前端验证,参数加密验证,sql 注入
异常验证:参数异常,响应时间,重复提交,事务测试,环境测试;
性能测试
软件中的安全测试应该从那几个方面测试/strong>
用户管理,访问权限,sql注入,恶意攻击,数据加密等;
在手工接口或自动化接口测试中上下游有数据依赖如何处理br> 用全局变量来处理依赖的数据,比如登录后要返回Token,其他接口都要用这个Token,那就用全局变量来传Token 参数。
依赖于第三方数据的接口如何测试/strong>
mock 模拟;
CMM是什么/strong>
软件测试行业的CMM指的是“能力成熟度模型”。
其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
TOMCAT的端口设置在哪个文件里面/strong>
conf 目录,打开 server.xml 文件;
软件产品质量特性是什么/strong>
a) 功能性:适应性、准确性、互操作性、依从性、安全性。
b) 可靠性:成熟性、容错性、以恢复性。
c) 可使用性:易理解性、易学习性、易操作性。
d) 效率:时间特性、资源特性。
e) 可维护性:易分析性、易变更性、稳定性、易测试性。
f) 可移植性: 适应性、易安装性、遵循性、易替换性。
Windows 查看 络适配器的配置的命令br> cmd ipconfig
用户反馈上传头像失败,分析原因/strong>
1.权限问题:程序都要经过用户授权,才能访问相册;;
2.照片格式:图片格式一般有PNG,JPG 等验证照片格式;
3.图片大小:照片过大,也会上传失败;
4.尺寸大小:验证程序对尺寸是否有限制;
5.内存泄露:用户频繁操作头像上传,程序没有处理好资源释放,也会失败;
6. 络问题:客户端和服务端交互,都需要走 络,在 络差等弱 情况下,可能会造成上传失败;
7.服务器异常:服务器在高负荷运行,对客户端没有很好的响应或响应慢,超时也会造成失败;
10% 的用户反馈用不了功能,如何排查br> 版本是否最新版本;
操作系统,环境是否满足要求;
是否有权限设置;
是否有地域设置;
拿到用户的数据,账 模拟测试,复现;
登录按钮无法点击,如何排查br> 三部分排查:服务端,客户端,中间数据流;
客户端:检查手机是否卡顿,是否正常运行;
络是否正常连接;
检查客户端版本是否需要更新;
其他手机是否能用,考虑兼容性问题;
前端没有响应事件,请求发不出去;
前端发起Http 请求,后端但会异常,前端捕获异常之后没有处理;
内存不够,导致页面卡死;
服务端:服务器挂了;
数据库写入异常;
服务器超负荷运行等等;
中间链路数据流: 络问题发不出请求,前端也没提示;
确认是否设置了代理,https是否安装证书;
问题排查:抓包分析;F12分析,debug 分析;代码分析;
画出软件测试V形图/p>

画出软件测试W形图/p>

画出软件测试H形图/p>

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月18日
下一篇 2022年6月18日

相关推荐