大厂软件测试面试题(一线大厂软件测试面试题一起来背吧)
LoadRunner 进行测试?
建立测试计划,确定测试标准和测试范围
设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等。
根据测试用例,开发自动测试脚本和场景:
录制测试脚本:新建一个脚本(Web/HTML 协议);点击录制按钮,
在弹出的对话框的 URL 中输入”about:blank”;在打开的浏览器中进
行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集
的关联。
设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统
的平均事务响应时间是否达标;针对压力负载设置测试场景,主要判断
在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃;
执行测试,获取测试结果,分析测试结果。
2、试述软件的概念和特点?软件复用的含义?构件包括哪些?
软件是计算机系统中与硬件相互依存的另一部分,与计算机系统操作有
关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新
的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和
质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知
识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结
构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件。
3、软件生存周期及其模型是什么?软件生存周期(Software life cycle)又称为软件生命期,生存期。是
指从形成开发软件概念起,所开发的软件使用以后,知道失去使用价值
消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开
发、运行(维护)三个时期,每个时期又划分为若干个阶段。每个阶段
有明确的任务。
周期模型(典型的几种):
瀑布模型:
快速原型模型:快速原型模型允许在需求分析阶段对软件的需求进行初
步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向
用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试
评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进
行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维
护。
迭代模型:
迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和
要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一
次 完整地经过所有工作流程的过程:需求分析、设计、实施和测试工
作流程。实质上,它类似小型的瀑布式项目。RUP 认为,所有的阶段都
可以细分为迭代。每一次 的迭代都会产生一个可以发布的产品,这个
产品是最终产品的一个子集。
生命周期阶段:
软件计划与可行性分析
需求分析
软件设计
编码
软件测试
运行与维护
4、什么是软件测试?软件测试的目的与原则在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并
对其是否能满足设计要求进行评估的过程。
软件测试的目的:
测试是程序的执行过程,目的在于发现错误
一个成功的测试用例在于发现至今未发现的错误
一个成功的测试是发现了至今未发现的错误的测试
确保产品完成了它所承诺或公布的功能,并且用户可以访问到的
功能都有明确的书面说明。
确保产品满足性能和效率的要求
确保产品是健壮的和适应用户环境的
软件测试的原则:
测试用例中一个必须部分是对预期输出或接过进行定义
程序员应避免测试自己编写的程序
编写软件的组织不应当测试自己编写的软件
应当彻底检查每个测试的执行结果
测试用例的编写不仅应当根据有效和预料到的输入情况,而且也
应当根据无效和未预料到的输入情况
检查程序是否“未做其应该做的”仅是测试的一半,测试的另一
半是检查程序是否“做了其不应该做的”
应避免测试用例用后即弃,除非软件本身就是个一次性的软件
计划测试工作时不应默许假定不会发现错误
程序某部分存在更多错误的可能性,与该部分已经发现错误的数
量成正比
软件测试是一项极富创造性,极具智力的挑战性的工作。
5、软件配置管理的作用?软件配置包括什么?
软件配置管理(Software Configuration Management,SCM)是一
种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过
程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者
之间的混乱。SCM 活动的目标就是为了标识变更、控制变更、确保变
更正确实现并向其他有关人员报告变更。从某种角度讲,SCM 是一种
标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高
生产效率。
软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更
控制、状态报告、配置审计
6、什么是软件质量?概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的
程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、
文档中明确描述 的开发标准、以及所有专业开发的软件都应具有的隐
含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对
软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三
种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);
可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可
再用性、互运行性(产品转移)。
7、目前主要的测试用例设计方法是什么?白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态
图法、测试大纲法、随机测试、场景法
8、软件的安全性应从哪几个方面去测试?软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同
测试策略也不同。
用户认证安全的测试要考虑问题: 明确区分系统中不同用户权限 、系
统中会不会出现用户冲突 、系统会不会因用户的权限的改变造成混
乱 、用户登陆密码是否是可见、可复制 、是否可以通过绝对途径登陆
系统(拷贝用户登陆后的链接直接进入系统)、用户退出系统后是否删
除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入 系
统 、系统网络安全的测试要考虑问题 、测试采取的防护措施是否正确
装配好,有关系统的补丁是否打上 、模拟非授权攻击,看防护系统是
否坚固 、采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专
业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和
IPhacker IP ) 、采用各种木马检查工具检查系统木马情况 、采用各
种防外挂工具检查系统各组程序的外挂漏洞. 数据库安全考虑问题: 系统数据是否机密(比如对银行系统,这一点
就特别重要,一般的网站就没有太高要求)、系统数据的完整性(我刚
刚结束的企业实名核查服务系统中就曾存在数据 的不完整,对于这个
系统的功能实现有了障碍)、系统数据可管理性 、系统数据的独立性 、
系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否
可以完整)
9、什么是测试用例 什么是测试脚本 两者的关系是什么?为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及
期望结果的一个特定的集合。
测试脚本是为了进行自动化测试而编写的脚本。
测试脚本的编写必须对应相应的测试用例。
10、简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估
程序代码的过程。
动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与
预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、
可靠性和有效性,并分析系统运行效率和健壮性等性能。
黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件
的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内
部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依
靠软件规格说明书来确定测试用例和推断测试结果的正确性。
白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,
测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判
断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用
户在模拟实际操作环境下进行的受控测试,Alpha 测试不能由程序员或
测试员完成。
β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测
试。开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的私我。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com