软件测试面试题集锦(重点).doc
《软件测试面试题集锦(重点).doc》由会员分享,可在线阅读,更多相关《软件测试面试题集锦(重点).doc(110页珍藏版)》请在三一办公上搜索。
1、软件测试面试题 01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比 ISO 质量认证一 样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的 过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告 中得出软件的质量情况。 保证软件质量的最后一道关口。02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 我曾经做过 web 测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户 体验测试。最擅长的是功能测试 03. 您所熟悉的软件测试类型都有哪些?请试着分
2、别比较这些不同易用性测试-界面的友好性,操作方便性等。功能测试-系统中功能性需求的满足安全性测试-系统是否存在安全隐患和漏洞性能测试-系统在大并发下的响应速度和健壮性 软件测试的分类从是否关心软件内部结构和具体实现的角度划分 A.白盒测试 B.黑盒测试 C.灰盒测试从是否执行程序的角度 A.静态测试 B.动态测试从软件开发的过程按阶段划分有 A.单元测试 B.集成测试 C.确认测试 D.系统测试 E.验收测试 * 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 * 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功
3、能。 * 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 * 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。 * 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。功能测试、健壮性测试、接口测试、强度测试、压力测试、性能测试、用户界面测试、可靠性测试、安装/反安装测试、文档测试。功能测试:功能测试主要针对产品需求说明书的测试,是验证功能是否否合需求,包括原定功能的检验、是否有冗余功能、遗漏功能。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作,他们也
4、需要进行基本功能的测试。接口测试:程序员对各个模块进行系统联调的测试,包含程序内接口和程序外接口测试。这个测试,在单元测试阶段进行了一部分工作,而大部分都是在集成测试阶段完成的。由开发人员进行。性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该与性能测试一同进行。用户界面测试:对系统的界面进行测试,测试用户界面是否友好、是否方便易用、设计是否合理、位置是否正确等一系列界面问题安装/反安装测试:安装测试主要检验软件是否可以正确安装,安装文件的各项设置是否有效,安装后能否影响原系统;反安装是逆过程,测
5、试是否删除干净,是否给影响原系统等。文档测试:主要测试开发过程中针对用户的文档,以需求、用户手册、安装手册等为主,检验文档是否和实际应用存在差别。文档测试不需要编写测试用例。测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于
6、性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。区别在于,功能测试关注产品的所有功能上,
7、要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。1,按是否需要执行
8、被测软件的角度 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。2、按阶段划分: 1 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试
9、。因此应用系统有一个设计很好的体系结构就显得尤为重要。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 2 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 3 系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要
10、求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 4 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。 5 回归测试 回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两
11、重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。 6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。 7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。3、按测试方法划分: 1 白盒测试 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品
12、内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三
13、,穷举路径测试可能发现不了一些与数据相关的错误。 白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。2 黑盒测试黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类
14、划分、边值分析、因果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot等。3 ALAC(Act-like-a-customer)测试ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产
15、品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。 04. 的测试类型的区别与联系(如功能测试、性能测试) 测试类型有:功能测试,性能测试,界面测试。 功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个 黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的 内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错 误推测、因果图和综合策略。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各 项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结
16、合进行。通过负载 测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指 标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能 提供的最大服务级别的测试。 界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印 象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如 同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成 功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的 畏惧与放弃中付诸东流。 区别在于,功能测试关注产品的所有功能上,要
17、考虑到每个细节功能,每个可能存在的 功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关 注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的), 是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据, 当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功 能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。集成测试:模块或模块直接的集成接口测试
18、,单个模块测试系统测试:一个完整功能的完全测试。04您认为做好测试用例设计工作的关键是什么? 测试计划工作的关键:了解项目或系统的业务需求和项目经理协调好,了解项目的进度计划安排情况白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测 试,以最少的用例在合理的时间内发现最多的问题 1. 用户需求,需要了解需求。不了解需求,设计测试用例无从谈起。2. 把需求分析进化成需求点列表。这样才能保证覆盖率。也是后期核查测试覆盖率以及更新添加测试用例的依据。3.了解功能的层次,哪些是主要功能,需要详细设计,全面
19、覆盖,哪些是不常用的功能,可以粗线条的设计。哪些功能是设计接口比较多多,哪些是新功能,需要主要侧重点进行设计。对于留用功能(既存功能)和关系不太复杂的设计上就可以减少量.这些原则可以决定测试用例设计的颗粒度大小从而让控制风险更有依据。4.注意测试用例的设计的有效性和复用性05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区 别与联系。 - Page 2- 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要 求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规 格要求,所有内部成分是否以经过检查。 软件的黑盒
20、测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑 盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书, 检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒 测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个 打开的盒子,它允许测试人员利用程序内部的逻
21、辑结构及有关信息,设计或选择测试用例, 对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状 态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行 如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、 很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下 某个特定函数的行为。 单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 试题 集锦 重点

链接地址:https://www.31ppt.com/p-4081088.html