软件测试课后作业
西北师范大学
软件测试课后作业
作者:刘恩
学号:201371020117
班级:13届软件一班
软件测试课程作业
姓名:刘恩学号:201371020117
习题一
1.选择题
(1)C 下列关于导致软件质量缺陷的原因描述中不正确的是(程序员编码水平低下是导致软件缺陷的最主要原因)。
(2)D 缺陷产生的原因是(交流不充分及沟通不畅、软件需求的变更、软件开发工具的缺陷;软件的复杂性、软件项目的时间压力;程序开发人员的错误、软件项目文档的缺乏)。
2.判断题
(1)缺乏有力的方法学指导和有效的开发工具的支持,往往是产生软件危机的原因之一。(√)
(2)目前的绝大多数软件都不适合于快速原型技术。(×)
(3)在程序运行之前没办法评估其质量。(×)
(4)下列哪些活动是项目?
探索火星生命迹象。(√)
向部门经理进行月工作汇报。(×)
开发新版本的操作系统。(√)
每天的卫生保洁。(×)
组织超级女声决赛。(√)
一次集体婚礼。(√)
3.简答题
(1)软件:程序+数据+文档
软件经历的发展阶段:
第一阶段程序设计阶段 20世纪50年代初期至60年代中期;
第二阶段程序系统阶段 20世纪60年代中期至70年代末期;
第三阶段软件工程阶段 20世纪70年代中期至80年代中期;
第四阶段 C/S体系结构,即客户端/服务器体系结构 80年代中期至今。
(2)软件质量与软件测试的关系:
软件测试是以评价一个程序或者关系属性为目标的任何一种活动,是对软件质量的度量。测试是手段,质量是目的。
(3)软件质量框架定义及内容:
1>前提:说明了软件框架的适用范围以及适合的环境。
2>价值观:说明了软件质量框架中强调的价值。
3>结构:定义了软件质量框架的组成部分以及软件质量框架和开发过程之间的关系。
4>优秀实践:通过具体、实际的分析、举例,深入阐述了软件质量框架的价值观和结构。(4)CMM定义:软件能力成熟度模型,用来定义和评价软件公司开发过程的成熟度,为提高软件质量提供指导。
CMM内容:该模型为软件企业的过程能力提供了一个阶梯式的进化框架,分为5级(初始级、可重复级、已定义级、已管理级以及优先级)。
CMMI与CMM的关系:
1>CMMI的覆盖领域很多,到目前为止包括软件工程(SW-CMM),系统工程(SE-CMM),集成的产品和过程开发(IPPD-CMM)和采购(SS-CMM);
2>CMMI有两种表示方法,一种是与CMM一样的阶段式表现方法(把CMMI中的若干个过程区域分为5个成熟度级别),另一种是连续式的表现方法(将CMMI中国城区域分为四大类:过程管理、项目管理、工程以及支持);
3>CMM2级有6个关键过程区域,在CMMI中增加了一个:度量与分析,CMM4级有2个关键过程区域,在CMMI中也是2个,但名称与内容有所改变,在CMM5级中3个KPA,在CMM1中合并了,改为2个。
(5)软件测试与软件开发的关系:
1〉没有软件开发就没有软件测试,软件开发为软件测试提供实验的对象;
2>都是软件生命周期的重要组成部分;
3>都是软件过程中的重要活动;
4>软件测试是保证软件开发产物质量的重要手段。
习题二
1.选择题
(1)C 软件测试按照技术划分为(性能测试、负载测试、压力测试;恢复测试、安全测试、兼容测试)。
(2)B 软件测试的目的是(发现软件开发中出现的错误)。
(3)A,D,B 软件测试定义(代码方面:单元测试、集成测试、系统测试、验收测试;理论方面:负载测试、动态测试、静态测试;测试方面:黑盒测试、压力测试、回归测试、负载测试、恢复测试、安全性测试、兼容性测试、内存泄露测试、比较测试等)。
2.判断题
(1) Beta测试是验收测试的一种。(√)
(2) 尽量用公共过程或子程序去代替重复的代码段。(√)
(3) 测试是为了验证该软件已正确地实现了用户的要求。(×)
(4) 发现错误多的程序模块,残留在模块中的错误也越多。(√)
(5) 尽量采用复合的条件测试,以避免嵌套的分支结构。(√)
3.简答题
(1)软件测试目的:软件测试是为了发现软件中存在的错误,证明软件软件有错,以最少的时间和人力找出软件中潜在的各种错误与缺陷。
(2)软件测试注意事项:
1>应该把“尽早地和不断地进行软件测试”做为软件开发者的座右铭;
2>严防寄生虫现象;
3>严防杀虫剂现象;
4>并非所有的软件缺陷都能恢复;
5>难以说清的软件缺陷;
6>测试用例的设计;
7>软件测试的充分性准则。
(3)软件测试按照执行主题划分,可以分为α测试(开发者测试)、β测试(用户测试)和第三方测试。
(4)V模型与W模型的优缺点
V模型:
优:反映了测试活动与开发活动的关系,清楚描述了测试的各个阶段和开发过程各阶段的关系。
缺:开发后进行测试,忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。
W模型:
优:测试与开发同步进行,有利于尽早发现问题。
缺:上一阶段结束,才开始下一阶段工作,无法支持迭代开发模型。
(5)测试用例定义及属性
1>定义:对一项特定的软件产品进行测试任务的描述,体现为测试方案、方法、
技术和策略等。测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
2>属性:优先级、目标性、关联性、阶段性、状态性、代表性、时效性。
习题三
1.选择题
(1)B (软件测试最基础环节:单元测试)。
(2)D (在软件开发各个阶段,与需求分析、设计、编码相对应的软件测试为:确认测试、组装测试、单元测试)。
(3)B (单元测试的测试对象是:程序模块)。
(4)A (在单元测试中,用于代替被调用模块的是:桩模块)。
(5)D(α测试是验收测试的一种)。
(6)D(β测试是在软件公司外部展开的测试,由非专业的测试人员执行的测试)。
2.简答题
(1)软件测试的生命周期:测试计划,测试设计,测试开发,测试执行和测试评估。(2)α测试和β测试的区别:α测试和β测试都是验收测试的内容,α测试又称为开发者测试,是在开发环境下或者公司内部的用户在模拟实际操作环境下,由用户参与的测试。其测试目的是主要是评价软件产品的功能、可使用性、可靠性、性能等,特别是对于软件界面和使用方式的测试。
β测试,又称为用户测试,是在实际环境下进行的测试。与α测试不同的是,在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告,开发者在综合用户的报告之后做出修改,最后将软件产品交付给全体用户使用。β测试着重于产品的支持性,包括文档、客户培训和支持产品生产能力。只有当α测试达到一定的可靠程度时,才能开始β测试。
(3)单元测试:
1>定义:单元测试是在软件开发过程中进行的最低级别的测试活动,其测试对象是软件设计的最小单位。
2>主要任务:5个,分别是模块接口、局部数据结构、边界条件、独立的路径和错误处理。
(4)集成测试:
1〉方法:两种,分别是增量式测试方法和非增量式测试方法,其中增量式测试方法又可
以分为自顶向下增量式测试、自底向上增量式测试和三明治集成测试(核心先行)。
2〉集成测试和单元测试的区别:单元测试一般采用白盒测试技术,用于测试每个程序模块的错误。经过单元测试之后,每个模块都能单独工作。集成测试(组装测试)采用灰盒测试技术,用于测试各个组件之间的逻辑关系是否正确,在单元测试结束之后进行,采用桩驱动,是根据模块之间的依赖接口的关系图进行的测试。
(5)系统测试:系统测试是以规格说明书作为依据,将整个软件系统与计算机硬件、外设、支持软件、数据和人员等其他系统元素结合起来,在实际运行环境下,对计算机系统进行的测试。系统测试采用黑盒测试技术,根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。系统测试的目标不是要找出软件故障,而是要证明系统的性能。
(6)回归测试与一般测试的不同:
1〉测试用例的新旧:一般测试根据系统规格说明书和测试计划进行,测试用例都是新的。而回归测试可能是更改了的规格说明书、修改过的程序和需要更新的测试计划,测试用例往往都是旧的。
2〉测试范围:一般测试目标是检测整个程序的正确性,而回归测试目标是检测被修改的相
关部分正确性以及系统原有功能的整合。、
3〉时间分配:一般测试所需时间通常是在软件开发之前预算,而回归测试所需的时间(尤
其是修正性的回归测试)往往不包含在整个产品进度表。
4〉完成时间:由于回归测试只需要测试程序的一部分,完成时间通常比一般测试时间少。
5〉执行频率:回归测试在一个系统的生命周期内往往要进行多次进行,一旦系统经过修改
就需要进行回归测试。因此,回归测试的执行频率要远远高于一般测试。
习题四
1.选择题
(1)B(黑盒测试用例设计技术不包括等价类划分、因果图法、边界值分析法、错误推测法、判定表驱动法)
(2)A(在黑盒测试中,边值分析经常与其他方法结合起来使用)
(3)C(等价类划分完成后,就可得出等价类表,它是确定测试用例的基础)
(4)B (在设计测试用例时,边界值分析是用得最多的一种黑盒测试方法)
(5)D (在黑盒测试中,着重检查输入条件组合的测试用例设计方法是因果图法) (6)D(除了测试程序外,黑盒测试还适用于对需求分析阶段的软件文档节进行测试)(7)A(由因果图转换出来的判定表是确定测试用例的基础)
2.判断题
(1)用黑盒测试时,测试用例是根据程序内部逻辑结构设计的。(×)
(2)黑盒测试方法中最有效的是因果图法。(×)
(3)对于连锁分支结构,若有n个判定语句,则有2n条路径(√)
(4)尽量采用复合的条件测试,以避免嵌套的分支结构。 (√)
(5)GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反而能使写出的程序更加简洁。(√)
3.简答题
(1)等价类的划分原则:
1〉如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类(例:规定了x的取值范围为1-99之间的整数,则有效等价类为1<=x<=99 ,无效等价类为x<1,x>99);
2〉如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确定一个有效等价类和一个无效等价类(例:若x=a等价类有效,则x不等于a时无效);
3〉如果输入条件是一个bool变量,则可以确定一个有效等价类和一个无效等价类(例:若x=Ture为有效等价类,则x=False为无效等价类);
4> 如果规定了输入数组的一组值(假定n个),而且程序要对每个输入值分别处理,则可以确立一个有效等价类和一个无效等价类(例:x={1,2,3}为有效等价类,反之则为无效等价类);
5〉如果规定了输入数据必须遵守的规定,则可以确定一个有效等价类和一个无效等价类(例:符合规则的为有效等价类,不符合规则的为无效等价类);
6〉如果确知已划分的等价类中各个元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。(例:输入A或B或C有效且处理方式不同则应该将其进一步划分为A、B、C三个等价类)。
(2)边界值的设计原则:
1>如果输入条件规定了值的范围,则应取刚到达这个范围的边界的值,以及刚过此范围边界的值作为测试输入数据;
2>如果输入条件规定了值的个数,则有最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据;
3>根据规格说明的每一个输出条件使用原则1>、2>选择输入数据;
4>如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合中的第一个元素与最后一个元素作为测试用例);
5>如果程序中使用了一个内部数据结构,则应选择这个内部数据结构的边界上的值作为测试用例;
6>分析规格说明,找出其他可能的边界条件。
函数f(x,y,z)的测试用例图如下:
(3)三角形类型的等价类划分测试用例:
(4)日期函数的决策表测试用例:假设Year的日期范围为1900-2500
习题五
1.选择题
(1)D 以下不属于白盒测试的是(等价类划分)。
(2)D 以下不属于逻辑覆盖的是(基本路径)。
(3)B McCabe建议模块规模应满足:V(G)<=(10)。
(4)C 关于逻辑覆盖说法错误的是(满足路径覆盖也一定满足条件组合覆盖)。
(5)C (因果图)方法根据输出对输入的依赖关系设计测试用例。
(7)A 使用白盒测试方法时,确定测试数据应根据(程序的内部逻辑)和指定的覆盖标准。
(8)C 白盒测试的优点是(可按软件内部结构测试)。
2.简答题
(1)白盒测试:白盒测试是把测试对象看做一个打开的盒子,允许测试人员利用程序内
部的逻辑结构及有关信息,设计或选择测试用例,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
白盒测试与黑盒测试的区别:
1>测试内容不同(白盒测试测试的是程序的内部逻辑结构,而黑盒测试测试的是功能需求)。
2>测试方法不同(白盒测试采用的方法有逻辑覆盖、路径分析、数据流测试、程序插桩,而黑盒测试采用的方法有等价类划分、边界值分析、因果图和场景法)。
(2)语句覆盖是最弱的逻辑覆盖原因:
语句覆盖对一些控制结构不敏感,不能发现判断中逻辑运算符的错误,覆盖率很低。
(3)条件覆盖不一定包含判定覆盖:
条件覆盖是使每个判断中每个条件的可能取值至少满足一次,即只能保证每个条件
至少有一次为真,而不考虑所有的判定结果。
(4)采用白盒测试进行测试时,测试用例覆盖路径的种类有以下几种:
1>语句覆盖
2>判定覆盖
3>条件覆盖
4>条件判定覆盖
5>修正条件判定覆盖
他们之间的关系为:
1>语句覆盖是最弱的逻辑覆盖
2>判定覆盖不一定包含条件覆盖
3>条件覆盖不一定包含判定覆盖
4>条件判定覆盖能同时满足条件、判定两种覆盖标准。(5)转化后的控制流图为:
习题六
1.判断题
(1)负载测试是验证系统在资源超负荷情况下的表现。(√)
(2)所有软件必须进行某种程度的兼容性测试。(√)
(3)以消除瓶颈为目的的测试是负载测试。(×)
2.简答题
(1)解释下列名词概念:
1>响应时间:对请求作出响应所需要的时间(例:网络传输时间、应用延
迟
时间、数据库延迟时间和呈现时间)。
2>并发用户数:对系统发出请求或者进行操作的多个用户。
3>吞吐量:在一次性能测试过程中网络上传输数据量的总和。
4>性能计数器:描述服务器或操作系统性能的一些数据指标,具有“监控
和分
析”的作用。
5>休眠时间:又称思考时间,指用户请求的时间间隔。
6>点击率:每秒钟用户向Web服务器提交的HTTP请求数,作为Web应用特
有
指标。
(2)负载测试与压力测试异同点如下:
同:都是在强负载的其情况下进行测试。
异:测试目的不同。负载测试是通过模拟实际软件系统所承受的负载条件、改
变系统负载大小和负载方式来发现系统中所存在的问题。而压力测试是在强负载的情况下,通过查看应用系统在峰值使用情况下的状态来发现系统的某功能隐患、系统是否具有良好的容错能力和可恢复能力。
(3)可靠性测试:评估软件在运行时的可靠性的测试。(例:通过测试确认平
均无故障时间、故障发生前平均工作时间或因故障而停机的时间在一年中不应该超过多少时间。)
(4)安全性测试:测试系统在应付非授权的内部/外部访问、非法侵入或故意
的损坏时的系统防护能力,检验系统有能力使可能存在的内部/外部的伤害或损害的风险限制在可接受的水平内。
安全性测试与可靠性测试的区别:可靠性测试通常包括安全性,但是软件的可
靠性不能完全取代软件的安全性,安全性可能涉及数据加密、保密、存取权限等多个方面。
(5) Web测试策略:包括用户界面测试、链接测试、表单测试、兼容性测试、
网络配置测试、负载测试以及安全测试。
习题七
1.简答题
(1)汇聚类:有些类的说明中使用对象,但是实际上从不和这些对象进行协作。
协作类:不是汇聚类的非原始类就是协作类。协作类是指在一个或多个操作中使用其他对象的并将其作为实现中不可缺少的一部分。
如何测试汇聚类和协作类:协作类测试必须在参与交互的类的环境中进行测试,需要创建对象之间交互的环境。
(2)类测试的主要方法包括结构性测试与功能性测试。类测试的层次主要有方
法内测试与方法间测试。
(3) OOA测试阶段可以划分为五个方面,分别是对象测试、结构测试、主题测
试、属性和实例关联测试以及服务和消息关联测试。
(4)软件测试的模型有V模型、W模型、H模型、X模型以及前置模型。
(5)测试抽象类的方法以及优缺点:
1>封装性影响测试:优:限制了外界对于对象的可视性与操作性,降低了类
与
其它程序各部分之间的依赖,使得程序模块化,避免外界对类的不合理操作,防止了错误的扩散。缺:类的内部属性和状态对外界不可见,只能通过自身方法获得,给类测试时用例执行是否处于预期状态的判断带来困难。
2>继承性影响测试:优:继承由扩展、覆盖、特例化三种基本机制实现,有
利于
代码的复用。缺:错误传播概率高。
3>多态性影响测试:优:多态促成了子类型替换,使得向父类对象发送的消
息
也允许向子类发送。缺:由于其不确定性,使得测试用例的选取难度增加。
习题八
1.填空题
(1)嵌入式系统同通用计算机系统相比有以下特点:实时性、嵌入性、与外部
环境交互的反应性、专用性、体积小、依赖性、并发处理。
(2)嵌入式软件测试工具划分为纯软件测试工具、纯硬件测试工具、软硬结合
的测试工具三类。
(3)常用的纯软件测试工具有Logiscope、CoverageScope等。
(4)嵌入式软件的测试策略有目标代理、交叉调试。
(5)嵌入式软件的测试四个阶段是:单元测试、集成测试、系统测试、硬件软
件集成测试。
2. 简答题
(1)嵌入式软件:嵌入在硬件中的操作系统和开发工具软件。
(2)嵌入式软件特点以及对嵌入式软件测试的影响:
1〉实时性对测试的影响
嵌入式软件对时间测试分为静态时间分析和动态时间分析两种方法。
静态时间分析:静态时间分析就是不执行程序,而通过分析程序结构来预估程序执行时间的方法。静态分析可确定程序在最坏情况下的执行时间,即程序在最大执行时间是否满足时间约束。
动态时间分析:动态实时检测就是通过执行程序来测试程序的时间特性。在线仿真器ICE、指令仿真器和插桩是三种最长用的方法。
2〉嵌入性对测试的影响
嵌入式软件测试的一个重要问题是建立宿主机与目标机之间的物理/逻辑连接,解决数据信息的传输问题。嵌入式软件虽然运行在目标机上,但必须对目标环境进行测试。
3〉反应性对测试的影响
反应式系统在任何时刻都要对可能出现的事件作出适当反应。“激励-响应”反应式系统输入事件各种序列的组合给测试工作带来困难,如何选取测试用例成为反应式软件的关键问题之一。
(3)嵌入式软件测试的关键技术:关键技术有静态测试技术和动态测试技术。
(4)嵌入式软件的测试策略:主要有交叉调试、目标代理等方式。
(5)嵌入式软件测试工具主要有3类,分别是纯软件测试工具、纯硬件测试工具以及软硬结合的测试工具。
习题九
1.简答题
(1)软件测试管理内容:
软件测试管理体系一般包括如下6个步骤:
1〉识别软件测试所需的过程及其应用,即测试计划、测试设计、测试实施、配置管理、资源管理、测试管理;
2〉确定这些过程的顺序及相互作用,前一个的输出作为后一个的输入。其中,
配置管理和资源管理作为支撑性的过程。
3〉确定这些过程所需要的准则和方法,制定6个过程所需要的文档。
4〉确保所需要的资源和信息,并对6个过程进行检测。
5〉监视、测量和分析这些过程。
6〉实施必要的过程改进措施。
(2)测试文档作用:根据所起作用的不同,测试文档可以分为前置作业文档和
后置作业文档。前置作业文档可以使接下来将要进行的软件测试流程更加流畅和规范。后置作业文档主要包括缺陷报告和分析总结报告。缺陷报告要求测试人员简洁、
清晰地把问题以文档形式报告给管理层和判断是否进行修复的小组,使得到所需要的全部信息。测试分析报告应表明经过测试证实了软件具有的功能以及它的缺陷和限制,并给出评价的结论性意见。该意见既是对软件质量的评价,也是决定软件能否交付给用户使用的一个依据。
主要的软件测试文档有测试计划、测试设计规格说明、测试规程规格说明、测
试日志、测试缺陷报告和测试总结报告等。
(3)如何理解测试人员的不同角色划分:
软件测试过程组织可将测试人员划分为测试主管、测试组组长、测试分析员与测试者四类。
1〉测试主管:负责与开发组联系,保证单元测试的顺利进行;负责与观察测试员联系,接收有关没有正确遵循测试过程的测试项目的报告;负责向公司内的高级主管或领导报告。
2〉测试组组长:负责为测试分析员与测试者分配任务,按照预定的计划监控
他们的工作进度,建立和维护测试项目文件系统,保证产生测试项目相关资料(测试计划文档、测试规范说明文档)。
3〉测试分析员:负责设计和实现自动化测试的一个或多个脚本,协助测试组
组长生成测试规格说明文档。
4〉测试者:主要负责执行由测试分析员建的测试脚本,并负责解释测试用例
结果并将结果记录到文档中。
(4)缺陷管理的主要内容:
1〉对缺陷的描述应该包含可追踪信息。
2〉对缺陷的描述应该包含缺陷的基本信息(例:缺陷状态、缺陷标题、缺陷严重程度和紧急程度、缺陷提交和提交日期、缺陷所属、缺陷解决人、解决时间和结果、缺陷处理人、处理最终时间和处理结果、缺陷确认人、确认时间和结果。)。
3>对缺陷的描述应该包含缺陷的详细描述。
(5)软件过程的质量管理评估标准主要有ISO 9000系列、CMM/CMMI以及ISO 15504过程评估三大体系。
最新软件测试期末考试试题及答案
一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对
性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题
软件测试习题
一、选择题 1.软件测试的目的是(B )。 A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 4.为了提高软件测试的效率,应该( D )。 A)随机地选取测试数据B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(A )。 A)项目开发计划B)需求规格说明书C)设计说明书D)源程序 6.测试的关键问题是(B )。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码 13.不属于白盒测试的技术是(D )。 A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
软件测试复习题_带答案
软件测试复习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对(03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)黑盒测试的测试用例是根据程序内部逻辑设计的。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)为了快速完成集成测试,采用一次性集成方式是适宜的。错 (07)在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。错 (05)在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。对 (09)单元测试通常由开发人员进行。对 (10)压力测试通常需要辅助工具的支持。对 (11)压力测试不需要辅助工具的支持。错 (12)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (13)软件测试员可以对产品说明书进行白盒测试。错 (14)软件测试员无法对产品说明书进行白盒测试。对 (15)在设计测试用例时,应包括合理的输入条件和不合理的输入条件。对 二、选择 1、用黑盒技术设计测试用例的方法之一为( a ) A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试 2、软件测试的目的是( b) A)避免软件开发中出现的错误 B)发现软件开发中出现的错误 C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D)修改软件中出现的错误 3、下列软件属性中,软件产品首要满足的应该是( a ) A)功能需求B)性能需求C)可扩展性和灵活性D)容错纠错能力 4、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期( a)。 A)技术评审 B)程序测试 C)改正程序错误D)管理评审 5、以程序的内部结构为基础的测试用例技术属于( d )。
软件测试基础期末试卷及参考答案
1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)
软件测试技术习题参考答案
第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历一次。 每个判断语句可能包含多个条件(比如,if(A>3 && B<7)……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。 答:(1)等价类划分
软件测试练习题及答案
练习题 一、判断 (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)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对
软件测试方法和技术重点和试题与答案
太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)
软件测试方法和技术练习题与答案
一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 10.自底向上集成需要测试员编写驱动程序。(√) 11.测试是证明软件正确的方法。(╳) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳)15.软件测试的目的是尽可能多的找出软件的缺陷。(√) 16.自底向上集成需要测试员编写驱动程序。(√) 17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18.测试程序仅仅按预期方式运行就行了。(╳) 19.不存在质量很高但可靠性很差的产品。(╳) 20.软件测试员可以对产品说明书进行白盒测试。(╳) 21.静态白盒测试可以找出遗漏之处和问题。(√) 22.总是首先设计白盒测试用例。(╳) 23.可以发布具有配置缺陷的软件产品。(√)24.所有软件必须进行某种程度的兼容性测试。(√) 25.所有软件都有一个用户界面,因此必须测试易用性。(╳) 26.测试组负责软件质量。(╳) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28.好的测试员不懈追求完美。(×) 29.测试程序仅仅按预期方式运行就行了。(×) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√) 31.静态白盒测试可以找出遗漏之处和问题。(√) 32.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x) 37.程序员兼任测试员可以提高工作效率。(x) 38.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨) 39.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(∨)40.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨ 41.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨)42.软件生存周期是从软件开始开发到开发结束的整个时期。(x) 43.测试用例的数目越多,测试的效果越好。(x) 44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x) 45.单元测试属于动态测试。(∨) 46.验收测试是以最终用户为主的测试。(∨) 47.没有发现错误的测试是没有价值的。(∨) 48.可以把不合格的开发人员安排做测试。(x)
软件测试练习题及答案
一、判断 (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)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对(35)在测试中发现缺陷多的地方,还有更多的缺陷将会被发现。对
软件测试技术基础课后习题答案[1]
第1章软件测试概述 1.简述软件测试的意义。 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。 2.什么是软件缺陷?它的表现形式有哪些? 解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。 它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低? 解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。 4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于是按了浏览器左上角的“退回”按钮, 就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类? 解:有缺陷。其所属类别与软件产品说明书的要求有关。 5.什么是软件测试?简述其目的与原则。 解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。 测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。 测试过程中应注意和遵循的原则:(1)测试不是为了证明程序的正确性,而是为了证明程序不能工作。(2)测试应当有重点。(3)事先定义好产品的质量标准。(4)软件项目一启动,软件测试也就开始,而不是等到程序写完才开始进行测试。(5)穷举测试是不可能的。(6)第三方进行测试会更客观,更有效。(7)软件测试计划是做好软件测试工作的前提。(8)测试用例是设计出来的,不是写出来的。(9)对发现错误较多的程序段,应进行更深入的测试。(10)重视文档,妥善保存一切测试过程文档。 6.件测试阶段是如何划分的? 解:软件测试的阶段划分为:规格说明书审查;系统和程序设计审查;单元测试;集成测试;确认测试;系统测试;验
软件测试试题及答案分析
单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试
软件测试课后习题
第一章软件测试概述 1. 名词解释 软件缺陷: 即计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。缺陷会导致软件产品在某种程度上不能满足用户的需要。 软件缺陷的准确定义,通常有以下5 条描述: (1)软件未实现产品说明书要求的功能。 (2)软件出现了产品说明书指明不会出现的错误。 (3)软件超出实现了产品说明书提到的功能。 (4)软件实现了产品说明书虽未明确指出但应该实现的目标。 (5)软件难以理解,不易使用,运行缓慢或者终端用户认为不好 软件测试: 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。通常对软件测试的定义有如下描述:软件测试是为了发现错误而执行程序的过程。 静态测试:静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。 动态测试:动态测试的对象必须是能够由计算机真正运行的被测试的程序 黑盒测试: 黑盒测试是一种从用户观点出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。 白盒测试: 白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用。 单元测试: 单元测试是针对每个单元的测试,是软件测试的最小单位。 集成测试: 集成测试是对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。 确认测试: 是检验所开发的软件能否满足所有功能和性能需求的最后手段,通常采用黑盒测试方法。系统测试: 系统测试的主要任务是检测被测软件与系统的其他部分的协调性。 验收测试: 验收测试是软件产品质量的最后一关。这一环节,测试主要从用户的角度着手,其参与者 主要是用户和少量的程序开发人员。 2. 简述软件测试发展的历史及软件测试的现状