测试面试03
你自认为测试的优势在哪里?
该面试也没有固定不变的答案,但可参考以下几点,并结合自身特点:
有韧性
有耐心
做事有条理性
喜欢面对挑战
有信心做好每一件事情
较强的沟通能力
从以前的经理处都得到了很好的评价表明我做的很好
集成测试通常都有那些策 略?
1、大爆炸集成
2、自顶向下集成
3、自底向上集成
4、三明治集成适应于大部分软件开发项目
5、基干集成
6、分层集成
7、基于功能的集成
8、基于消息的集成
9、基于风险的集成
10、基于进度的集成
常用 X UNIX 命令x (Linux 的常用命令) ) (至少 0 10 个); (Unix)
答:ls pwd mkdir rmdir rm cp mv cd ps ping tail more echo adduser passwd logout exit,
参见 Linux 的教材。
简述你在以前的工作中做过哪些事情,比较熟悉什么。
此问题每个人都不一样。参考答案如下。
我过去的主要工作是系统测试和自动化测试。在系统测试中,主要是对 BOSS 系统的业务逻
辑功能,以及软交换系统的 Class 5 特性进行测试。性能测试中,主要是进行的压力测试,
在各个不同数量请求的情况下,获取系统响应时间以及系统资源消耗情况。自动化测试主要
是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。
在测试中,我感觉对用户需求的完全准确的理解非常重要。另外,就是对 BUG 的管理,要以
需求为依据,并不是所有 BUG 均需要修改。
测试工作需要耐心和细致,因为在新版本中,虽然多数原来发现的 BUG 得到了修复,但原来
正确的功能也可能变得不正确。因此要注重迭代测试和回归测试。
在 C/C++中 中 c static 有什么用途?(请至少说明两种)
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但
不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个
函数被限制在声明它的模块的本地范围内使用
引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
t Internet 采用哪种网络协议?该协议的主要层次结构?t Internet 物理地址和 P IP 地址转换
采用什么协议?
TCP/IP 协议
主要层次结构为: 应用层/传输层/网络层/数链路层。
ARP (Address Resolution Protocol)(地据址解析协议)
说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优
缺点和主要适应于哪种类型测试;
自顶向下集成
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功
能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。
适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修
改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能
行为。
2、自底向上集成
优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的
工作量;支持故障隔离。
缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。
适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
软件验收测试包括 ___ 、 ___ 、 ____ 三种类型。
软件验收测试包括正式验收测试、alpha 测试、beta 测试三种测试。
2 2 .系统测试的策略有 ____________________________等 等 15 种方法。(该题
5 15 个空)
系统测试的策略有很多种的,有性能测试、负载测试、强度测试、易用性测试、安全测试、
配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可
用性测试。
3 3 .设计系统测试计划需要参考的项目文档有 ___ 、 ___ 和 ____ 。
设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。
4 4 .通过画因果图来写测试用例的步骤为 ___ 、 ___ 、 ___ 、 ___ 及把因果图转换为状态图共五
个步骤。 利用因果图生成测试用例的基本步骤是:
§ 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结
果(即输出条件),并给每个原因和结果赋予一个标识符。
§ 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么
关系? 根据这些关系,画出因果图。
§ 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。 § 把因果图转换成判
定表。
§ 把判定表的每一列拿出来作为依据,设计测试用例。
一、 测试的种类很多,比如:
代码、函数级测试
模块、组件级测试
系统测试
请说出这些测试最好由那些人员完成,测试的是什么?
代码、函数级测试一般由白盒测试人员完成,他们针对每段代码或函数进行正确性检验,检
查其是否正确的实现了规定的功能。
模块、组件级测试主要依据是程序结构设计测试模块间的集成和调用关系,一般由测试人员
完成。
系统测试在于模块测试与单元测试的基础上进行测试。了解系统功能与性能,根据测试用例
进行全面的测试。
二、 设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测
试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。(测试用例需要考虑的四
个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、
性能、安全„„),这部分可以参照 TP 做答。此外,还需要考虑用例的重要性和优先级)
四、 在 在 s windows 下保存一个文本文件时会弹出保存对话框,如果为文件名建立测试用例,
等价类应该怎样划分?
单字节,如 A;
双字节, AA、我我;
特殊字符 /‘。‘;、=-等;
保留字,如 com;
文件格式为 8.3 格式的;
文件名格式为非 8.3 格式的;
/,\,*等九个特殊字符。
假设有一个文本框要求输入 0 10 个字符的邮政编码,对于该文本框应该怎 样划分等价类?
特殊字符,如 10 个*或¥;
英文字母,如 ABCDefghik;
小于十个字符,如 123;
大于十个字符,如 11111111111;
数字和其他混合,如 123AAAAAAA;
空字符;
保留字符
5. 软件测试项目从什么时候开始,?为什么?
软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发
过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费
的成本就越大.
什么是白盒测试?什么是黑盒测试? ? 什么是回归测试? ?
答:白盒测试是测试人员要了解程序结构和处理过程,按照程序内部逻辑测试程序,检查程序中的每条通路是否按照预定要求正确工作.它主要的针对被测程序的源代码,测试着可以完全不考虑程序的功能.
白盒测试流程:详细设计-->源程序-->分析程序内部逻辑结构-->流程图-->制定测试用例-->被测程序-->执行路径-->覆盖情况分析 .
黑盒测试:(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
回归测试: (regression testing): 回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,
对相关修改的部分进行测试的方法。
2. 单元测试、集成测试、系统测试的侧重点是什么?
单元测试针对的是软件设计的最小单元--程序模块(面向过程中是函数、过程;面向对象
中是类。),进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错.一般
有两个步骤:人工静态检查\动态执行跟踪
集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是
各个单元模块之间的接口,以及各个模块集成后所实现的功能.
系统测试针对的是集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件\
外设\某些支持软件\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计
算机系统进行一系列的集成测试和确认测试.
3. 设计用例的方法:
在测试的不同阶段运用不用的测试方法设计用例的方法依据不同:
白盒测试用例设计有如下方法:逻辑覆盖、循环覆盖和基本路径覆盖
黑盒测试用例设计方法:等价类划分、边界值分析、错误猜测、因果图、状态图、测试大纲、
场景法、正交策略表。
4. 一个测试工程师应具备那些素质?
1、责任心
2、沟通能力
3、团队合作精神
4、耐心、细心、信心
5、时时保持怀疑态度,并且有缺陷预防的意识
6、具备一定的编程经验
5. 集成测试通常都有那些策略?
基于分解的集成:大爆炸集成\自顶向下集成\自底向上集成\ 三明治集成\基于调用图的
集成\基于路径的集成\分层集成\基于功能的集成\高频集成\基于进度的集成\基于风险集
成\基于事件集成\基于使用的集成\C/S 集成
问题二:你所了解的的软件测试类型都有哪些,简单介绍一下。
按测试 策略分类:1、静态与动态测试 2、黑盒与白盒测试 3、手工和自动测试 4、冒烟测
试 5、回归测试;
按测试阶段分类:单元测试、集成测试、系统测试;
其他常见测试方法:1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、
安装测试 7、界面测试 8、配置测试 9、文档测试 10、兼容性测试 11、安全性测试 12、
恢复测试
问题三:你认为做好测试计划工作的关键是什么?
明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确坚持“5W”规则,明确内容与过程“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
问题四:您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测
试,以最少的用例在合理的时间内发现最多的问题
问题六:您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
性能测试的目的主要是发现在并发多用户和大数据量操作时是否会出现与需求有差异的地
方。性能测试工作的关键是做好系统分析和功能分析,确定系统瓶颈所在(这里参看 ATT
第十章 LoadRunner 的 PPT)。
问题八:你的测试职业发展目标是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试
工程师奔去。而且我也有初步的职业规划,前 3 年累积测试经验,不断的更新自己改正自己,
做好测试任务。
问题九:你对我们公司了解有多少?
建议从招聘广告上多了解信息,同时到应聘公司的网站上去尽可能多的了解这个公司的情
况,以便回答好这类问题。
问题十:测试结束的标准是什么?
从微观上来说,在测试计划中定义,比如系统在一定性能下平稳运行 72 小时,目前 Bug
Tracking System 中,本版本中没有一般严重的 BUG,普通 BUG 的数量在 3 以下,BUG 修复
率 90%以上等等参数,然后由开发经理,测试经理,项目经理共同签字认同版本 Release。
如果说宏观的,则是当这个软件彻底的消失以后,测试就结束了。
1 1 、 软件测试分为黑盒和白盒,分别适合什么情况? ?
软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑
驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能
指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在
最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及
性能需求的规定。
2、一套完整的测试应该由哪些阶段组成?
可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验
收测试
4、测试用例通常包括那些内容?
不同结构的用例包括的不一样。(版本、编号、项目、设计人员、设计日期、输入、预期输出„„)
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。
用例编号: 测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:
PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
测试标题: 对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” 。
重要级别: 定义测试用例的优先级别,可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。一般来说,如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例优先级也为“ 高 ” ;反之亦然,一般而言,是 5 级划分。
测试输入: 提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
操作步骤: 提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
预期结果: 提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在
实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。