收藏 分享(赏)

测试笔试题目集合02.doc

上传人:dzzj200808 文档编号:2534454 上传时间:2018-09-21 格式:DOC 页数:10 大小:63.50KB
下载 相关 举报
测试笔试题目集合02.doc_第1页
第1页 / 共10页
测试笔试题目集合02.doc_第2页
第2页 / 共10页
测试笔试题目集合02.doc_第3页
第3页 / 共10页
测试笔试题目集合02.doc_第4页
第4页 / 共10页
测试笔试题目集合02.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、爱帮网软件测试笔试题一.测试用例设计题:1.输入三个数据 a,b,c,输入三个数构成三角形,测试 a,b,c 构成三角形,计算其面积(设计测试用例时面积不用实际计算出来,用 X 代替面积)1)int a,b,c2)1a;b,c1003)int area2.根据中国象棋中的棋子 “马”的走向路径,画出因果图并形成判定表。二.逻辑题1.有 3 个黑帽子,2 个白帽子,让三个人并排站成一排,给这三个人每个人都戴上帽子(最后一个人能看到前面两个人戴的帽子的颜色和样子,中间那个人能够看到自己的左右两个人的帽子的颜色和样子,最前面的那个人什么也看不到),如果问最后那个人自己戴的什么颜色的帽子,他说不知道,

2、那就继续问下一个人。其实他们三个戴的都是黑色的帽子,最前面那个人知道自己戴的是什么颜色的帽子,为什么?2.猴子身边有 100 根香蕉,离猴子家有 50 米,猴子把香蕉拿回家一次只能拿 50 根(多一根就会累死),猴子每走 1 米就吃掉一根,请问猴子到家能拿多少根香蕉?三.其它1.软件测试用例设计的关键是什么?2.软件测试结束的标准是什么?数据库测试通常都包括哪些方面?数据库测试一般包括:1. 数据库连接测试2. 数据库的健壮性,容错性和恢复能力测试3. 数据库的安全测试4. 数据库的性能测试5. 数据库的容量测试6. 数据库对象的测试,包括定义的存储过程,视图,触发器,约束,规则等等,都要进行

3、测试以保证功能完好7. 数据库接口测试,包括数据项的修改操作数据项的增加操作数据项的删除操作数据表增加满数据表删除空删除空表中的记录数据表的并发操作针对存储过程的接口测试结合业务逻辑做关联表的接口测试同样我们需要对这些接口考虑采用等价类、边界值、错误猜测等方法进行测试软件测试人员应该具备的知识结构这是我从一个网站上看到的总结,一个合格的测试人员应该具备全面的知识结构,同样,具备全面的知识结构也能使你在找工作面试过程中有更好的表现,下面列出来给大家,希望有所帮助。1. 产品知识:一定要非常熟悉你所测试的产品。小到你所测试的模块,大到整个产品的架构,内部实现,代码,等等。2. 测试知识:黑盒测试,

4、白盒测试,手工测试,自动化测试,性能测试,安全测试等等。3. 开发知识:编程,数据结构,算法,调试等等。4. 专业知识:以上 2,3 是基本的知识,你还应该精通一些你从事的更专的技术知识。比如,如果你的产品是基于.net 的,你应该精通.net, 或者类似的 J2ee 等。(例如这方面我应该掌握的 Win32 系统编程,Windows 内核, WDM 等等)5. 领域知识:你应该精通你所工作的领域的知识,比如手机领域,数据库领域等等。6. 行业知识:你要对计算机行业的整体状态,新技术,动态,发展趋势有一个明确认识。(比如我除了自己从事的领域还关注 Web2.0,云计算等等)要记住,你首先是一个

5、计算机人才,其次是一个软件人才,再次是一个测试人才,最后你才是一个 SQAA, SQAE, STE, SDET 等等。要想做一个高级测试人才,这一条线的知识都需要掌握。测试用例设计生成的基本原则测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等;测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果;测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。什么是测试用例测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包

6、括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不统一,变化更大、更快。笔者主要从事企业管理软件的测试。因此我们的做法是把测试数据和测试脚本从测试用例中划分出来。测试用例更趋于是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。依据你的经验,软件测试需要遵守哪些原则?1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2. 测试用例应由测试输入数据和对应的预期输出结果两部分组成。3. 程序员应

7、该避免检查自己的程序。4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件,也就是是证真和证伪的过程。5. 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。6. 严格执行测试计划,排除测试的随意性。7. 应当对每一个测试结果做全面检查。8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便一套带答案的软件测试笔试题面试题一、选择:(8)1、测试人员应在软件生命周期中的下面哪个阶段介入最好( A )A、需求阶段 B、设计阶段C、编码阶段 D、系统集成阶段2、在确定测试目标的过程中,测试人员主要完成以下的( A、B、C、

8、D )A、确定测试的标准和规范 B、确定测试环境C、确定测试内容 D、确定用户的特殊要求3、在制定测试方案时,以下必须要说明的有( A、B、C )A、确定所使用的测试方法 B、确定所使用的测试工具C、确定所需要的测试资源 D、确定测试资源的合理分配4、越早进行测试越好,对还是错( A )A、对 B、错5、下列不属于测试目标的是( D )A、找出软件中潜在的各种错误和缺陷 B、为可靠性分析提供了依据 C、证明软件的功能和性能与需求说明相符合 D、表明软件中不存在错误6、瀑布模型是( A、B )A、线性模型 B、原型模型C、RAD 模型 D、演化模型7、 V 字模型的设计阶段对应的测试阶段是( B

9、 )A、单元测试 B、集成测试C、系统测试 D、验收测试8、下列不属于黑盒测试的方法范畴之内的是( A )A、逻辑覆盖 B、等价类划分C、边界值分析 D、因果图二、填空:(24)1、在测试执行结束后应该提交的文档有:测试问题报告 、测试记录报告 、 阶段问题统计报告 。2、在测试总结后应该提交的文档有:_ 测试问题分析报告_、_测试总结报告 _。3、 RAD 方法中由于根本的 需求 没有被冻结,所以用户在设计的过程中是迭代的。4、在 RAD 环境的测试是基于开发过程中的 用户改进迭代 。5、在 RAD 方法中由于设计、编码和集成的反复循环性,导致了测试的 设计 、 执行等的循环性。6、测试项目

10、的流程中一般有 测试策划 、 测试设计 、 测试准备 、 测试执行 、 测试总结 五个阶段。7、在测试规划过程中,应对 测试内容 、 测试需求的资源 、 测试通过的标准 、 测试进度和风险 进行计划。8、在测试设计过程中,应做出 测试计划 、测试用例,并要经过评审。9、在执行测试的过程中应该注重用例执行时 系统的实际动作和输出的真实准确记录 。10、所有的测试都应追溯到 用户需求。11、在集成测试的过程中,由于采用的测试策略不同,需要集成测试人员自己去编写 驱动器 和 桩模块 。软件测试的几个名词解释面试题1、 测试:测试人员用用户提供的数据,而不是模拟数据进行测试;测试整个系统, 以保证其达

11、到可以交付使用的状态2、 测试:指将软件安装在一些潜在的客户处,由客户们根据实际使用情况将遇到的问题报告出来的测试方法。3、 静态测试:在不运行程序的情况下,对软件进行测试的方法称为静态测试,如源代 码走查、文档测试等都属于静态测试。4、动态测试:运行程序挖掘软件的缺陷的测试方法。按 bug 严重性分类可将 BUG 分为那些类型?按 bug 严重性分类可将 BUG 分为 A 类严重、B 类一般、C 类轻微、D 类改进,那么请将界面类、功能类、性能类等各种类型的错误归纳到前面的四类中。A 类:严重错误,包括以下各种错误1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.数据库设计未

12、达到第三范式的要求或需求规格说明的格式水平5.功能错误6.与数据库连接错误7.数据通讯错误B 类:较严重错误,包括以下各种错误1.程序错误2.因错误操作迫使程序中断3.程序接口错误4.数据库的表、业务规则、缺省值未加完整性等约束条件C 类:一般性错误,包括以下各种错误1.操作界面错误(包括数据窗口内列名定义、含义是否一致)2.打印内容、格式错误3.简单的输入限制未放在前台进行控制4.删除操作未给出提示5.数据库表中有过多的空字段D 类:较小错误,包括以下各种错误1.界面不规范2.辅助说明描述不清楚3.输入输出不规范4.长操作未给用户提示5.提示窗口文字未采用行业术语6.可输入区域和只读区域没有

13、明显的区分标志E 类:测试建议,这一类相当重要根据实际经验说明配置测试环境一般需遵循那些原则:符合软件运行的最低要求。测试环境首先要保证能支撑软件正常运行。2.选用比较普及的操作系统和软件平台。例如,一个软件若声称支持“Windows9X/ME/NT Workstation/2000 professional”和“MS Office 97/2000/XP”,一般我们会采用如“Windows 2000professional+MS Office 2000”的流行环境。3.营造相对简单、独立的测试环境。除了操作系统,测试机上只安装软件运行和测试必需的软件,以免不相关的软件影响测试实施。4.无毒的环

14、境。利用有效的正版杀毒软件检测软件环境,保证测试环境中没有病毒。考察软件的安全可靠性时,一般从那些方面来判断 ?用户权限限制;软件是否按功能模块划分用户权限,权限划分是否合理,考察超级用户对各个用户的权限管理是否合理,包括修改用户的登录资料等。2、用户和密码封闭性。软件对用户名和密码有无校验,有无保护措施,尤其对密码有无屏蔽功能。3、系统对用户错误登录的次数限制。软件对用户错误登录有无次数限制,一般做法是连续三次登录失败就退出系统。4、留痕功能。软件是否提供操作日志,比如某用户登录的时间,查询、修改或删除的动作以及离开的时间等。5、屏蔽用户操作错误。考察对用户常见的误操作的提示和屏蔽情况,例如

15、可否有效避免日期的录入错误或写入无效的日期6、错误提示的准确性。当用户操作错误或软件发生错误时,能否有准确清晰的提示,使用户知道造成错误的原因。例如当用户未输入完有效信息时存盘,系统应当给出关于未输入项的提示。7、错误是否导致系统异常退出。考察软件运行的稳定性,当软件发生一般错误或严重错误时,软件是否会自动退出。8、数据备份与恢复手段。主要针对有数据存储需要的软件,有的软件依靠数据库操作系统本身的备份与恢复机制,这需要用户具备一定的操作知识;好的软件会提供备份与恢复的操作,不需要用户直接对数据库系统进行操作。9、输入数据有效性检查。当用户输入的数据有错时,软件应能判断数据的有效性,避免无效数据

16、的生成。10、异常情况的影响。在程序运行过程中进行掉电等试验,考查数据和系统的受影响程度;若受损,是否提供补救工具,补救的情况如何。11、网络故障对系统的影响。当网络中断连接时,是否会造成数据的丢失。单元测试、集成测试、系统测试的侧重点是什么?单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局

17、上很可能暴露出来,影响功能的实现。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。介绍一下你对白盒测试的认识白盒测试(White-box Testing,又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试又称为结构测试和逻辑驱动测试。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判

18、定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证

19、。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。”白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。什么是数据和数据库完整性测试?它的测试内容是什么?因为在开发阶段开发人员随时都有可能根据需要来修改数据库,所以对数据和数据库完整性测试在软件项目的任何阶段也是非常必要的。该项测试内

20、容主要是以数据库表为单位,检查数据库表以及表中各字段命名是否符合命名规范,表中字段是否完整,数据库表中的字段描述是否正确包括字段的类型、长度、是否为空,数据库表中的关系、索引、主键、约束是否正确。您认为做好测试计划工作的关键是什么?1. 明确测试的目标,增强测试计划的实用性编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确2坚持“5W”规则,明确内容与过程“5W”规则指的

21、是“What(做什么) ”、 “Why(为什么做) ”、 “When(何时做) ”、 “Where(在哪里) ”、 “How(如何做) ”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why) ,明确测试的范围和内容(What) ,确定测试的开始和结束日期(When) ,指出测试的方法和工具(How) ,给出测试文档和软件的存放位置(Where ) 。3采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人

22、员。4. 分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。测试类型共划分为哪些?1、功能测试:对软件功能进行测试,检查软件的各项功能是否实现了软件功能说明书(软件需求)上的要求。2、界面测试:对用户界面进行测试,检查用户界面的美观度、统一性、易用性等方面的内容。3、流程测试:按操作流程进行测试,主要

23、有业务流程、数据流程、逻辑流程、正反流程,检查软件在按照流程操作时是否能够正确处理。4、并发测试:在网络环境、并发环境和多用户条件下对软件进行的测试。5、极限测试:在软件的极限条件下进行的测试,主要有对数据的极限值、边界值操作,对软件进行致命操作等。6、数据处理测试:对软件数据接口进行的测试,主要检查软件数据处理中输入、处理、输出数据过程。7、安全测试:对软件安全性方面的测试,主要检测软件中加密、解密、数据备份、恢复、病毒检测等问题。8、性能测试:对软件整体性能的测试,测试内容有适应性、健壮性、可恢复性、灾难恢复能力等9、安装测试:在不同 PC 条件、操作系统、模拟客户机等条件下进行软件的安装

24、测试,主要检查软件打包或发布之后存在的问题。10、性能测试:对软件整体性能进行测试,测试的内容有适应性、健壮性、可恢复性、灾难恢复能力等什么样的 bug 算是严重的 bug?一般来数,影响系统基本功能的执行,影响用户基本操作的 bug 是比较严重的 bug,下面几种情况就属于比较严重的 bug.1. 系统停止响应用户请求或处于死机状态,需要手工介入操作修复系统才可复原的情况。2. Web 系统中出现页面无法显示或者返回系统异常信息的情况。3. 因为某个 bug 造成用户无法登陆或者无法完成基本的系统操作的情况。4. 系统经常不稳定造成用户无法正常操作的情况。5. 因为一个功能的错误造成其他重要

25、功能无法正常执行的情况。介绍一下白盒测试中的循环测试?程序执行过程中可能会反复多次执行循环结构中的语句,如果多执行一次或少执行一次都会造成运行结果错误。循环测试是为了检查循环结构的正确性。当程序是可终止时,循环结构总有一个最大执行次数 n,但由于开销限制,一般不可能对循环恰好执行 0 次、1 次、n 次都分别测试一次。这里考虑简单循环(即不考虑循环嵌套、非结构化循环等情况),当循环次数至多为 n 时,测试用例设计需要考虑以下方面:(1) 完全跳过循环;(2) 仅循环一次;(3) 循环两次;(4) 循环 m 次,mn ;(5) 循环 n-1 次、n 次、n+1 次。这样就可以把循环次数处于范围边

26、界附近和处于范围内部的情况都测试到。由于白盒测试方法与程序的代码控制结构直接相关,当程序复杂时,其测试开销非常巨大,通常只能在一定的测试充分性准则下进行(见 1.3 节)。例如,一般应用领域的程序可能达到语句覆盖即可,关键领域的软件测试需要满足多条件覆盖等更加严格的充分性准则= 和 equals 的区别在比较对象时候,常常用到 “=” 和 “equals(Object)”。它们常常让初学者感到疑惑。下面先看一个例子public class Example1public static void main(String args)String s1=new String(”abc”);String

27、 s2=new String(”abc”);/ s1=s2;System.out.println(”用 = 比较结果”);System.out.println(s1=s2); /false既然两个 String 对象内容同为 “abc” 为什么先打出 false 呢。那是由于 “=” 比较的是两个对象的引用 (references),并不是他们的内容 ,怎么才能比较内容是否相等呢?去掉 s1=s2 一句的注释符结果就不同了,因为他们的引用相同了。我们要使用 equals(Object) 方法,由于 equals(Object) 方法为 Object 类中定义的方法,所用按照默认方式定义过的类均

28、是其子类。 也就是说 Object 类为所有类的超类 (super class,也叫父类、基类等),在 Object 中的 equals(Object) 方法其标准形式为public boolean equals(Object obj)返回类型为 boolean ,即 true/false 与 “=” 返回类型一样。 Object 类中定义的 equals(Object) 方法是直接使用 “=” 比较的两个对象,所以在没有覆盖 (override,或称改写、重写) equals(Object) 方法的情况下,equals(Object) 与 “=” 一样是比较的引用。如下例 (结果在注释中):

29、public class Example4public static void main(String args)Example4 e=new Example4();Example4 e4=new Example4();System.out.println(”用 equals(Object) 比较结果”);System.out.println(e.equals(e4); /结果为 falseSystem.out.println(”用 = 比较结果”);System.out.println(e=e4); /结果为 falseequals(Object) 方法与 “=” 相比的特殊之处就在于它可以

30、覆盖,所以我们可以通过覆盖的办法让它不是比较引用而是比较数据内容。当然 JDK 中也有覆盖过 equals(Object) 方法的类,如 java.lang.String,它就覆盖了从 Object 继承来的的 equals(Object) 方法,用以比较字符串内容是否相同。看看下面这个例子:public class Example1public static void main(String args)String s1=new String(”abc”);String s2=new String(”abc”);System.out.println(”用 = 比较结果”);System.out.println(s1=s2);/falseSystem.out.println(”用 equals(Object) 比较结果”);System.out.println(s1.equals(s2);/true例中用 equals(Object) 比较结果为 true。用 = 比较结果为 false。String.equals(Object) 方法直接比较了两个字符串的内容,如果相同则返回 true ,否则返回 false。你可以尝试把其中一个 “abc” 改成 “abcde”,看看结果有何变化。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报