洛阳理工学院软件测试技术(综合练习题)
软件测试习题集及答案(详细版)
软件测试习题集及答案(详细版)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、判断分析题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.白盒测试是从用户观点出发的测试。
软件测试习题集及答案(详细版)解答
1.什么是软件测试?软件测试的目的和作用是什么?答:软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。
软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。
测试是为了证明程序有错,而不是证明程序无错。
一个成功的测试是发现了至今未发现的错误的测试。
软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。
2.软件缺陷产生的原因?答: A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改 B.软件设计说明书 C.软件操作人员的水平 D.开发人员不能很好的理解需求明书和沟通不足3.软件测试的意义?意义:1.对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息;2.通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本;3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。
4.通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的4.软件测试与软件开发的关系?答:软件开发是一个系统的工程。
包括需求分析,设计,编码,测试,维护等等几个环节。
测试是整个软件开发流程中的一个环节。
5.简述软件测试过程v模型和w模型的主要区别:V模型是软件开发完了之后才开始测试活动。
而W模型则是软件测试活动伴随着软件开发活动。
软件测试综合试题(参考答案)
软件测试综合试题一、选择题1.关于软件质量的描述, 正确的是___B___A. 软件质量是指软件满足规定用户需求的能力;B. 软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性;C. 软件质量保证过程就是软件测试过程;D. 以上描述都不对2.___B___方法根据输出对输入的依赖关系设计测试用例。
A. 路径测试B. 等价类C. 因果图D. 边界值3.测试设计员的职责有: __B____①制定测试计划②设计测试用例③设计测试过程、脚本④评估测试活动A.①④B. ②③C. ①③D. 以上全是4.十进制102转换为二进制是_____B_A. 1100111B. 1100110C. 1100001D. 1011115.下列软件实施活动的进入准则描述错误的是: ___D___A. 需求工件已经被基线化B. 详细设计工件已经被基线化C. 构架工件已经被基线化D. 项目阶段成果已经被基线化6.用边界值分析法, 假定1<X<100, 那么X在测试中应该取的边界值是___B___A. X=1, X=100;B. X=0, X=1, X=100, X=101;C. X=2, X=99;D.X=O, X=101;7、对于业务流清晰的系统可以利用D__贯穿整个测试用例设计过程广在用例中综合使用各种测试方法, 对于参数配置类的软件, 要用C__选择较少的组合方式达到最佳效果, 如果程序的功能说明中含有输入条件的组合情况, 则一开始就可以选用B__和判定表驱动法A. 等价类划分B. 因果图法C. 正交试验法D. 场景法8.下列关于alpha 测试的描述中正确的是: (BD)A. alpha 测试需要用户代表参加B. alpha 测试不需要用户代表参加C. alpha 测试是系统测试的一种D. alpha 测试是验收测试的一种8、测试ATM取款功能, 已知取款数只能输入正整数, 每次取款数要求是100的倍数且不能大于500, 下面哪个是正确的无效等价类___C___A.(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞);B.(500, +∞);C.(500, +∞)、任意大于0小于500的非100倍数的整数;D.(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞);9、在SQL语言的Select语句中, 用于对结果元组进行排序的是哪一个子句?___C___A.GROUP BYB.HAVINGC.ORDER BYD.Where10、改变文件所有者的命令为__C____A chmodB touchC chownD cat二、简答题1.QC中有几个内置组?分别说出他们的作用。
软件测试综合题目(附答案new)
一、选择题:1.模块的耦合度描述了___D___。
A.模块内各种元素结合的程度B.模块内多个功能之间的接口C.模块之间公共数据的数量D.模块之间相互关联的程度2.内聚是一种指标,表示一个模块_B_____。
A.代码优化的程度B.代码功能的集中程度C.完成任务时及时程度D.为了与其他模块连接所要完成的工作量3.在UNIX操作系统中,把输入/输出设备看作是__D____。
A.普通文件B.目录文件C.索引文件D.特殊文件4.“<title style="italic">science</title>”是一个XML 元素的定义,其中元素标记的属性值是__C____。
A.title B.style C.italic D.science5. ___C___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一应用有关的数据逻辑表示。
A.模式B.逻辑模式C.外模式D.内模式解析:三级模式结构:外模式、模式和内模式一、模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:①一个数据库只有一个模式;②是数据库数据在逻辑级上的视图;③数据库模式以某一种数据模型为基础;④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(External Schema)定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:①一个数据库可以有多个外模式;②外模式就是用户视图;③外模式是保证数据安全性的一个有力措施。
三、内模式(Internal Schema)定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
软件测试练习题及答案
练习题、判断(01)测试是为了验证软件已正确地实现了用户的要求。
错(02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对(03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。
错(04)程序员兼任测试员可以提高工作效率。
错(05)黑盒测试的测试用例是根据应用程序的功能需求设计的。
对(06)当软件代码开发结束时,软件测试过程才开始。
错(07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。
对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。
错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。
错(10)在压力测试中通常采用的是黑盒测试方法。
对(11)软件测试员无法对产品说明书进行白盒测试。
对(12)功能测试工具主要适合于回归测试。
对(13)测试人员说:“没有可运行的程序,我无法进行测试工作”。
错(14)自底向上集成需要测试员编写驱动程序。
对(15)测试是可以穷尽的。
错(16)自动化测试相比手工测试而言,能发现更多的错误。
错(17)软件测试自动化可以提高测试效率,可以代替手工测试。
错(18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。
对(19)Beta测试是验收测试的一种。
对(20)软件开发全过程的测试工作都可以实现自动化。
错(21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错(22)结构性测试是根据软件的规格说明来设计测试用例。
错(23)软件测试工具可以代替软件测试员。
错(24)通过软件测试,可以证明程序的正确性。
错(25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。
错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。
对(27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。
错(28)单元测试通常由开发人员进行。
对(29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。
软件测试技术 课后习题答案
软件测试技术课后习题答案1. 什么是软件测试?软件测试是指用于评估软件质量、发现缺陷并提供有关软件产品的信息的过程。
它涉及检查和验证软件系统的各个方面,以确保其符合预期的功能需求、性能要求和可靠性要求。
2. 为什么软件测试至关重要?软件测试是确保软件质量的重要环节,它可以帮助我们:•发现和纠正软件中的缺陷和错误。
•提高软件的可靠性、效率和稳定性。
•减少软件开发过程中的成本和风险。
•增强用户对软件的信任和满意度。
3. 软件测试的主要原则有哪些?软件测试的主要原则包括:•早期测试:测试应尽早开始,并与开发过程的各个阶段相结合。
•全面测试:测试应涵盖软件的所有功能、性能和边界条件。
•自动化测试:利用合适的测试工具和脚本自动执行测试过程。
•追溯性:测试案例应与需求文档相对应,并追踪测试的进展和覆盖范围。
•重复性:测试应能够重复执行,并提供一致的结果。
4. 软件测试的主要类型有哪些?软件测试的主要类型包括:•功能测试:验证软件的各项功能是否符合需求。
•性能测试:评估软件在不同负载条件下的性能表现。
•安全测试:检查软件的安全漏洞和弱点,以保护数据和用户隐私。
•兼容性测试:测试软件在不同平台、操作系统和浏览器上的兼容性。
•用户界面测试:验证软件的用户界面是否易用和符合设计规范。
5. 软件测试的基本步骤是什么?软件测试的基本步骤包括:1.测试计划:制定测试目标、范围、资源和时间计划。
2.测试设计:根据需求文档制定测试策略和测试案例。
3.测试实施:执行测试案例,记录测试结果和发现的缺陷。
4.缺陷跟踪:跟踪和管理发现的缺陷,确保及时修复。
5.测试评估:评估软件的测试覆盖率和质量,制定测试报告。
6.测试闭环:根据评估结果进行改进,并重复以上步骤。
6. 什么是黑盒测试和白盒测试?•黑盒测试:基于需求规格说明书,通过输入和输出来测试软件的功能是否符合预期。
测试人员不需要了解系统的内部工作原理。
•白盒测试:测试人员需要了解系统的内部结构和代码来设计测试用例,以确保软件在各个代码路径上的正确性。
软件测试技术考试试题
软件测试技术考试试题一、单项选择题1. 在软件测试中,以下哪项是正确的?A. 测试是为了找到软件中所有的错误。
B. 测试是为了证明软件是正确的。
C. 测试是为了提高软件的质量。
D. 测试是为了节省开发成本。
2. 下面哪个是黑盒测试的主要目标?A. 确定软件是否符合规范和标准。
B. 验证软件是否满足用户需求。
C. 检查软件内部的逻辑错误。
D. 测试软件的性能和稳定性。
3. 在软件测试中,以下哪项是功能测试的主要目标?A. 检查软件是否可以正确运行。
B. 验证软件是否符合规范和标准。
C. 检查软件内部的逻辑错误。
D. 测试软件的性能和稳定性。
4. 在软件测试中,以下哪项是性能测试的主要目标?A. 确定软件是否符合规范和标准。
B. 检查软件内部的逻辑错误。
C. 验证软件是否满足用户需求。
D. 测试软件的性能和稳定性。
5. 在软件测试中,以下哪项是正确的?A. 黑盒测试只验证软件的输入和输出。
B. 白盒测试只验证软件的功能和性能。
C. 灰盒测试结合了黑盒和白盒测试。
D. 黑盒测试和白盒测试是相同的。
二、简答题1. 请简要解释什么是软件测试?答:软件测试是指对软件系统进行评价或检验,以发现系统中的错误、缺陷或其他问题。
通过测试,可以确认软件是否满足预期要求,发现潜在的问题,并进行修复,最终提高软件的质量。
2. 请阐述黑盒测试和白盒测试的区别。
答:黑盒测试是基于对软件的功能和需求进行测试,测试人员无需了解软件内部的实现细节。
黑盒测试主要通过输入和输出的验证来测试软件的正确性和完整性。
白盒测试则需要了解软件的内部结构和源代码,并基于此进行测试。
白盒测试主要关注软件内部的逻辑覆盖和代码执行路径等方面。
3. 请列举并解释三种常用的测试技术。
答:三种常用的测试技术包括功能测试、性能测试和安全测试。
- 功能测试:验证软件是否按照需求规格说明书的要求,对输入和输出的处理是否正确。
- 性能测试:测试软件在不同负载下的性能表现,例如响应时间、吞吐量等指标。
软件测试题目 附答案
软件测试题目附答案1. 什么是软件测试?软件测试是指通过运行程序,使用各种技术手段和工具,来评估软件系统的质量和功能是否符合预期。
目的是发现并修复软件中的缺陷、漏洞和错误,确保软件在正常条件下运行,并满足用户需求和期望。
2. 软件测试的目的是什么?软件测试的主要目的是发现潜在的错误和缺陷,以便在软件发布到市场或用户使用之前进行修复。
通过测试,可以验证软件是否满足用户需求,确保软件的正确性、鲁棒性和可靠性,提高软件的质量和可维护性。
3. 软件测试的分类有哪些?软件测试可以根据不同的分类标准进行划分,常见的分类包括以下几种:3.1 功能测试:验证软件产品的各项功能是否正常工作,是否符合需求规格。
3.2 性能测试:评估软件在不同负载条件下的性能表现,如响应时间、吞吐量和资源利用率。
3.3 安全测试:检测软件系统的安全性,发现潜在的漏洞和安全风险。
3.4 兼容性测试:验证软件在不同操作系统、浏览器和硬件平台上的兼容性。
3.5 压力测试:通过模拟大量用户并发访问,测试软件系统的稳定性和承载能力。
4. 软件测试的基本流程是什么?软件测试的基本流程包括以下几个步骤:4.1 确定测试目标和需求:明确测试的目标和需求,制定测试计划和测试策略。
4.2 设计测试用例:根据需求和功能设计测试用例,包括正常情况和异常情况下的测试场景。
4.3 执行测试用例:按照测试计划执行测试用例,记录测试过程和结果。
4.4 缺陷管理:发现缺陷时及时进行记录、报告和追踪,确保问题能够得到解决和修复。
4.5 分析测试结果:对测试结果进行分析,评估软件的质量和稳定性,提出改进和优化建议。
5. 软件测试的常用工具有哪些?软件测试过程中可以借助各种测试工具提高效率和准确性,常用的工具包括:5.1 自动化测试工具:如Selenium、Appium等,用于自动化执行测试用例和生成测试报告。
5.2 性能测试工具:如LoadRunner、JMeter等,用于测试软件系统在不同负载下的性能表现。
软件测试技术(习题卷16)
软件测试技术(习题卷16)第1部分:单项选择题,共56题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]自动化测试指的是A)测试执行的自动化B)测试执行和测试加过比较的自动化C)测试输入生成的自动化D)测试设计的自动化答案:B解析:2.[单选题]我喜欢通过阅读来学习A)强烈同意B)同意C)不同意D)最不同意答案:B解析:3.[单选题]网络上传输多媒体信息有两个主要应用层协议,其中()是管理传输质量和提供QOS信息的实时控制协议A)STPB)RTPC)HTTPD)RTCP答案:D解析:4.[单选题]从测试阶段角度,测试结束的正确顺序是( )A)验收测试、系统测试、集成测试、单元测试B)验收测试、集成测试、系统测试、单元测试C)单元测试、集成测试、系统测试、验收测试D)单元测试、系统测试、集成测试、验收测试答案:C解析:5.[单选题]关于软件缺陷,下列说法中错误的是。
( )A)软件缺陷是软件中(包括程序和文档)存在的影响软件正常运行的问题、错误、隐藏的功能缺失或多出。
B)按照缺陷的优先级不同可以将缺陷划分为立即解决、高优先级、正常排队、低优先级。
C)缺陷报告有统一的模板,该模板是IEEE729-1983制定。
D)每个缺陷都有一个唯一的编号,这是缺陷的标识。
答案:C解析:6.[单选题]Monkeyrunner是基于( )实现复杂测试用例的UI测试工具,通过坐标、控件ID来操作应用的UI元素,截取测试C)Java脚本D)python脚本答案:D解析:7.[单选题]针对是否对无效数据进行测试,可以将等价类测试分为( )A)标准(一般)等价类测试B)健壮等价类测试C)弱等价类测试D)强等价类测试答案:B解析:8.[单选题]软件测试阶段的集成测试主要是为了发现哪个阶段的错误?A)需求分析B)概要设计C)详细设计D)编码答案:B解析:9.[单选题]( )。
下面有关软件缺陷的说法中错误的是( )。
A)缺陷就是软件产品在开发中存在的错误B)缺陷就是软件维护过程中存在的错误、毛病等各种问题C)缺陷就是导致系统程序崩溃的错误D)缺陷就是系统所需要实现某种功能的实效和违背答案:C解析:10.[单选题]衡量计算机的平均无故障时间是计算机的( )。
软件测试模拟题及答案
一、选择题下列软件属性中, 软件产品首要满足的应该是【A 】A. 功能需求B. 性能需求1、C. 可扩展性和灵活性 D. 容错纠错能力2、软件缺陷产生的原因是【 D 】。
A. 交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷B. 软件的复杂性;软件项目的时间压力C. 程序开发人员的错误;软件项目文档的缺乏3、D. 以上都是4、导致软件缺陷的最大原因是【 A 】5、A. 规格说明书 B. 设计 C. 编码 D. 测试6、修复软件缺陷费用最高的是【 D 】阶段7、A. 编制说明书 B. 设计 C. 编写代码 D. 发布8、下列【 A 】不属于软件缺陷。
A. 测试人员主观认为不合理的地方B. 软件未达到产品说明书标明的功能C. 软件出现了产品说明书指明不会出现的错误9、D. 软件功能超出产品说明书指明范围10、软件测试的目的是【 B 】A. 避免软件开发中出现的错误B. 发现软件开发中出现的错误C.尽可能发现并排除软件中潜藏的错误, 提高软件的可靠性D. 修改软件中出现的错误软件测试技术可以分为静态测试和动态测试, 下列说法中错误的是【 D 】。
A.静态测试是指不运行实际程序, 通过检查和阅读等手段来发现程序中的错误。
11、B. 动态测试是指实际运行程序, 通过运行的结果来发现程序中的错误。
12、C. 动态测试包括黑盒测试和白盒测试。
13、D.白盒测试是静态测试, 黑盒测试是动态测试。
14、白盒测试是根据程序的【 C 】来设计测试用例。
15、A. 功能 B. 性能 C. 内部逻辑 D. 内部数据16、黑盒测试是根据软件的【 B 】来设计测试用例。
17、A. 功能 B. 规格说明 C. 内部逻辑 D. 内部数据18、用黑盒技术设计测试用例的方法之一为【 A 】A. 因果图B. 逻辑覆盖C. 循环覆盖D. 基本路径测试坚持在软件的各个阶段实施下列哪种质量保障措施, 才能在开发过程中尽早发现和预防错误, 把出现的错误克服在早期【 A 】。
洛阳理工学院软件测试技术综合练习题
洛阳理工学院软件测试技术综合练习题软件测试技术综合练习题一、根据下面给出的三角形的需求编写程序:(20分)输入条件:(1)a+b>c;(2)a+c>b;(3)b+c>a;(4)0<a<200;(5)0<b<200;(6)0<c<200;(7)a==b;(8)a==c;(9)b==c;(10)a2+b2==c2;(11)a2+ c2== b2;(12)c2+b2== a2输出结果:(1)不能组成三角形;(2)等边三角形;(3)等腰三角形;(4)直角三角形;(5)一般三角形;(6)某些边不满足限制具体的函数的调用关系图:复杂模块triangleType的流程图:代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Tester{class Program{static void Main(string[] args){int a, b, c;Console.WriteLine("请输入三角形的三条边,都是整数:");bool succ = int.TryParse(Console.ReadLine(), out a);succ = int.TryParse(Console.ReadLine(), out b);succ = int.TryParse(Console.ReadLine(), out c);Triangle triagle = new Triangle();int type=triagle.triangleType(a, b, c);switch (type){case 1:case 2:Console.WriteLine("2是等边三角形");break;case 3:Console.WriteLine("3是等腰三角形");break;case 4:Console.WriteLine("4是直角三角形");break;case 5:Console.WriteLine("5是一般三角形");break;case 6:Console.WriteLine("6某些边不满足限制");break;}//TriangleFunction(a,b,c);Console.ReadLine();}public static void TriangleFunction(int a,int b, int c){if (0 < a && a < 200 && 0 < b && b < 200 && 0 < c && c < 200){if (a + b > c && a + c > b && c + b > a){if (a == b && b == c && a == c) //这里可以省掉一个判断{Console.WriteLine("2是等边三角形");}else{if (a == b || b == c || a == c){Console.WriteLine("3是等腰三角形");}else{if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) {Console.WriteLine("4是直角三角形");}else{Console.WriteLine("5是一般三角形");}}}}else{Console.WriteLine("1不能组成三角形");}}{Console.WriteLine("6某些边不满足限制");}}}///<summary>///三角形类型判断类///</summary>class Triangle{///<summary>///判断一个整数是否在(min, max)区间内///</summary>///<param name="i">三角形的一条边</param>///<returns>返回值:true-否; false-是</returns>public bool isOutOfRange(int i,int min,int max){if (min < i && i < max){return false;}else{return true;}}///<summary>///判断三条边是否合法(即:判断三条边都在合法的范围内)///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isLegal(int a, int b, int c){if (isOutOfRange(a,0,200) || isOutOfRange(b,0,200) || isOutOfRange(c,0,200)) {return false;}return true;}///<summary>///判断两条边之和是否大于第三边///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isSumBiger(int a, int b, int c){if (a + b > c){return true;}return false;///<summary>///判断三条边是否能够组成三角形///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isTriangle(int a, int b, int c){if (isSumBiger(a, b, c) && isSumBiger(a, c, b) && isSumBiger(b, c, a)){return true;}return false;}///<summary>///判断两条边是否相等///</summary>///<param name="a"></param>///<param name="b"></param>///<returns>返回值:true-是; false-否</returns>public bool isEquals(int a, int b){if (a == b){return true;}return false;}///<summary>///求三角形有几条边相等///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:相等边的数量,1:没有边相等 2:只有两条边相等 3:三条边相等</returns> public int howManyEquals(int a, int b, int c){int count = 1;if (isEquals(a, b)){count++;}if (isEquals(b, c)){count++;}if (isEquals(a, c)){count++;}if (count > 3) //如果三条边都相等,则count多加了一次{count = 3;}return count;}///<summary>///判断是否满足两边平方之和是否等于第三边的平方///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isPowerSumEquals(int a, int b, int c) {if (a * a + b * b == c * c){return true;}return false;}///<summary>///判断第一个数是否比第二个数大///</summary>///<param name="a"></param>///<param name="b"></param>///<returns>返回值:true-是; false-否</returns>public bool isGreaterThan(int a, int b){if (a > b){return true;}return false;}///<summary>///判断是否是直角三角形///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isRightRriangle(int a, int b, int c) {int max = 0;if (isGreaterThan(a, b)){max = a;a = b;b = max;}if (isGreaterThan(b, c)){max = b;b = c;c = max;}return isPowerSumEquals(a, b, c);}///<summary>///判断三角形的类型///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:1、不能组成三角形; 2、等边三角形 ;3、等腰三角形 ;4、直角三角形 ;5、一般三角形; 6、某些边不满足限制</returns> public int triangleType(int a, int b, int c){int type = 0;if (isLegal(a, b, c)){if (isTriangle(a, b, c)){int num = howManyEquals(a, b, c);if (3 == num){type = 2;}else if (2 == num){type = 3;}else if (isRightRriangle(a, b, c)){type = 4;}else{type = 5;}}else{type = 1;}}else{type = 6;}return type;}}}二、根据第一题,使用白盒测试方法设计测试案例(40分)根据实验一的内容使用语句覆盖方法设计triangleType方法的测试用例;使用判定覆盖方法设计isOutOfRange方法的测试用例;使用条件覆盖方法设计isLegal方法的测试用例;使用判定-条件覆盖方法设计isTriangle方法的测试用例;使用条件组合覆盖方法设计isTriangle方法的测试用例;使用路径覆盖(2) 判定覆盖方法设计isOutOfRange 方法测试用例具体取值条件 判定条件通过路径输入:{a=10,b=10,c=25} 输出:{1、不能组成三角形}0<a<2000<b<200 0<c<200A=.T.P1(1-3-4-12)输入:{a=-10 or a=300 or b=0 or b=201 c=-1 or c=250}输出:{6.某些边不满足限制}a<=0&&a>=200 b<=0&&b>=200 c<=0&&c>=200A=.F..P2(1-2-4-12)(3)条件覆盖方法设计isLegal 方法 A 14 F2 TB F83 T F 56 7测试用例:.条件0<a<200:取真时为T1,取假时为F1; a,b,c ,是一结a,b,c ,不能a>0&&b>0a+b>0&&a5 T68本测试用例覆盖了两个判定:P(0 < a 200 && 0 < b < 200 && 0 < c < 200)M(a + b > c && a + c > b && c + b > a)六个条件:A=0 < a 200;B=0 < b < 200C=0 < c < 200D= a + b > c;E= a + c > b;F= c + b > a测试用例具体取值条件取值条件判定条件通过路径输入:{a=13,b=24,c=35} 输出:{5、一般三角形}0<a<2000<b<2000<c<200a +b > ca + c > bc + b > aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T. P1(1-3-5)输入:{a=-10 or a=300 or b=0 or b=201 c=-1 orc=250}输出:{6.某些边不满足限制} a<=0&&a>=200b<=0&&b>=200c<=0&&c>=200a +b < ca + c < bc + b < aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F. P2(1-2-7-8)(5)条件组合覆盖方法设计isTriangle方法测试用例具体取值条件取值条判定条件通过路径件输入:{a=13,b=24,c=35}输出:{5、一般三角形}0<a<2000<b<2000<c<200a +b > ca + c > bc + b > aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T. P1(1-3-5)输入:{a=-10 ora=300 or b=0 orb=201 c=-1 orc=250}输出:{6.某些边不满足限制}a<=0&&a>=200b<=0&&b>=200c<=0&&c>=200a +b < ca + c < bc + b < aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F. P2(1-2-7-8)输入:{a=1;b=3c=6}输出:{1、不能组成三角形}0<a<2000<b<2000<c<200a +b < ca + c < bc + b < aA=.T.B=.T.C=.T.D=.F.E=.F.F=.FP=.T.M=.F. P(1-3-4-6-8)(6)路径覆盖方法设计triangleType方法测试用例具体取值条件覆盖条件覆盖路径输入:{a=-10 ora=300 or b=0 orb=201 c=-1 orc=250}输出:{6.某些边不满足限制}a<0 or a>=200,b<0 or b>=200c<0 or c>=200A=.F. P1(1-2-12)输入:{a=10,b=20,c=25}a+b<=cor b+c<=aA=.T.B=.F.P2(1-3-4-12)三,根据第一题,使用黑盒测试方法设计测试案例 (40分)根据实验一的内容使用等价类划分法设计isOutOfRange 方法的测试用例;使用边界值分析法设计isOutOfRange 方法的测试用例;使用判定表方法设计isTriangle 方法的测试用例;使用因果图法设计howManyEquals 方法的测试用例。
【有答案】2015洛阳理工软件工程复习题
【有答案】2015洛阳理⼯软件⼯程复习题⼀、单项选择题1. 详细设计阶段的任务就是具体地(c)。
A.给出系统模块结构图 B. 编写程序C. 给出模块内部结构图D. 书写概要设计说明书2.哪种模型分批地逐步向⽤户提交产品,每次提交⼀个满⾜⽤户需求⼦集的可运⾏的产品(c)。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型3.需求分析中开发⼈员要从⽤户那⾥了解( a )A.软件做什么B.⽤户使⽤界⾯C.输⼊的信息D.软件的规模4. 软件测试⽅法中的(a)属于静态测试⽅法。
A.⼈⼯检测B.路径覆盖 C.⿊盒法D.边覆盖5.数据字典是对数据定义信息的集合,它所定义的对象都包含于(d)。
A.⽅框图B.程序流程图C.软件结构D.数据流图6.软件复审是保证软件质量的重要技术⼿段,复审的主要⽬的和效果是(b)。
A.较早发现软件缺陷B.较早发现程序错误C.做测试的前期准备D.严格贯彻⼯程规范7.在软件质量因素中,软件所具有的跨操作系统平台的能⼒属于软件的(a)。
A.可移植性B.可理解性C.可⽤性D.可靠性8.软件⽣命周期中所花费⽤最多的阶段是( d )A.详细设计 B.软件编码 C.软件测试 D.软件维护9.软件复杂性度量的参数包括( b)A.效率 B.规模 C.完整性 D.容错性10. 软件能⼒成熟度模型CMM分为(a)级。
A.5 B.7 C.4 D.1011. 某企业由于外部市场环境和管理需求的变化对现有软件系统提出新的需求,则对该软件系统进⾏的维护属于(c)维护。
A.正确性 B. 适应性 C. 完善性 D. 预防性12.经济可⾏性研究的范围包括( c )A.资源有效性 B.管理制度C.效益分析D.开发风险13.软件模块内聚度最强的是(a )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚14.软件部分的内部实现与外部可访问性分离,这是指软件的(c)。
A.继承性B.共享性C.封装性D.抽象性15.以下各种耦合按从强到弱排列正确的是(c):A.内容耦合,控制耦合,数据耦合,公共环境耦合B.内容耦合,数据耦合,控制耦合,公共环境耦合。
2022年洛阳理工学院软件工程专业《操作系统》科目期末试卷A(有答案)
2022年洛阳理工学院软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、若程序正在试图读取某个磁盘的第100个逻辑块,使用操作系统提供的()接门。
A.系统调用B.图形用户接口C.原语D.键盘命令2、下面说法错误的有()。
I分时系统中,时间片越短越好。
II.银行家算法是防止死锁发生的方法之。
III若无进程处于运行状态,则就绪和等待队列均为空。
A. I和IIB. II和IIIC. I和IIID. I、II和II3、若系统中有n个进程,则在阻塞队列中进程的个数最多为()?Α. n B.n-1 C.n-2 D.14、进程从运行态到阻塞态可能是()A.运行进程执行P操作B.进程调度程序的调度C.运行进程的时间片用完D.运行进程执行了V操作5、下列选项中,导致创建新进程的操作是()。
I.用户登录成功 II.设备分配 III.启动程序执行A.仅I和IIB.仅II和IIIC. 仅I和IIID. I,II,III6、为了使多个进程能有效地同时处理输入和输出,最好使用()结构的缓冲技术。
A.缓冲池B.循环缓冲C.单缓冲D.双缓冲7、 CPU输出数据的速度远远高于打印机的速度,为解决这一矛盾,可采用()。
A.并行技术B.通道技术C.缓冲技术D.虚存技术8、在一个文件被用户进程首次打开的过程中,操作系统需做的是()A.将文件内容读到内存中B.将文件控制块读到内存中C.修改文件控制块中的读写权限D.将文件的数据缓冲区首指针返回给用户进程9、下列算法中,用于磁盘调度的是(),A.时间片轮转法B.LRU算法C.最短寻道时间优先算法D.高优先级算法10、()存储管理方式提供一维地址结构。
A.分段B.分页C.分段和段页式D.以上都不对11、有一个矩阵为100行x200列,即a[100][200]。
在一个虚拟系统中,采用LRU算法。
系统分给该进程5个页面来存储数据(不包含程序),设每页可存放200个整数,该程序要对整个数组初始化,数组存储时是按行存放的。
计算机三级《软件测试技术》多选题专项训练
计算机三级《软件测试技术》多选题专项训练计算机三级《软件测试技术》多选题专项训练1.软件验收测试的合格通过准则是:(ABCD)A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。
D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?(ABCD)A.项目经理B.SQA负责人C.配置负责人D.测试组3.下列关于alpha测试的描述中正确的是:(AD)A.alpha测试需要用户代表参加B.alpha测试不需要用户代表参加C.alpha测试是系统测试的一种D.alpha测试是验收测试的一种4.测试设计员的职责有:(BC)A.制定测试计划B.设计测试用例C.设计测试过程、脚本D.评估测试活动5.软件实施活动的进入准则是:(ABC)A.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化多项选择题1.在面向类的度量中,下列哪些度量方式是属于C&K套件的度量(ABCF).面向对象的软件工程P463页C&K度量套件A.每个类的加权方法B.对象类之间的耦合C.继承树的深度D.类大小E.特例化索引F.方法中内聚的缺乏2.以下说法正确的有(BC).A.等价类划分和边界值分析属于白盒测试技术.B.基本路径测试属于白盒测试技术.C.在基本路径测试中,可以通过流图来计算环路复杂性.D.桩模块用于接收测试数据,并把数据传递给要测试的模块,然后打印相关结果.E.在确认测试中,测试是由用户在开发者的场所来进行,开发者对客户进行指导,是在一个受控环境下进行.F.可以不进行单元测试就开始集成测试,因为集成测试会发现所有的问题.3.下列哪些属于集成测试的内容(AB).A.自顶向下集成B.自底向上集成C.回归测试D.压力测试4.以下哪些内容是面向对象分析所包含的任务(ABCD).A.标识类(定义属性和方法)B.刻画类的层次关系C.标识对象——对象关系D.表示对象行为5.我们可以将设计模式大致划分为以下几种类型(ABD).A.创建型B.行为型C.变换型D.结构型6.软件产品与其它工业产品相比具有独特的开发过程,这决定了我们需要使用软件质量保证的方法学和工具面对软件质量的各种特殊的挑战.那么,软件开发过程的独特性有(ACD).A.软件产品的高复杂性B.与其它系统有接口C.软件产品的不可见性D.检测缺陷的机会只限于产品开发阶段E.需要协同工作7.测试设计员的职责有(ABC).A.制定测试计划B.设计测试用例C.设计测试过程,脚本D.评估测试活动8.软件工程研究的`对象包括(ABE).A.质量B.过程C.技术D.数据库E.工具9.下列说法正确的是(A).A.管理,分析,控制现实世界中发生的事件的程序称为实时软件B.软件项目开发的成功,取决于工具和硬件设备的优劣C.我们已经建造了软件的标准和规程,我们就能生产高质量的软件产品D.在项目的进度告急的时候,解决办法之一就是加派人手10.下列选项中,属于项目管理的对象是(ABCE).A.人员B.产品C.过程D.设备E.项目11.衡量软件项目规模的参数有(ACD).A.代码行数B.项目周期C.文档页数D.功能点数量12.软件度量可以获得的信息包括(ABCD).A.软件质量B.软件规模C.软件过程改进D.软件性能13.定义风险参数的考虑有(ABCD).A.软件失效发生的机率B.软件功能复杂性C.软件失效产生的影响D.软件周期长短14.软件质量保证的有效方式有(ABD).A.软件技术评审B.软件项目管理C.安排项目计划D.软件测试15.软件配置管理的主要工作包括(AD).软件质量管理书第4章P46页A.版本控制B.质量保证C.配置审计D.变更控制。
软件测试技术(习题卷6)
软件测试技术(习题卷6)第1部分:单项选择题,共144题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]( )。
以下不属于桌面检查的是()A)检查变量的交叉引用表B)常量检查C)风格检查D)走查答案:D解析:2.[单选题]下列关于selenium测试工具的Arrest和Verify说法不正确的是( )。
A)Verify可以直截了当的看到检查是否通过B)Arrest将会在检查失败时停止,并不运行后续的检查C)插入Verify验证,遇到不通过时不会终止测试将继续执行后续测试内容D)Arrest检查失败后,后续检查不会执行,无法直接收集后续检查结果状态答案:A解析:3.[单选题]我能够很好的分出工作的轻重缓急A)强烈同意B)同意C)不同意D)最不同意答案:B解析:4.[单选题]需求规格说明书的内容不应当包括( )。
A)对重要功能的描述B)对算法的详细过程性描述(详细说明书)C)软件确认准则D)软件的性能答案:B解析:5.[单选题]黑盒测试是通过软件的外部表现来发现软件缺陷的测试方法,包括( )等。
A)等价类划分法、因果图法、边界值分析法、错误推测法、判定表法B)等价类划分法、因果图法、边界值分析法、正交试验法、符号法C)等价类划分法、因果图法、边界值分析法、功能图法、基本路径法D)等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法答案:A解析:6.[单选题]( )。
在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )A)瀑布模型和增量模型B)瀑布模型和快速原型模型C)喷泉模型和增量模型D)喷泉模型和快速原型模型答案:B解析:7.[单选题]在体系结构中,一个子系统主要是通过一些构件来实现的,下面不是实现子系统的构件的是( )。
A)界面构件B)业务构件C)用于用户传递的构件D)访问数据库构件答案:C解析:8.[单选题]( )方法是根据输出对输入的依赖关系来设计测试用例的A)边界值分析B)等价类C)因果图法D)错误推测法答案:C解析:9.[单选题]测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括( )A)测试输入、执行条件和预期的结果B)测试目标、测试工具C)测试环境D)测试配置答案:A解析:10.[单选题]( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试技术综合练习题一、根据下面给出的三角形的需求编写程序:(20分)输入条件:(1)a+b>c;(2)a+c>b;(3)b+c>a;(4)0<a<200;(5)0<b<200;(6)0<c<200;(7)a==b;(8)a==c;(9)b==c;(10)a2+b2==c2;(11)a2+ c2== b2;(12)c2+b2== a2输出结果:(1)不能组成三角形;(2)等边三角形;(3)等腰三角形;(4)直角三角形;(5)一般三角形;(6)某些边不满足限制具体的函数的调用关系图:复杂模块triangleType的流程图:代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Tester{class Program{static void Main(string[] args){int a, b, c;Console.WriteLine("请输入三角形的三条边,都是整数:");bool succ = int.TryParse(Console.ReadLine(), out a);succ = int.TryParse(Console.ReadLine(), out b);succ = int.TryParse(Console.ReadLine(), out c);Triangle triagle = new Triangle();int type=triagle.triangleType(a, b, c);switch (type){case 1:Console.WriteLine("1不能组成三角形");break;case 2:Console.WriteLine("2是等边三角形");break;case 3:Console.WriteLine("3是等腰三角形");break;case 4:Console.WriteLine("4是直角三角形");break;case 5:Console.WriteLine("5是一般三角形");break;case 6:Console.WriteLine("6某些边不满足限制");break;}//TriangleFunction(a,b,c);Console.ReadLine();}public static void TriangleFunction(int a,int b, int c){if (0 < a && a < 200 && 0 < b && b < 200 && 0 < c && c < 200){if (a + b > c && a + c > b && c + b > a){if (a == b && b == c && a == c) //这里可以省掉一个判断{Console.WriteLine("2是等边三角形");}else{if (a == b || b == c || a == c){Console.WriteLine("3是等腰三角形");}else{if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) {Console.WriteLine("4是直角三角形");}else{Console.WriteLine("5是一般三角形");}}}}else{Console.WriteLine("1不能组成三角形");}}else{Console.WriteLine("6某些边不满足限制");}}}///<summary>///三角形类型判断类///</summary>class Triangle{///<summary>///判断一个整数是否在(min, max)区间内///</summary>///<param name="i">三角形的一条边</param>///<returns>返回值:true-否; false-是</returns>public bool isOutOfRange(int i,int min,int max){if (min < i && i < max){return false;}else{return true;}}///<summary>///判断三条边是否合法(即:判断三条边都在合法的范围内)///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isLegal(int a, int b, int c){if (isOutOfRange(a,0,200) || isOutOfRange(b,0,200) || isOutOfRange(c,0,200)) {return false;}return true;}///<summary>///判断两条边之和是否大于第三边///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isSumBiger(int a, int b, int c){if (a + b > c){return true;}return false;}///<summary>///判断三条边是否能够组成三角形///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isTriangle(int a, int b, int c){if (isSumBiger(a, b, c) && isSumBiger(a, c, b) && isSumBiger(b, c, a)){return true;}return false;}///<summary>///判断两条边是否相等///</summary>///<param name="a"></param>///<param name="b"></param>///<returns>返回值:true-是; false-否</returns>public bool isEquals(int a, int b){if (a == b){return true;}return false;}///<summary>///求三角形有几条边相等///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:相等边的数量,1:没有边相等 2:只有两条边相等 3:三条边相等</returns> public int howManyEquals(int a, int b, int c){int count = 1;if (isEquals(a, b)){count++;}if (isEquals(b, c)){count++;}if (isEquals(a, c)){count++;}if (count > 3) //如果三条边都相等,则count多加了一次{count = 3;}return count;}///判断是否满足两边平方之和是否等于第三边的平方///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isPowerSumEquals(int a, int b, int c) {if (a * a + b * b == c * c){return true;}return false;}///<summary>///判断第一个数是否比第二个数大///</summary>///<param name="a"></param>///<param name="b"></param>///<returns>返回值:true-是; false-否</returns>public bool isGreaterThan(int a, int b){if (a > b){return true;}return false;}///<summary>///判断是否是直角三角形///</summary>///<param name="a"></param>///<param name="b"></param>///<param name="c"></param>///<returns>返回值:true-是; false-否</returns>public bool isRightRriangle(int a, int b, int c) {int max = 0;if (isGreaterThan(a, b)){max = a;a = b;b = max;}if (isGreaterThan(b, c)){max = b;b = c;c = max;}return isPowerSumEquals(a, b, c);}///<summary>///判断三角形的类型测试用例:(1)语句覆盖方法设计triangleType方法测试案设计:测试用例具体取值条件判定条件通过路径输入:{a=-10 or a=300 orb=0 or b=201 c=-1 or c=250}输出:{6.某些边不满足限制} a<0 or a>=200,b<0 or b>=200c<0 or c>=200A=.F. P1(1-2-12)输入:{a=10,b=20,c=25} 输出:{1、不能组成三角形} a+b<=cor b+c<=aor a+c<=bA=.T.B=.F.P2(1-3-4-12)输入:{a=50,b=50,c=50} 输出:{2、等边三角形} a==b and a==cA=.T.B=.T.C=.T.P3(1-3-5-6-12)输入:{a=50,b=50,c=80} 输出:{3、等腰三角形} a==b or b==c or a==cA=.T.B=.T.C=.F.D=.T.P4(1-3-5-7-8-12)输入:{a=3,b=4,c=5} 输出:{4、直角三角形} a*a+b*b=c*cA=.T.B=.T.C=.F.D=.F.E=.T.P5(1-3-5-7-9-10-12)输入:{a=12,b=13,c=20} 输出:{5、一般三角形} 其他情形A=.T.B=.T.C=.F.D=.F.E=.F.P6(1-3-5-7-9-11-12)(2) 判定覆盖方法设计isOutOfRange 方法测试用例具体取值条件 判定条件通过路径输入:{a=10,b=10,c=25} 输出:{1、不能组成三角形}0<a<2000<b<200 0<c<200A=.T.P1(1-3-4-12)输入:{a=-10 or a=300or b=0 or b=201 c=-1 or c=250} 输出:{6.某些边不满足限制}a<=0&&a>=200 b<=0&&b>=200 c<=0&&c>=200 A=.F..P2(1-2-4-12)(3)条件覆盖方法设计isLegal 方法 A 14 F2 TB F83 T F 56 7.条件0<b<200:取真时为T2,取假时为F2; .条件0<c<200:取真时为T3,取假时为F3; .条件c+b>a:取真时为T5,取假时为F5; .条件a+c>b:取真时为T6,取假时为F6;测试用例: .条件0<a<200:取真时为T1,取假时为F1; a,b,c,是一般三角形结束a,b,c,不能构成三角形a>0&&b>0&&c>0a+b>0&&a+c>b&&b+c>a测试用例具体取值条件取值条件判定条件通过路径输入:{a=13,b=24,c=35} 输出:{5、一般三角形}0<a<2000<b<2000<c<200a +b > ca + c > bc + b > aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T. P1(1-3-5)输入:{a=-10 or a=300 or b=0 or b=201 c=-1 orc=250}输出:{6.某些边不满足限制} a<=0&&a>=200b<=0&&b>=200c<=0&&c>=200a +b < ca + c < bc + b < aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F.P2(1-2-7-8)(5)条件组合覆盖方法设计isTriangle方法测试用例具体取值条件取值条件判定条件通过路径输入:{a=13,b=24,c=35} 输出:{5、一般三角形} 0<a<2000<b<2000<c<200a +b > ca + c > bc + b > aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T. P1(1-3-5)输入:{a=-10 or a=300 or b=0 or b=201 c=-1 orc=250}输出:{6.某些边不满足限制} a<=0&&a>=200b<=0&&b>=200c<=0&&c>=200a +b < ca + c < bc + b < aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F.P2(1-2-7-8)输入:{a=1;b=3 c=6} 输出:{1、不能组成三角形} 0<a<2000<b<2000<c<200a +b < ca + c < bc + b < aA=.T.B=.T.C=.T.D=.F.E=.F.F=.FP=.T.M=.F. P(1-3-4-6-8)(6)路径覆盖方法设计triangleType方法C3 0〈c〈100 E3 等腰三角形{a=3,b=3,c=5}C4 a>b+c E4 等边三角形{a=3,b=3,c=3}C5 b>a+c E5 直角{a=3,b=4,c=5}C6 c>b+aC7 a=bC8 b=cC9 a=cC10 a*2+b*2=c*2C11 c*2+b*2=a*2C12 a*2+c*2=b*2中间结果:10边的范围正确;11可以构成三角形, 12任意两边相等 ,13三条边两两相等 , 14任意两边之和等于第三边。