软件测试面试题(一)

一、 测试方面

1、 软件测试方法有哪些分类?

2、 设计测试用例的主要方法有哪些?

3、 单元测试、集成测试、系统测试的侧重点是什么?

4、 怎样才能成为一个优秀的测试工程师

5、 一个军官要求24名士兵站成6排,每排都是5人,士兵们全犯傻,一名士兵终于想出了一个好办法。他是怎样安排?

 6、 需要你测试一个手电筒,请问你会怎么测?

二、数据库方面

  1、设计题:已知教学数据库包含三个关系:学生关系S(SND,SNAME,SA,SD)课程关系C(CNO,CN,TNAME),选课关系SC(SNO,CNO,G)其中,下划线的字段为该关系的码,SNO代表学号,SNAME代表学生姓名,SA代表学生年龄,SD代表学生所在系,CNO代表课程号,CN代表课程名,TNAME代表任课老师姓名,G代表成绩,请用SQL语句实现:

1、简历学生关系和选课关系,有完整约束的要定义完整性约束

  

2、将下列学生信息插入学生关系中:李丹,18岁,电信系,学号:20070206

 

3、找出选修了课程为“112002”的学生学号和姓名

4、修改学号为“20070206”的学生所在的系为计算机

5、 查询选修了数据库系统原理 这门课的学生的姓名和成绩

三、 编程/算法方面

1、 面向对象的特征有哪些方面?请详细说明

2、 垃圾回收的有点和原理

3、.HTML5的特性中,用于显示H264格式的MP4视频文件的标签是什么?

4、CSS中padding和margin还有borther的区别。

5、现在有针对贷款需求建立的一个营销模型。对于有贷款需求的人,该模型能识别出他的概率为90%;对于没有贷款需求的人,该模型误判为有需求的概率为10%。某一批营销对象中,有贷款需求的人约占1%。对这批对象使用上述营销模型,模型找到的一个有贷款需求的人,问这个人真的有贷款需求的概率是多大?(结果保留两位有效数字)

 6、请列举排序有哪几种方法?并实现你认为最优的一种算法。(伪代码也可以)

1.是否需要被执行测试软件的角度,软件测试可分为哪两种?

A.黑盒测试、白盒测试   B.静点测试、动态测试      C.单元测试、集成测试

2.下列哪一项不是白盒测试?

A. 单元测试           B.成测试          C.系统测试               D.归测试

3 .以下哪一项测试的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需?

A.系统测试         B.集成测试            C.单元测试             D.功能测试

4.对于采用敏捷开发模型的测试团队,下面哪些选项可以作为良好测试应具备的特征?

A.每个开发活动都有对应的测试活动

B.每个测试级别都有相同的测试目标

C.测试人员应该尽早参与文档的评审

D.需要在相应的开发活动进行相应的测试分析与设计活动

E.测试人员尽量避免在开发活动中进行测试分析与设计活动

5.下面哪个属于静态分析工具可以识别的典型缺陷?

A.发现银行应用系统的安全漏洞

B.发现飞行控制系统的性能降低

C.发现多线程应用系统的时间并行关系

D.发现手机应用中的内存泄漏

6.若3<=a<100,利用边界值分析方法测试,需要考虑哪些数据?

7.假设一个控制图如下,请列出该控制图的基本路径。

图片

8.什么是兼容性测试?兼容性测试侧重哪些方面?

参考答案:  

兼容测试:主要是检查软件在不同的软\硬件平台上是否可以正常的运行,即软件可移植性。兼容的类型:细分为平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。 兼容测试的重点:对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容测试。兼容和配置测试的区别:做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。 

9.我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

  •  检查系统是否有中毒的特征; 

  •  检查软件/硬件的配置是否符合软件的推荐标准;

  •  确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;

  •  如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有   问题,或者访问有问题造成的;

  •  在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/   内存的访问情况。 

10.测试的策略有哪些? 

 黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略) 

11.正交表测试用例设计方法的特点是什么? 

参考答案:

  • 用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;

  • 对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的; 

  • 具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法

12.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?

就是Bugzilla的状态转换图。 

13. 你觉得bugzilla在使用的过程中,有什么问题?

参考答案:

界面不稳定; 根据需要配置它的不同的部分,过程很烦琐。 流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。 

14.描述测试用例设计的完整过程? 

参考答案:

需求分析 + 需求变更的维护工作;根据需求, 得出测试需求;设计测试方案,评审测试方案; 方案评审通过后,设计测试用例,再对测试用例进行评审;

15.单元测试的策略有哪些? 

参考答案: 

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、数据流分析 

16.LoadRunner分哪三部分?

参考答案:

 用户动作设计;场景设计; 测试数据分析; 

17.LoadRunner进行测试的流程? 

  • 测试用例  

  • 创建虚拟用户脚本

  •  创建运行场景

  •  运行测试脚本 

  •  监视场景  

  •  分析测试的结果  以上,最好是结合一个案例,根据以上流程来介绍。 

 18.什么是并发?在lordrunner中,如何进行并发的测试?

参考答案:

 集合点失败了会怎么样?标记  在同一时间点,支持多个不同的操作。 LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。

集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,测试就不能进行。

19.使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?

分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。

 20.QTP中的Action有什么作用?有几种?

参考答案:

 Action的作用 

  用Action可以对步骤集进行分组 

  步骤重组,然后被整体调用

  拥有自己的sheet 

  组合有相同需求的步骤,整体操作

  具有独立的对象仓库  

Action的种类 

  可复用Action 

  不可复用Action

  外部Action  

21.TestDirector有些什么功能,如何对软件测试过程进行管理?

需求管理  

  定义测试范围

  定义需求树 

  描述需求树的功能点 

 测试计划 

  定义测试目标和测试策略。 

  分解应用程序,建立测试计划树。

  确定每个功能点的测试方法。

  将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。

  描述手工测试的测试步骤 

  指明需要进行自动测试的功能点  

测试执行 

   定义测试集合。

   为每个测试人员制定测试任务和测试日程安排。

   运行自动测试。 

缺陷跟踪 

  记录缺陷  

  查看新增缺陷,并确定哪些是需要修正的 

  相关技术人员修改缺陷 

  回归测试 

  分析缺陷统计图表,分析应用程序的开发质量。

22.你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试„„)? 

参考答案:

Compatibility Testing(兼容性测试),测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。 Functional testing (功能测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。 Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。

23.软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 

  • 硬件平台和操作系统    

  • 版本 

  •  bug编号 

  • bug报告优先级

  •  bug状态

  •  发现人

  •  提交人

  •  提交日期 

  • 指定处理人

  • 概述

  • 从属关系

  • 详细描述

  • 严重程度

  • 所属模块  要提交高质量的软件缺陷记录要参考需求及前期详细设计等前期文档,设计高效测试用例,然后执行用例,对发现问题要充分肯定,然后对外发布。

24.Beta测试与Alpha测试有什么区别? 

Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场  Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试  

25.软件的评审一般由哪些人参加?其目的是什么?

在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。  人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段  

26.阶段评审与项目评审有什么区别?

阶段评审 对项目各阶段评审:对阶段成果和工作 项目评审 对项目总体评审:对工作和产品 

27.阐述工作版本的定义? 

软件开发过程中,用于内部测试的功能和性能不完善的软件版本。工作版本既可以是系统的可操作版本,也可以是要在发布产品中演示的部分功能模块。

28.什么是桩模块?什么是驱动模块? 

桩模块:被测模块调用模块 驱动模块 调用被测模块的模块 

29.什么是扇入?什么是扇出? 

扇入:被调次数,扇出:调其它模块数目

30.你认为做好测试计划工作的关键是什么?

软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;做好测试计划工作的关键 :目的,管理,规范 

1-明确测试的目标,增强测试计划的实用性  编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确 

2-坚持“5W”规则,明确内容与过程  “5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。 

3-采用评审和更新机制,保证测试计划满足实际需求  测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。

 4-分别创建测试计划与测试详细规格、测试用例  应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

  这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值