从基础到进阶,100道测试开发面试题,进大厂涨薪必备

1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?

  首先,将问题提交到缺陷管理库进行备案。

  然后,要获取判断的依据和标准:

  根绝需求说明书,产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是都确认的直接依据;

  如果没有文档依据,根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

  根据用户的一般使用习惯,来确认是否是缺陷;

  与设计人员,开发人员和客户代表等相关人员探讨,确认是否是缺陷;

  合理论述,客观严谨的向测试经理说明自己的判断理由;

  等待测试经历做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反应,并由上级做出决定

2、给你一个网站,你如何测试?

  首先,查找需求说明、网站设计等相关文档,分析测试需求;

  制定测试计划,确定测试范围和测试策略,一般包括以下及部分,功能性测试、界面测试、性能测试数据库测试、安全性测试、兼容性测试;

  设计测试用例

功能测试(包括不限于):

  链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回

  提交功能的测试

  多媒体元素是否可以正确加载和显示

  多语言支持是否能够正确显示选择的语言

  界面测试(包括但不限于):

  页面是否风格统一,美观

  页面布局是否合理,重点内容和热点内容是否突出

  空间是否正常使用

  对于必须但未安装的控件,是否提供自动下载并安装的功能

  文字检查

  性能测试:

压力测试

  负载测试

  强度测试

  数据库测试:

  具体决定是否需要展开。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。

  安全性测试:

  基本的登陆功能的检查

  是否存在溢出错误,导致系统崩溃或者权限泄露

  相关开发语言的常见安全性问题检查,例如:SQL注入

  如果需要高级的安全性问题,确定获得专业安全公司的帮助,外包测试,或者获取支持

  兼容性测试,根据需求说明的内容,确定支持的平台组合:

浏览器的兼容性

操作系统的兼容性

  软件平台的兼容性

  数据库的兼容性

  开展测试,并记录缺陷,合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如:需求变更,风险,配置,测试文档,缺陷报告,人力资源等内容)

  定期评审,对测试进行评估和总结,调整测试内容

3、在搜索引擎中输入汉字就可以解析到对应的域名,请问如何使用LoadRunner进行测试

  建立测试计划,确定测试标准和测试范围

  设计典型场景的测试用例,都改常用业务流程和不常用的业务流程等

  根据测试用例,开发自动化测试脚本和场景

  录制测试脚本:新建一个脚本(Web/HTML协议);点击录制按钮,在弹出的对话框的URL中输入”about:blank”;在打开的浏览器中进行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集的关联。

  设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标;针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃;执行测试,获取测试结果,分析测试结果

4、目前主要的测试用例方法是?

  白盒测试:路径覆盖、代码走查、静态分析

黑盒测试:边界值分析,等价类划分,错误推测法,因果图,状态图法

5、软件测安全性从哪几个方面测试?

  软件安全性测试包括:程序、数据库安全测试

  用户认证安全的测试要考虑问题: 明确区分系统中不同用户权限 、系统中会不会出现用户冲突 、系统会不会因用户的权限的改变造成混乱 、用户登陆密码是否是可见、可复制 、是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)、用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入 系统 、系统网络安全的测试要考虑问题 、测试采取的防护措施是否正确装配好,有关系统的补丁是否打上 、模拟非授权攻击,看防护系统是否坚固 、采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP ) 、采用各种木马检查工具检查系统木马情况 、采用各种防外挂工具检查系统各组程序的外挂漏洞

  数据库安全考虑问题: 系统数据是否机密、系统数据的完整性 、系统数据可管理性 、系统数据的独立性 、系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

6、什么是测试用例?什么是测试脚本?两者关系?

  测试用例:为实现测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的合集

  测试脚本:为了进行自动化测试而编写的脚本

  关系:测试脚本的编写必须对应相应的测试用例

7、简述     静态测试、动态测试、黑盒测试、白盒测试、α测试 、β测试

  静态测试:不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程

  动态测试:实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检测程序的正确性、可靠性、有效性、并分析系统运行效率和健壮性等性能

  黑盒测试:一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否得以实现,把北侧程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性

  白盒测试:根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

α测:由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成

β测试: 软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在测试现场,Beta测试不能由程序员或测试员完成

8、软件测试分为几个阶段,各阶段的测试策略和要求是什么?

  和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

  单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

  集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

  系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

  验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。

  单元测试测试策略:

  自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。

  自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。

  孤立单元测试策略:最好的单元测试策略。

  集成测试的测试策略:

  大爆炸集成:适应于一个维护型项目或被测试系统较小

  自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

  自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

  基于进度的集成

  优点:具有较高的并行度;能够有效缩短项目的开发进度。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锅锅聊软测

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值