软件测试用例分析 习题完美整合版

合集下载

软件测试用例分析-习题完美整合版汇总

软件测试用例分析-习题完美整合版汇总

场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.1.确定基本流与备选流基本流: 步骤1. 开始答题步骤2. 判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3. 用户答题并答对题目,增加用户相应积分。

步骤4. 判断积分是否达到设定值,达到,获取一个礼包,流程结束。

备选流1: 不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。

备选流2: 答错题目基本流步骤3时,答错题目,处理:提示用户答错题目,回到基本流步骤2备选流3:答题后积分达不到设定值基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤22.确定以下用例场景:3.通过从确定执行用例场景所需的数据元素入手构建矩阵4.设计数据,把数据填入上面的用例表中二、下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

3.用例设计4.测试用例表三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

第一步:确定基本流和备选流基本流:登录在线网站→选择物品→登录账号→付款→生成订单;备选流1:账户不存在;备选流2:账户密码错误;备选流3:用户账户余额不足;备选流4:用户账户没钱。

第二步:根据基本流和备选流确定场景场景1成功购物:备选流;场景2账号不存在:基本流,备选流1;场景3账号密码错误:基本流,备选流2;场景4账户余额不足:基本流,备选流3;场景5账户没钱:基本流,备选流4。

等价类划分法一、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

年龄:一位、两位或三位整数,值的有效范围为0~120性别:一位英文字符,只能取值‘M’或‘F’婚姻:字符,只能取值‘已婚’或‘未婚’抚养人数:空白或一位非零整数(1~9)(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例。

(完整版)软件测试题目与答案

(完整版)软件测试题目与答案

软件测试课堂测验第一次测验:Consider an application App that takes two inputs name and age, where name is a nonempty string containing at most 20 alphabetic characters and age is an integer that must satisfy the constraint 0≤age≤120. The App is required to display an error message if the input value provided for age is out of range. The application truncates any name that is more than 20-character in length and generates an error message if an empty string is supplied for name.(1)Please find out the equivalence classes(等价类). (30分)(2)Construct test cases using the equivalence classes derived in(1)(20分)答案:Consider a method fp, brief for findPrice, that takes two inputs code and qty. The item code is represented by the integer code and the quantity purchased by another integer variable qty. fp accesses a database to find and display the unit price, the description, and the total price of the item corresponding to code. fp is required to display an error message, and return, if either of the two inputs is incorrect. Assuming that an item code must be in the range 99…999 and quantity in the range 1…100.Please give your test cases using boundary-value analysis.(50分)答案:第二次:1.Develop a decision table for the descriptions belowNo charges are reimbursed(报销)to the patient until the deductible(扣除)has been met. After the deductible has been met, the amount to be reimbursed depends on whether or not the doctor or hospital is a "Preferred Provider." For preferred providersDoctor's office visits are reimbursed at 65% and Hospital visits are reimbursed at 95%. For other providers reimburse 50% for Doctor's Office visits or 80% for Hospital visits.答案:2.Develop a decision table for the YesterDate function.答案:第三次:Cause-Effect Testing:In a given network, the sendfile command is used to send a file to a user on a different file server. The sendfile command takes three arguments: the first argument should be an existing file in the sender’s home directory, the second argument should be the name of the receiver’s file server, and the third argument should be the receiver’s userid. If all the arguments are correct, then the file is successfully sent; otherwise the sender obtains an error message.答案:中国象棋走马下法:1. 如果落点在棋盘外,则不移动棋子;2. 如果落点与起点不构成日字形,则不移动棋子;3. 如果落点处有自己放棋子,则不移动棋子;4. 如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5. 如果不属于1-4,且落点处无棋子,则移动棋子;6.如果不属于1-4,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。

软件测试习题集及答案

软件测试习题集及答案

一、判断分析题1.软件测试的目的是尽可能多的找出软件的缺陷.Y2.软件测试的目的是证明软件没有错误.N3.测试组负责软件质量.N4.程序的效率与程序的复杂性相关.N5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性. Y6.测试程序仅仅按预期方式运行就行了.N7.好的测试员不懈追求完美. Y8.不存在质量很高但可靠性很差的产品.N9.测试是为了验证该软件已正确地实现了用户的要求. N10.发现错误多的程序模块,残留在模块中的错误也多.Y11.程序效率的提高主要应通过选择高效的算法来实现. Y12.测试人员要坚持原则,缺陷未修复完坚决不予通过.N13.项目立项前测试人员不需要提交任何工件.Y14.缺陷跟踪系统只针对对测试人员来使用.N15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品. N16.软件项目在进入需求分析阶段,测试人员应该开始介入其中. Y17.测试是提高产品质量根本手段.18.代码评审员一般由测试员担任.N19.代码评审是检查源代码是否达到模块设计的要求.N20.软件测试员可以对产品说明书进行白盒测试.N21.静态白盒测试可以找出遗漏之处的问题.Y22.总是首先设计白盒测试用例.N23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的.N24.黑盒测试方法中最有效的是因果图法.Y25.软件测试按照测试过程分类为黑盒、白盒测试.N26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试.Y27.白盒测试时一般由开发人员兼任测试人员的角色.Y28.黑盒测试是从用户观点出发的测试.Y29.白盒测试是从用户观点出发的测试.N30.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试.N31.程序通过了全面的白盒测试,就不需要再进行黑盒测试了.N32.对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数.33.如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类.Y34.不能对输出值域进行健壮性测试.35.有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方.Y36.有n个变量的函数的健壮最坏情况测试用例的个数为:7的n次方.N37.有n个变量的函数的健壮性测试用例的个数为:5n+1.N38.有n个变量的函数的最坏情况测试会产生5的n次方个测试用例.Y39.有n个变量的函数的边界值分析会产生4n+1个测试用例Y40.边界值分析的假设是“多缺陷”假设 .N41.健壮性测试的主要价值是观察例外情况的处理.Y42.在设计测试用例时,应包括合理的输入条件和不合理的输入条件.Y43.弱健壮等价类测试基于多缺陷假设.N44.强健壮等价类测试是基于多缺陷假设,并考虑了无效值.Y45.强一般等价类测试考虑了无效值.Y46.弱一般等价类是基于单缺陷假设.Y47.弱健壮等价类测试基于单缺陷假设并考虑了无效值.Y48.等价类测试的弱形式不如对应的强形式的测试全面Y49.语句覆盖是最弱的逻辑覆盖.Y50.语句覆盖是最强的逻辑覆盖.N51.判定覆盖不一定包含条件覆盖.Y52.条件覆盖不一定包含判定覆盖.Y53.判定/条件覆盖能同时满足判定、条件两种覆盖标准.Y54.判定/条件覆盖指满足判定覆盖标准或条件覆盖标准.N55.DD-路径图是一种压缩图.Y56.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述. Y57.尽量用公共过程或子程序去代替重复的代码段.N58.对于连锁型分支结构,若有n个判定语句,则有2n条路径.Y59.尽量采用复合的条件测试,以避免嵌套的分支结构.Y60.GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁.Y61.单元测试能发现约80%的软件缺陷.Y62.单元测试属于动态测试. N63.单元测试多采用白盒测试结构性测试技术.Y64.单元测试需要从程序的内部结构出发设计测试用例.Y65.单元测试需要为每个基本单元开发驱动模块或桩模块.Y66.在面向对象语言语言中,单元测试是函数或子过程.67.单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作.Y68.集成测试计划在需求分析阶段末提交.N69.自底向上集成需要测试员编写驱动程序.Y70.进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块.Y71.进行自底向上集成测试,需要为所测模块或子系统编制相应的桩模块.N72.进行自顶向下集成测试,需要为所测模块或子系统编制相应的驱动模块.N73.进行自顶向下集成测试,需要为所测模块或子系统编制相应的桩模块.Y74.MM-路径是可执行路径.Y75.非渐增式集成方式,发现错误难以诊断定位.Y76.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统.Y77.系统测试多采用白盒测试结构性测试技术.N黑盒测试78.验收测试是由最终用户来实施的.N79.负载测试是验证要检验的系统的能力最高能达到什么程度.N80.我们可以人为的使得软件不存在配置问题.N81.可以发布具有配置缺陷的软件产品.Y82.所有软件必须进行某种程度的兼容性测试. Y83.所有软件都有一个用户界面,因此必须测试易用性. N84.β测试是由软件的多个用户在实际使用环境下进行的测试.Y85.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求.Y86.Beta 测试是验收测试的一种.Y二、简答题1.什么是软件测试软件测试的目的和作用是什么答:利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估.软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果.软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷.测试是为了证明程序有错,而不是证明程序无错.一个成功的测试是发现了至今未发现的错误的测试.软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例.2.简述软件测试的目的和原则.答:软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷.测试是为了证明程序有错,而不是证明程序无错.一个成功的测试是发现了至今未发现的错误的测试.软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例.3.软件缺陷产生的原因答:A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改B.软件设计说明书C.软件操作人员的水平D.开发人员不能很好的理解需求明书和沟通不足4.什么是软件测试,以及软件测试的意义答:软件测试是为了发现错误而执行程序的过程.软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例即输入数据及预期的输出结果,并利用这些测试用例去运行程序,以发现错误的过程.意义:1.对产品质量完成全面的评估,为软件产品发布如验收测试、软件系统部署如性能规划测试、软件产品鉴定第三方独立测试委托方和被委托方纠纷仲裁第三方独立测试和其它决策提供信息;2.通过持续的测试包括需求评审、设计评审、代码评审等可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度.4.通过对缺陷进行分析,找出缺陷发生的根本原因软件过程中的问题,包括错误的行为方式或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的5.什么是软件测试什么是测试用例,测试用例必须包括那几部分答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据.这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据.6.简述你对测试工作的认识过程、在以后的工作的一些建议.7.请辨析软件的质量是“设计出来的”还是“测试出来的”观点.8.软件测试与软件开发的关系答:软件开发是一个系统的工程.包括需求分析,设计,编码,测试,维护等等几个环节.测试是整个软件开发流程中的一个环节.9.在测试生命周期中,测试过程分为几个阶段各个阶段的含义以及各阶段的测试依据是什么答:软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等.①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例.②测试执行:利用这些测试用例执行程序,得到测试结果.③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档.修改后的程序还要进行再次测试,直到满意为止.如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例.按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试.单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标.集成测试:对已测试过的模块进行组装,进行集成测试.系统测试:检验软件产品能否与系统的其他部分协调工作.验收测试:检验软件产品质量的最后一道工序.10.一名优秀的软件测试工程师应具备哪些素质答:一个优秀的测试工程师应该具备的基本素质有:责任心、沟通能力、团队精神、自信心、耐心、怀疑精神、洞察力、幽默感等.应具备的专业素质有:有竞争力的测试人员要具有三方面的技能:计算机专业技能、测试专业技能、软件编程技能.11.如何做一名合格的测试人员测试人员应具备素质如下:(1)沟通能力.(2)移情能力.(3)技术能力.(4)自信心.(5)外交能力.(6)幽默感.(7)很强的记忆力.(8)耐心.(9)怀疑精神.(10)自我督促.(11)洞察力.12.测试计划的目的是什么答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容.借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更.13.什么是黑盒测试黑盒测试主要采用的技术有哪些答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试.它从用户观点出发的测试.用这种方法进行测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构的内部特性、测试者只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性.黑盒测试的方法包括:边界值分析、等价类测试、基于决策表的测试和因果图等.14.简单描述黑盒测试各种方法的特点.答:黑盒测试的方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法等.边界值分析利用输入变量的最小值、略大于最小值、输入值域内的任意值、略小于最大值和最大值来设计测试用例.等价类划分法是把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试用例.经过类别的划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值.因果图方法就是从程序规格说明书的描述中找出因输入条件和果输出结果,将因果图转换为决策表,最后为决策表中的每一列设计一个测试用例.这种方法考虑到了输入情况各种组合以及各个输入情况之间的相互制约关系.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的.在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作.决策表法很适合测试这类问题.15.如果能够执行完美的黑盒测试,还需要进行白盒测试吗为什么答:需要,黑盒测试可根据程序规格检验程序是否完成规定功能,但无法发现程序内部的编码和逻辑错误,白盒测试与之相反互补.16.边界值测试有几种方法答:边界值分析和健壮性测试17.等价分类法的测试技术采用的一般方法举例说明答:(1)为每个等价类编号;(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止.(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价类被覆盖为止.18.什么是等价类如何划分等价类等价类测试中有哪些方法答:把单元的输入域化分为几种数据类,每种用来发现一类的错误,每类只用提供一个或几个用例数据.目的是减少用例数量.19.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系.答:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求.白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查.软件的黑盒测试意味着测试要在软件的接口处进行.这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明.因此黑盒测试又叫功能测试或数据驱动测试.黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能2、在接口上,输入是否能正确的接受能否输出正确的结果3、是否有数据结构错误或外部信息例如数据文件访问错误4、性能上是否能够满足要求5、是否有初始化或终止性错误软件的白盒测试是对软件的过程性细节做细致的检查.这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试.通过在不同点检查程序状态,确定实际状态是否与预期的状态一致.因此白盒测试又称为结构测试或逻辑驱动测试.白盒测试主要是想对程序模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍.2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍.3、在循环的边界和运行的界限内执行循环体.4、测试内部数据结构的有效性,等等.单元测试模块测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确.通常而言,一个单元测试是用于判断某个特定条件或者场景下某个特定函数的行为.单元测试是由程序员自己来完成,最终受益的也是程序员自己.可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试.执行单元测试,就是为了证明这段代码的行为和我们期望的一致.集成测试也叫组装测试,联合测试是单元测试的逻辑扩展.它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口.从这一层意义上讲,组件是指多个单元的集成聚合.在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分.方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试.最后,将构成进程的所有模块一起测试.系统测试是将经过测试的子系统装配成一个完整系统来测试.它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法.常见的联调测试系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计.验收测试是部署软件之前的最后一个测试操作.验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务.验收测试是向未来的用户表明系统能够像预定要求那样工作.经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样.20.什么是白盒测试白盒测试主要采用的技术有哪些白盒测试有那几种方法并简单描述各种方法的特点.答:白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试.它依赖于对程序细节的严密的检验.针对特定条件和循环集设计测试用例,对软件的逻辑路径进行测试.在程序的不同点检验程序的状态,来进行判定其实际情况是否和预期的状态相一致.白盒测试包括:逻辑覆盖、基路径测试、数据流测试、程序插装等.总体上分为静态方法和动态方法两大类静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖.21.常用的逻辑覆盖测试方法有哪几种并简单描述各种方法的目的.答:逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖及路径覆盖.语句覆盖:要求设计若干个测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次.判定覆盖:要求设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少执行一次,即判断的真假值均要被检测.判定覆盖又称为分支覆盖.条件覆盖:要求设计若干测试用例,执行被测程序,使得程序中每个判断的每个条件的可能取值至少被执行一次.判定/条件覆盖:要求设计足够的测试用例,执行被测程序,使得判断中每个条件的所有可能取值至少被执行一次,同时每个判断的所有可能判断结果也至少被执行一次.路径覆盖:要求设计足够多测试用例,覆盖程序中所有可能的路径.22.逻辑覆盖中几种主要覆盖的含义举例说明答:逻辑覆盖是一种使用最广泛的结构测试方法.逻辑覆盖以程序内部的逻辑结构为基础设计测试用例,要求对被测程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节.由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖及路径覆盖.23.单元测试有那些步骤,各个步骤有那些实施内容.答:1.静态检查:用工具Logiscope或者人工检查单2.动态检查:用工具PurifyPlus或者人工调试3.测试用例执行工具或人工设计测试用例及数据;提前编写测试用例代码、脚本、驱动模块和桩模块;提前运行测试用例,记录结果.在步骤1,2之后进行24.非增量式测试与增量式测试答:非增量式测试的方法是先分散测试,然后集中起来再一次完成集成测试.假如在模块的接口处存在错误,只会在最后的集成测试时一下子暴露出来.增量式测试是逐步集成和逐步测试的方法,把可能出现的差错分散暴露出来,便于找出问题和修改.而且一些模块在逐步集成的测试中,得到了较多次的考验,因此,可能会取得较好的测试效果.结论:增量式测试要比非增量式测试具有一定的优越性.25.简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点.答:自顶向下增量式测试:主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架.主要缺点是需要提供桩模块,并且在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难.自底向上增量式测试:优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也无困难.主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序系统的框架.26.简述集成测试的过程.集成测试的方法有那些答:系统集成测试主要包括以下过程:1. 构建的确认过程.2. 补丁的确认过程.3. 系统集成测试测试组提交过程.4. 测试用例设计过程.5. 测试代码编写过程.6. Bug的报告过程.7. 每周/每两周的构建过程.8. 点对点的测试过程.9. 组内培训过程.27.比较自顶向下集成测试和自底向上集成测试的优劣答:自顶向下集成测试表示逐步集成和逐步测试是按照结构图自上而下进行的,即模块集成的顺序是首先集成主控模块主程序,然后依照控制层次结构向下进行集成.自底向上集成测试表示逐步集成和逐步测试的工作是按结构图自下而上进行的,由于是从最底层开始集成,所以也就不再需要使用桩模块进行辅助测试.自顶向下测试的主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架.它的主要缺点是需要提供桩模块.自底向上的优点在于不需要桩模块,需用的驱动模块比较少.它的主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序系统的框架.。

软件测试用例测验题1

软件测试用例测验题1

1单选在黑盒测试方法中,设计测试用例的主要根据是()3单选凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫()4单选2元地铁票售票软件:投币2元时,按下“2元”按钮,弹出相应地铁票;投币5元,则弹出地铁票同时退还3元,若对该功能进行测试用例设计最宜选择哪种方法5单选黑盒测试技术,使用最广的用例设计技术是等值分析测试边界值分析测试错误推测法逻辑覆盖测试6单选既可以用于黑盒测试,也可以用于白盒测试的方法的是逻辑覆盖法边界值法基本路径法正交试验设计法7单选某购物中心电梯限坐15人。

在电梯中安装计数器来统计乘客数量。

如出现超出规定人数以外的任何情况,会有不同的警示音。

软件编写后进行边界值测试,应选取的边界值是:()1,15,16.1 1510,1515,208单选关于等价类划分法,下面说法不正确的是(9单选某系统对每个员工一年的出勤天数进行核算和存储(按每月22个工作日计算),使用文本框的模式进行填写,在此文本框的测试用例编写中使用了等价类。

下列关于等价类划分法,划分错误的是()无效等价类,出勤日>264无效等价类,出勤日<0有效等价类,0< =出勤日< =264有效等价类,0<出勤日<26410单选若一个通讯录最多可以输入100条记录,则下列哪组测试用例最优?分别输入1、50、100条记录分别输入0、1、50、99、100条记录分别输入0、1、99、100、101条记录分别输入0、1、50、99、100、101条记录11单诜对于功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应优先维修单选处理。

根据这段话,使用判定表法设计测试用例,以下说法不正确的是()12单选以下不属于因果图约束中的输入约束的是()要求强制13单选因果图中,关系符号“V”代表的是(恒等14单选现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时还退还1元币。

软件测试习题集附详细答案.docx

软件测试习题集附详细答案.docx

—、基本概念软件测试的基本任务动态测试与静态测试驱动模块与桩模块程序的三种基本控制结构程序效率软件软件工程软件生存周期非入侵式工具与入侵式工具二、判断题( )1.语句构造的原则是简单直接,不能因为追求效率而使代码复杂化( )2.文档是软件产品的一部分,没有文档的软件就不称其为软件。

( )3.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

( )4.边界值分析方法是取输入/输出等价类的边界值作为测试用例。

( )5,在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

( )6.好的测试用例应能证明软件是正确的。

( )7.白盒测试仅与程序的内部结构有关,可以不考虑程序的功能要求。

( )8.当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。

( )9,不完善的系统定义往往是导致软件项目失败的主要原因。

( )10. 一个成功的项目唯一提交的就是运行程序。

( )11. 一个好的测试用例在于能发现至今未发现的错误。

( )12.软件工程的考虑范围主要是程序设计和实现。

( )13.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。

)14.在结构化程序设计中,应尽量采用复合的条件测试,以避免嵌套的分支结构)15. GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。

( )16,发现错误多的程序模块,残留在模块中的错误也多。

( )17.程序效率的提高主要应通过选择高效的算法来实现。

( )18.模块化程序设计中,在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

( )19.作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。

( )20.为了快速完成集成测试,采用一次性集成方式是适宜的。

( )21.自底向上集成需要测试员编写驱动程序。

()( )22.拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助解决软件开发中遇到的任何问题。

(完整word版)软件测试习题集及答案(详细版)(word文档良心出品)

(完整word版)软件测试习题集及答案(详细版)(word文档良心出品)

一、判断分析题1.软件测试的目的是尽可能多的找出软件的缺陷。

(Y)2.软件测试的目的是证明软件没有错误。

(N)3.测试组负责软件质量。

(N )4.程序的效率与程序的复杂性相关。

(N )5.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

(Y )6.测试程序仅仅按预期方式运行就行了。

(N )7.好的测试员不懈追求完美。

( Y)8.不存在质量很高但可靠性很差的产品。

(N )9.测试是为了验证该软件已正确地实现了用户的要求。

( N)10.发现错误多的程序模块,残留在模块中的错误也多。

(Y )11.程序效率的提高主要应通过选择高效的算法来实现。

( Y)12.测试人员要坚持原则,缺陷未修复完坚决不予通过。

(N)13.项目立项前测试人员不需要提交任何工件。

(Y)14.缺陷跟踪系统只针对对测试人员来使用。

(N )15.从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。

(N )16.软件项目在进入需求分析阶段,测试人员应该开始介入其中。

( Y)17.测试是提高产品质量根本手段。

()18.代码评审员一般由测试员担任。

(N)19.代码评审是检查源代码是否达到模块设计的要求。

(N)20.软件测试员可以对产品说明书进行白盒测试。

(N )21.静态白盒测试可以找出遗漏之处的问题。

(Y )22.总是首先设计白盒测试用例。

(N)23.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

(N)24.黑盒测试方法中最有效的是因果图法。

(Y )25.软件测试按照测试过程分类为黑盒、白盒测试。

(N)26.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。

(Y)27.白盒测试时一般由开发人员兼任测试人员的角色。

(Y)28.黑盒测试是从用户观点出发的测试。

(Y)29.白盒测试是从用户观点出发的测试。

(N)30.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。

软件测试案例分析完整版

软件测试案例分析完整版

软件测试案例分析 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】对软件测试理解软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。

软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。

换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。

软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

1软件测试的方法黑盒测试在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否正确地输出结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能满足要求?是否有初始化或终止性错误?黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。

白盒测试在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。

通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

测试用例从程序的逻辑中产生。

确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。

这条原则是必要的,但不充分,因为部分错误并不能检测出来。

从上至下测试从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。

为了模仿被测试模块的低级模块,需要哑模块或桩子模块。

从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。

它的效果之一可以提高程序员的士气。

从上至下测试的主要缺点是需要桩子模块,并且在桩子模块中的测试数据直到输入输出模块加入之前不能确定。

某些模块的测试数据难以创建,因为桩子模块不能模拟数据流使得模块之间的数据流不能组织成有向无环图。

软件测试习题集及答案详细版word文档良心出品

软件测试习题集及答案详细版word文档良心出品

1.2.3.4.5.6.7.8.9.10.11.12.13.14.15. 一、判断分析题软件测试的目的是尽可能多的找出软件的缺陷。

软件测试的目的是证明软件没有错误。

( N)测试组负责软件质量。

(N )程序的效率与程序的复杂性相关。

(N )Y)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

测试程序仅仅按预期方式运行就行了。

(N )好的测试员不懈追求完美。

( Y)不存在质量很高但可靠性很差的产品。

(N )测试是为了验证该软件已正确地实现了用户的要求。

发现错误多的程序模块,残留在模块中的错误也多。

程序效率的提高主要应通过选择高效的算法来实现。

测试人员要坚持原则,缺陷未修复完坚决不予通过。

项目立项前测试人员不需要提交任何工件。

缺陷跟踪系统只针对对测试人员来使用。

从用户软件开发者的角度出发,以考虑是否可接受该产品。

(N )16. 软件项目在进入需求分析阶段,17. 测试是提高产品质量根本手段。

18.代码评审员一般由测试员担任。

19.20.21.22.23.24.25.26.27.28.29.30.31.Y)(N )( N)(Y)( Y)N)(Y )普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,测试人员应该开始介入其中。

( Y)N)代码评审是检查源代码是否达到模块设计的要求。

软件测试员可以对产品说明书进行白盒测试。

静态白盒测试可以找出遗漏之处的问题。

总是首先设计白盒测试用例。

(N)N)(N ) (Y )用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

黑盒测试方法中最有效的是因果图法。

(Y )软件测试按照测试过程分类为黑盒、白盒测试。

(N) 白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。

白盒测试时一般由开发人员兼任测试人员的角色。

黑盒测试是从用户观点出发的测试。

( Y)白盒测试是从用户观点出发的测试。

( N) (N)Y)白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.开始答题是否存在有效题目提供题目及备选答案答案是否正确增加题目积分积分大于或等于设定值?给予无有效题目提示结束奖励一个礼包1.确定基本流与备选流基本流: 步骤1. 开始答题步骤2. 判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3. 用户答题并答对题目,增加用户相应积分。

步骤4. 判断积分是否达到设定值,达到,获取一个礼包,流程结束。

备选流1: 不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。

备选流2: 答错题目基本流步骤3时,答错题目,处理:提示用户答错题目,回到基本流步骤2备选流3:答题后积分达不到设定值基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤22.确定以下用例场景:3.通过从确定执行用例场景所需的数据元素入手构建矩阵4.设计数据,把数据填入上面的用例表中二、下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。

3.用例设计4.测试用例表三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

第一步:确定基本流和备选流基本流:登录在线网站→选择物品→登录账号→付款→生成订单;备选流1:账户不存在;备选流2:账户密码错误;备选流3:用户账户余额不足;备选流4:用户账户没钱。

第二步:根据基本流和备选流确定场景场景1成功购物:备选流;场景2账号不存在:基本流,备选流1;场景3账号密码错误:基本流,备选流2;场景4账户余额不足:基本流,备选流3;场景5账户没钱:基本流,备选流4。

第三步:对每一个场景生成相应的测试用例测试用例ID 场景/条件账号密码用户账号余额预期结果1 场景1:成功购物V V V 成功购物2 场景2:账号不存在 1 n/a n/a 提示账号不存在3 场景3:账号密码错误(账号正确,密码错误)V 1 n/a 提示账号密码错误,返回基本流步骤34 场景4:用户账号余额不足V V 1 提示用户账号余额不足,请充值5 场景5:用户账号没钱V V 1 提示用户账号没有钱,请充值第四步:设计测试数据测试用例ID 场景/条件账号密码用户账号余额预期结果1 场景1:成功购物Test 123456 800 成功购物,账号余额减少100元2 场景2:账号不存在aa n/a n/a 提示账号不存在3 场景3:账号密码错误(账号正确,密码错误)Test 111111 n/a 提示账号密码错误,返回基本流步骤34 场景4:用户账号余额不足Test 123456 50 提示用户账号余额不足,请充值5 场景5:用户账号没钱Test 123456 0 提示用户账号没有钱,请充值等价类划分法一、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

年龄:一位、两位或三位整数,值的有效范围为0~120性别:一位英文字符,只能取值‘M’或‘F’婚姻:字符,只能取值‘已婚’或‘未婚’抚养人数:空白或一位非零整数(1~9)(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例。

二、某城市电话号码由三部分组成,分别是:地区码——空白或三位数字;前缀——非‘0’或‘1’开头的三位数字;后缀——4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

请使用等价类划分法设计测试用例,给出等价类列表,设计测试用例。

三、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。

这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。

四、设有一个档案管理系统,要求用户输入以年月表示的日期。

假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。

现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。

1)划分等价类并编号,下表等价类划分的结果输入等价类有效等价类无效等价类日期的类型及长度①6位数字字符②有非数字字符③少于6位数字字符④多于6位数字字符年份范围⑤在1990~2049之间⑥小于1990⑦大于2049月份范围⑧在01~12之间⑨等于00⑩大于122)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:测试数据期望结果覆盖的有效等价类200211 输入有效①、⑤、⑧3)为每一个无效等价类设计一个测试用例,设计结果如下:测试数据期望结果覆盖的无效等价类95June 无效输入②20036 无效输入③2001006 无效输入④198912 无效输入⑥200401 无效输入⑦200100 无效输入⑨200113 无效输入⑩五、NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后一天的日期。

例如,输入为2006年3月7日,则函数的输出为2006年3月8日。

要求输入变量month 、day 和year 均为整数值,并且满足下列条件:①1≤month≤12②1≤day≤31③1920≤year≤20501)有效等价类为:M1={月份:1≤月份≤12}D1={日期:1≤日期≤31}Y1={年:1812≤年≤2012}2)若条件①~ ③中任何一个条件失效,则NextDate 函数都会产生一个输出,指明相应的变量超出取值范围,比如"month 的值不在1-12 范围当中" 。

显然还存在着大量的year 、month 、day 的无效组合,NextDate 函数将这些组合作统一的输出:" 无效输入日期" 。

其无效等价类为:M2={月份:月份<1}M3={月份:月份>12}D2={日期:日期<1}D3={日期:日期>31}Y2={年:年<1812}Y3={年:年>2012}边界值分析法一、根据下面给出的规格说明,利用边界值分析的方法,给出足够的测试用例。

“一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。

这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。

”在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。

在此,我们将三角形每边边长的取范围值设值为[1, 100]我们可以设三角形的3条边分别为A,B,C。

如果它们能够构成三角形的3条边,必须满足:A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。

如果是等腰的,还要判断A=B,或B=C,或A=C。

如果是等边的,则需判断是否A=B,且B=C,且A=C。

二、现有一个学生标准化考试批阅试卷,产生成绩报告的程序。

其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如下图所示,所有记录分为3组:三、找零钱最佳组合假设商店货品价格(R) 皆不大于100 元(且为整数),若顾客付款在100 元内(P) ,求找给顾客之最少货币个(张)数?(货币面值50 元(N50) ,10 元(N10) , 5 元(N5) , 1 元(N1) 四种)1、分析输入的情形:R > 100 0 < R < = 100 R <= 0 P > 100 R<= P <= 100 P < R2、分析输出情形:N50 = 1 4 >= N10 >= 1 N5 = 1 4 >=N1 >= 13.分析每种情况,以RR1,RR2, RR3 ,RR4表示计算要找50, 10, 5 ,1元货币数时之剩余金额。

R > 100 R <= 0 P > 100 P <= RRR1 >= 50RR2 >= 10RR3 >= 5RR4 >= 14.由上述之输入/输出条件组合出可能的情形。

R > 100R <= 00 < R <= 100, P > 1000 < R <= 100, P < R0 < R <= 100, R <= P <= 100, RR = 500 < R <= 100, R <= P <= 100, RR = 490 < R <= 100, R <= P <= 100, RR = 100 < R <= 100, R <= P <= 100, RR = 90 < R <= 100, R <= P <= 100, RR = 50 < R <= 100, R <= P <= 100, RR = 40 < R <= 100, R <= P <= 100, RR = 10 < R <= 100, R <= P <= 100, RR = 05.为满足以上之各种情形,测试用例设计如下:1. 货品价格= 1012. 货品价格= 03.货品价格= -14. 货品价格= 100, 付款金额= 1015. 货品价格= 100, 付款金额= 996. 货品价格= 50, 付款金额= 1007. 货品价格= 51, 付款金额= 1008. 货品价格= 90, 付款金额= 1009. 货品价格= 91, 付款金额= 10010. 货品价格= 95, 付款金额= 10011. 货品价格= 96, 付款金额= 10012. 货品价格= 99, 付款金额= 10013. 货品价格= 100, 付款金额= 100四、NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。

判定表法一、判定表法是一种分析多种输入条件的组合情况的方法,多种输入条件可以通过判定表来完整地进行排列组合,从而不出现遗漏。

比如以下一个判断表达式:If ( (a>0) || (b>0) || (c>0&&c<100 ) ){…}这段程序中的判定条件可以用判定表如何表示?表中的c<=0?0<c<100?c>=100?是3个排他性条件,即其中同时只有一个条件会满足,也就是在同一列中只能有一个为Y,其他两个均为N。

相关文档
最新文档