川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > 常见问题

测试开发面试题

作者:川石学院 日期:2021-11-25 13:39:42 点击数:

  测试开发面试题

测试开发面试题(图1)

1、软件测试的目的是什么?

  答:软件测试的目的在于

  • (1)发现软件的缺陷和错误

  • (2)保证软件的质量,确保能够满足用户以及产品的需求。

  (标重点)软件测试的目的是为了找bug,并不是验证软件没有bug。

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

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

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

  3、什么是灰盒测试?

  答:灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段。目前互联网的测试大多数都是灰盒测试。

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

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

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

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

  5、列举出你所了解的软件测试方式

  •   按照软件的生命周期划分:单元测试、集成测试、系统测试、回归测试、验收测试。

  •   按照测试关注点划分:功能测试、性能测试、稳定性测试、易用性测试、安全性测试。

  •   按照测试实施者划分:开发方测试(α测试)、用户测试(β测试)、第三方测试。

  •   按照技术/测试用例设计划分:白盒测试、黑盒测试、灰盒测试。

  •   按照分析方法划分:静态测试、动态测试。

  •   按照测试执行方式划分:手工测试、自动化测试。

  •   按照测试对象划分:程序测试、文档测试。

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

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

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

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

  7、什么是单元测试

  答:完成最小的软件设计单元(模块)的验证工作,确保模块被正确编码。通常情况下是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早发现和解决不易显现的错误。

  单元测试、集成测试、系统测试、验收测试、回归测试这几步最重要的是哪一步?

  答:这些测试步骤分别在软件开发的不同阶段对软件进行测试,我认为对软件完整功能进行测试的系统测试很重要,因为此时单元测试和集成测试已完成,系统测试能够对软件所有功能进行功能测试,能够覆盖系统所有联合的部件,是针对整个产品系统进行的测试,能够验证系统是否满足需求规格的定义,因此,我认为系统测试很重要。

  8、集成测试和系统测试的区别,以及应用场景分别是什么?

  区别:

  •   执行顺序:先执行集成测试,待集成测试问题修复后,再做系统测试。

  •   用例粒度:集成测试比系统测试用例更详细,集成测试对于接口部分也要重点写,而系统测试的用例更接近用户接受的测试用例。

  •   应用场景:

  •   集成测试:一般包含接口测试,对程序的提测部分进行测试。测试方法一般选用黑盒测试和白盒测试相结合。

  •   系统测试:针对整个产品的全面测试,既包含各模块的验证性测试和功能性测试,又包含对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。测试方法一般采用黑盒测试法。

  9、测试开发需要哪些知识?具备哪些能力?

  需要的知识:

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

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

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

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

  测试卡框架,如JUnit、Pytest、Unittest等。

  具备的能力:

  业务分析能力、缺陷洞察能力、团队协作能力、专业技术能力、逻辑思考能力、问题解决能力、沟通表达能力和宏观把控能力。

  10、BUG管理工具的跟踪过程(用BugZilla为例子)

  测试人员发现了BUG,提交到Bugzilla中,状态为new,BUG的接受者为开发接口人员

  开发接口将BUG分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG,如果是本人的BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个BUG,然后测试人员关闭此问题。

  如果开发人员接受了BUG,并修改好以后,将BUG状态修改为已修复,并告知测试在哪个版本中可以测试。

  测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-11-25 13:39:42
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-11-25 13:39:42
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-11-25 13:39:42
  • 建筑工程专业朱同学成功转行为软件测试人!2021-11-25 13:39:42
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-11-25 13:39:42
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-11-25 13:39:42
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-11-25 13:39:42
  • 文科生转行软件测试照样拿下高薪15K!2021-11-25 13:39:42
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-11-25 13:39:42
  • 毕业1年,迷茫的他最终选择转行软件测试2021-11-25 13:39:42