软件测试期末作业
- 格式:docx
- 大小:870.16 KB
- 文档页数:14
软件测试期末复习题软件测试是确保软件产品满足规定需求并具有可接受质量的过程。
期末复习时,理解软件测试的基本概念、测试方法、测试类型和测试过程是至关重要的。
以下是一些可能的期末复习题,供同学们参考:1. 软件测试的目的是什么?- 软件测试的目的是验证软件产品的功能和非功能需求是否符合用户和业务的期望,同时识别软件中的缺陷,以提高软件的可靠性和可用性。
2. 列举软件测试的几种类型。
- 单元测试、集成测试、系统测试、验收测试、性能测试、安全测试、回归测试等。
3. 解释什么是黑盒测试和白盒测试。
- 黑盒测试是一种测试方法,测试者不需要了解程序内部的逻辑或代码,只根据需求说明书来测试软件的功能。
- 白盒测试则需要测试者了解程序的内部结构和代码,测试程序的内部逻辑是否正确。
4. 描述软件测试的生命周期。
- 软件测试生命周期通常包括需求分析、测试计划、测试设计、测试执行、缺陷管理、测试报告和测试结束。
5. 解释什么是缺陷生命周期。
- 缺陷生命周期是指从缺陷被发现到被修复并验证的整个过程,包括缺陷的报告、确认、分配、修复、验证和关闭。
6. 列举至少三种常见的软件缺陷类型。
- 功能缺陷、性能缺陷、用户界面(UI)缺陷、安全缺陷等。
7. 描述软件测试计划应包含哪些内容。
- 测试目的、测试范围、测试方法、资源分配、时间安排、风险评估、测试入口和出口准则等。
8. 解释什么是回归测试,为什么它在软件开发中很重要?- 回归测试是为了确保软件在修改后仍然满足原有需求而进行的测试。
它很重要,因为修改可能会引入新的错误,影响到软件的其他部分。
9. 列举至少两种软件测试工具,并简要说明它们的用途。
- 例如,JIRA用于缺陷跟踪和管理,Selenium用于自动化Web应用的测试。
10. 解释什么是敏捷测试,它与传统测试有何不同?- 敏捷测试是一种适应性强、快速响应变化的测试方法,它与传统测试的主要区别在于更强调测试与开发团队的紧密协作,以及测试活动在整个开发周期中的持续进行。
选择题 10×2分1、软件是程序和(A)的集合。
A、文档B、代码C、测试用例D、测试2、软件工程中描述生存周期的瀑布模型一般包括计划、( A)、设计、编码、测试、维护等几个阶段。
A、需求分析B、需求调查C、可行性分析D、问题定义3、严重的软件缺陷的产生主要源自(A)。
A、需求B、设计C、编码D、测试4、以下不属于应用系统中的缺陷类型的是:(B)A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明5、降低缺陷费用最有效的方法是(B)。
A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试6、测试环境中不包括的内容是(A)A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境7、软件调试的目的是(B)A、发现软件中隐藏的错误B、解决测试中发现的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性8、软件测试的目的是(A)难易度:2A、发现软件中隐藏的错误B、解决软件中隐藏的错误C、尽量不发现错误以便早日提交软件D、证明软件的正确性9、下列关于测试和调试的说法中正确的是(B)A、测试和调试没有本质区别。
目的都是为了发现软件系统中的错误。
B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。
C、调试主要在软件的开发阶段进行。
D、调试一般不能确定程序中潜在错误发生的原因10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。
难易度:3A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。
B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。
C、测试组织与开发组织为同一公司,但不在同一部门。
D、测试组织与开发组织为不同公司。
11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
《软件测试》期末复习试题及答案阶段测试一一. 单选题(共16题,65.6分)1. (单选题)(D )不是正确的软件测试目的。
A. 尽最大的可能找出最多的错误B. 设计一个好的测试用例对用户需求的覆盖度达到100%C. 对软件质量进行度量和评估,以提高软件的质量D. 发现开发所采用的软件过程的缺陷,进行软件过程改进2. (单选题)下面说法正确的是(C)。
A. 经过测试没有发现错误,说明程序正确B. 测试的目标是证明程序没有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试3. (单选题)下列选项中,不属于软件测试工程师职责范围的是(C)。
A. 测试方案设计B. 测试用例设计C. 进行代码调优D. 测试实施4. (单选题)下面属于软件测试模型的是(A)A. W模型B. 瀑布模型C. L模型D. G模型5. (单选题)下面关于软件测试模型的描述中,不正确的是(A)。
①V模型的软件测试策略既包括低层测试,又包括高层测试,高层测试是为了确保源码的正确性,低层测试是为了使整个系统满足用户的需求②V模型存在一定的局限性,它仅仅将测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段③W模型可以说是V模型自然而然的发展,它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试④H模型中,软件测试是一个独立的流程,贯穿产品的整个生命周期,与其他流程并发地进行⑤H模型中,测试准备和测试实施紧密结合,有利于资源调配A. ①⑤B. ②④C. ③④6. (单选题)下列关于W模型的描述中正确的是(A)A. W模型强调测试伴随着整个软件开发周期,测试对象不仅仅是程序,需求、功能和文档同样需要测试B. 所有开发活动完成后,才可执行测试C. W模型将软件的开发视为合同签订、需求、设计、编码等一系列串行活动D. 在W模型中,需求、设计、编码串行进行,也可以并行工作7. (单选题)V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各段的对应关系。
《软件测试》试卷一、判断题(每题1分,共12分,正确的",错误的X)1.软件需求是度量软件质量的基础。
不符合需求的软件就不具备质量。
(T)2.全面质量管理的定义是:一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。
(T)3.发现错误是软件测试的唯一目的。
(F)4.白盒测试可以找出软件遗漏功能和代码错误问题。
(F)5.软件的质量有测试组决定。
(F)6.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
(T)7.测试从不可知内部条件开始,结果是不可预见的。
(F)8.软件缺陷一定是由编码所引起的.。
(F)9.软件测试等于程序测试。
(F)10.Beta测试是软件的多个用户在实际使用环境下进行的测试。
(T)11.经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。
(T)12.验收测试比较适合采用软件自动化测试工具进行测试。
(F)二、单项选择题(每题2分,共12分)1.某次程序调试没有出现预计的结果,下列(B )不可能是导致出错的原因。
A.变量没有初始化B.编写的语句书写格式不规范C.循环控制出错D.代码输入有误2.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?(B)A预防软件发生错误B发现改正程序错误C提供诊断错误信息 D.都是3.下面的哪一项测试步骤中需要进行局部数据结构测试:(A)A.单元测试B.集成测试C,确认测试D.系统测试4.白盒测试是根据程序的(C )来设计测试用例A.功能B.性能C.内部逻辑D,内部数据5.(C )方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类C.因果图D.归纳测试6.有一组测试用例,它使被测程序中的每一个分支至少执行一次,它满足的覆盖标准是:(B)A.语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖三、问答题(每题9分,共54分)1.什么是软件质量?请写出IS0/IEC9126中如何评价和度量软件质量的。
《软件测试技术》期末试题(A卷)单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。
1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低( A )(A)需求分析(编制产品说明书)(B)设计(C) 编码(D)产品发布2.单元测试中用来模拟被测模块调用者的模块是 ( C )(A)父模块(B)子模块(C)驱动模块(D)桩模块3.为了提高测试的效率,应该( D )(A)随机地选取测试数据;(B)取一切可能的输入数据作为测试数据;(C)在完成编码以后制定软件的测试计划;(D)选择发现错误可能性大的数据作为测试数据。
4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为 ( B )(A)强度测试(B)压力测试(C) 容量测试(D)性能测试5.必须要求用户参与的测试阶段是 ( D )(A)单元测试(B)集成测试(C) 确认测试 (D)验收测试6.软件测试员究竟做些什么。
( C )(A)软件测试员的目的是发现软件缺陷(B)软件测试员的目的是发现软件缺陷,尽可能早一些(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复7.下面四种说法中正确的是( C )(A)因果图法是建立在决策表法基础上的一种白盒测试方法;(B)等价类划分法是边界值分析法的基础;(C)健壮性等价类测试的测试用例要求在有效等价类中取值;(D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。
8.不属于单元测试内容的是( A )(A)模块接口测试(B)局部数据结构测试(C)路径测试(D)用户界面测试9.划分软件测试属于白盒测试还是黑盒测试的依据是( C )(A)是否执行程序代码(B)是否能看到软件设计文档(C)是否能看到被测源程序(D)运行结果是否确定10.下列项目中不属于测试文档的是( C )(A)测试计划(B)测试用例(C) 程序流程图(D)测试报告11.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是( B )(A)大棒模式(B)边写边改模式(C)瀑布模式(D)快速原型开发模式12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 ( A )(A)判定覆盖(B)条件覆盖(C) 判定/条件覆盖(D)组合覆盖13.下列说法不正确的是( D )(A)测试不能证明软件的正确性;(B)测试员需要良好的沟通技巧;(C)QA与testing属于一个层次的概念;(D)成功的测试是发现了错误的测试。
软件测试期末考试试题及答案软件测试期末考试试题及答案一、选择题1、软件测试的目的是()。
A. 发现尽可能多的缺陷 B. 改进软件产品的质量 C. 提高软件产品的可靠性 D. 确认软件产品的功能和性能答案:A2、下面()方法属于黑盒测试。
A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 边界值分析答案:D3、下列缺陷中,属于可修复缺陷的是()。
A. 需求不清晰 B. 缺乏文档 C. 程序崩溃 D. 界面设计不合理答案:C4、软件测试按照()可分为单元测试、集成测试、系统测试和验收测试。
A. 测试技术 B. 测试方法 C. 测试阶段 D. 测试工具答案:C5、软件缺陷报告需要记录的属性不包括()。
A. 缺陷编号 B. 缺陷状态 C. 测试用例 D. 缺陷严重程度答案:C6、下列软件缺陷修复的成本中,属于低成本的是()。
A. 分析缺陷原因 B. 设计新功能来避免缺陷 C. 重写程序来修复缺陷 D. 使用工具辅助修复缺陷答案:D7、下列()是有效的软件测试原则。
A. 软件测试是软件开发过程的重要组成部分 B. 软件测试的目的是证明软件存在的缺陷 C. 软件测试是软件开发阶段的最后一个环节 D. 软件测试的本质是发现软件中存在的缺陷答案:D8、下列()工具属于性能测试工具。
A. JUnit B. LoadRunner C. QTP D. JIRA 答案:B9、在软件测试中,下列说法正确的是()。
A. 软件中不存在缺陷时,无需进行测试 B. 软件未通过测试时,不能发布上线 C. 软件测试是软件开发过程中最关键的一步 D. 软件测试是为了证明软件存在的缺陷答案:B10、在软件测试中,下列说法错误的是()。
A. 等价类划分法属于黑盒测试方法 B. 边界值分析法属于白盒测试方法 C. 在进行等价类划分时,至少应分为有效和无效两个等价类 D. 在使用边界值分析法时,至少应选择上界和下界两个边界值进行分析答案:B二、填空题1、软件测试按照()可分为白盒测试、黑盒测试和灰盒测试。
说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。
一、选择题(每题2 分,共20分)请将答案填入题后括号中。
1.从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是( A )。
为了提高测试的效率,应该( B )。
使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。
与设计测试数据无关的文档是( D )。
软件的集成测试工作最好由( E )承担,以提高集成测试的效果。
供选择的答案:A. ① 评价软件的质量② 发现软件的错误③ 找出软件中的所有错误④ 证明软件是正确的B. ① 随机地选取测试数据② 取一切可能的输入数据作为测试数据③ 在完成编码以后制定软件的测试计划④ 选择发现错误的可能性大的数据作为测试数据C. ① 程序的内部逻辑② 程序的复杂程度③ 使用说明书④ 程序的功能D. ① 该软件的设计人员② 程序的复杂程度③ 源程序④ 项目开发计划E. ① 该软件的设计人员② 该软件开发组的负责人③ 该软件的编程人员④ 不属于该软件开发组的软件设计人员2.请从供选择的答案中选出应填入下列()中的字句。
程序的三种基本控制结构是( A )。
它们的共同点是( B )。
结构化程序设计的一种基本方法是( C )。
软件测试的目的是( D )。
软件调试的目的是( E )。
供选择的答案:A. ① 过程,子程序,分程序② 顺序,条件,循环③ 递归,堆栈,队列④ 调用,返回,转移B. ① 不能嵌套使用② 只能用来写简单的程序③ 已经用硬件实现④ 只有一个入口和一个出口C. ① 筛选法② 递归法③ 归纳法④ 逐步求精法D. ① 证明程序中没有错误② 发现程序中的错误③ 测量程序的动态特性④ 检查程序中的语法错误E. ① 找出错误所在并改正之② 排除存在错误的可能性③ 对错误性质进行分类④ 统计出错的次数3.从下列关于软件测试的叙述中,选出5条正确的叙述。
(1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
软件测试期末试题及答案一、选择题1. 在测试过程中,辨识风险涉及哪些方面?A. 标识出可能带来影响的风险B. 评估风险的严重程度C. 确定风险发生的概率D. 制定相应的风险应对计划E. 执行风险应对计划答案:ABCDE2. 软件测试的目的是什么?A. 发现软件中的缺陷B. 评估软件的质量C. 确保软件符合需求D. 提供关于软件的信息E. 推断软件在特定条件下的行为答案:ABCDE3. 在软件测试中,白盒测试主要关注以下哪些方面?A. 程序的结构B. 代码的逻辑C. 程序的控制流程D. 程序的变量E. 程序的输入和输出答案:ABCDE4. 风险管理的过程包括以下哪些步骤?A. 风险辨识B. 风险评估C. 风险规划D. 风险监控E. 风险应对答案:ABCDE5. 下列哪项不属于黑盒测试方法?A. 等价类划分法B. 边界值分析法C. 控制流分析法D. 正交实验设计法E. 错误推测法答案:C二、填空题1. 软件测试的基本原则是________ 。
答案:尽早开始。
2. 在测试计划中,应该包含测试的________ 。
答案:范围、策略和进度。
3. 执行测试用例的目的是________ 。
答案:发现软件中的缺陷。
4. 白盒测试主要关注软件的________ 。
答案:结构和逻辑。
5. 黑盒测试方法之一的等价类划分法的核心思想是________ 。
答案:将输入域分为等价类,选择代表性的测试用例。
三、简答题1. 请简要描述一下软件测试的步骤。
答案:软件测试的步骤包括需求分析、测试计划、测试设计、测试执行和测试评估。
需求分析阶段确定测试的目标和范围;测试计划阶段定义测试策略和计划;测试设计阶段制定测试用例和测试数据;测试执行阶段执行测试用例并记录测试结果;测试评估阶段对测试结果进行分析和评估。
2. 请简述一下白盒测试和黑盒测试的区别。
答案:白盒测试是基于程序内部结构的测试方法,主要关注程序的结构、逻辑和控制流程,通过检查程序的代码来执行测试。
一,判断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.C10.A
三填空
1.测试计划、测试用例
2.稳定性测试、负载测试、压力测试
穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表
性。
边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。
决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具
因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例
的方法,它适合于检查程序输入条件的各种组合情况。
错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
4.列举常见的系统测试方法。
答出来5个即可。
(5分)
答:恢复测试
安全测试
强度测试
1.
2.。
软件测试课期末大作业选择一个实际项目,针对该项目,实施软件测试,撰写测试文档及总结报告。
对项目的要求:●选择在本学期中自己开发的任何一个软件系统●该系统的开发平台环境和语言不限,系统内容不限(web网站、管理信息系统、基于.net的各种应用程序、基于j2ee的各应用程序等等)●系统需有明确的体系结构,并且有一定的软件规模;大作业的组成、内容和采用的技术要求:两部分组成。
一、测试文档:●测试计划文档(可不写)●测试用例文档(重要。
可集成为一个文档,也可分多个文档写,不要超过8页)●测试报告文档(可简略,不超过2页)二、总结(对该实施项目测试的总结报告500-800字,总结、优、缺、下一步计划、心得体会等)从测试方法分析,文档中需要包含以下方法:●黑盒测试(等价分类法,边界值法,决策表法)●白盒测试(逻辑覆盖法,基本路径覆盖法,决策表法)从测试阶段分,文档中需要覆盖以下的测试:●单元测试(白盒法,需要有驱动和桩程序)●集成测试(自顶向下或自底向上两种集成策略)●系统测试(功能测试、正确性/合适性测试、健壮性测试【容错/恢复】、性能测试、用户界面测试、信息安全性测试、压力测试【负载/并发】、可靠性测试、易用性测试、兼容性测试、安装/反安装测试等,要求至少采用6种以上的方法)其它要求:●提交时间:要求2013年6月16日前提交作业;●作业命名:打包后放入文件夹,文件夹命名法:学号_姓名(如:1203001_张三_班级)作业结构:●独立选题,独立完成。
论文不得有雷同。
●文章注意排版要求(如:缩进;标题和正文[正文一律用5号]、行距和段距要有明确区分等);●截止日前,电子版和打印版分别交负责人收齐。
打印版内容为:软件测试大作业总结报告(500-800字,1页)+测试文档(小于等于10页)。
可编辑修改精选全文完整版第一部分:理论题1. 测试计划编写6要素:___、___、when 、where 、 who 、 how 。
2.测试用例由________________和预期的________________两部分组成。
3. 性能测试主要包括两方面内容________________和________________ 。
4. 验收测试又分为________________ 和________________。
5. 自顶向下测试有两种组合策略________________ 和________________。
6.测试计划的制定必须要注意: A.测试策略 测试范围 B.测试方法 测试安排 C.测试风险 测试管理 D.以上都是( )7.制定测试计划的步骤: ( )A.确定项目管理机制 预计测试工作量 测试计划评审B.确定测试范围 确定测试策略 确定测试标准、预计测试工作量C.确定测试构架 确定项目管理机制 预计测试工作量 测试计划评审D.确定测试范围 确定测试策略 确定测试标准 确定测试构架 确定项目管理机制 预计测试工作量 测试计划评审 8.软件测试用例主要由测试输入数据和( )两部分组成。
A. 测试计划 B. 测试规则C. 测试的预期结果D. 以往测试记录分析9.与设计测试用例无关的文档是( )。
A. 项目开发计划 B. 需求规格说明书 C. 软件设计说明书 D. 源程序10.在设计测试用例时,( )是用得最多的一种黑盒测试方法一、填空题(每题1分,共10分)二、选择题(每题2分,共20分)A. 等价类划分B. 边界值分析C. 因果图D. 功能图11.黑盒测试方法的优点是( ) A. 可测试软件的特定部位 B. 能站在用户立场测试 C. 可按软件内部结构测试 D. 可发现实现功能需求中的错误 12.软件测试项目周期是指( ) A.需求阶段、测试计划B.阶段测试、设计阶段测试、执行阶段C.以上都不是D.以上都是13.软件测试过程模型有( ) A. V 模型 H 模型 B. W 模型 C. X 模型 D. 以上都有 14.负载测试属于 A.压力测试 B.性能测试 C.并发测试 D.可靠测试15.Loadruner 主要是用来做什么测试的?( ) A.性能测试 B.功能测试 C.单元测试 D.验收测试 16.项目立项前测试人员不需要提交任何工件。
软测期末考试题及答案一、选择题(每题2分,共20分)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. 测试用例应有明确的预期结果6. 在软件测试中,什么是回归测试?A. 测试软件的新功能B. 测试软件的稳定性C. 测试软件的安全性D. 重新测试软件的修改部分7. 以下哪个不是软件测试的阶段?A. 需求分析阶段B. 单元测试阶段C. 集成测试阶段D. 软件部署阶段8. 什么是缺陷生命周期?A. 缺陷的发现、报告、修复和验证的过程B. 缺陷的发现、修复和关闭的过程C. 缺陷的发现、报告和修复的过程D. 缺陷的发现、报告和关闭的过程9. 软件测试中的“测试驱动开发”(TDD)是指什么?A. 先编写测试用例,再开发代码B. 先开发代码,再编写测试用例C. 同时编写测试用例和开发代码D. 只编写测试用例,不开发代码10. 压力测试和负载测试的区别是什么?A. 压力测试是测试软件在极端条件下的表现B. 负载测试是测试软件在正常使用条件下的表现C. 压力测试是测试软件在正常使用条件下的表现D. 负载测试是测试软件在极端条件下的表现二、简答题(每题10分,共30分)1. 请简述软件测试的重要性。
2. 解释什么是自动化测试,并说明其优势。
3. 描述软件测试过程中的“测试计划”的作用。
软件测试技术期末考试题及答案试题:软件测试技术期末考试题一、选择题(每题2分,共20分)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. 测试软件的性能...(此处省略其他选择题)二、简答题(每题10分,共30分)1. 请简述软件测试的生命周期。
2. 什么是集成测试?请列举集成测试的三种主要策略。
3. 描述系统测试与验收测试的区别。
三、论述题(每题25分,共50分)1. 论述软件测试中静态测试与动态测试的区别及其各自的优缺点。
2. 请结合实际案例,论述如何制定有效的软件测试计划。
答案:一、选择题1. C2. C3. C4. D5. A...(此处省略其他选择题答案)二、简答题1. 软件测试的生命周期包括需求分析、设计、实现、测试和维护等阶段。
在每个阶段,测试人员需要进行相应的测试活动,以确保软件产品的质量。
2. 集成测试是将模块按照某种策略组合在一起进行测试的过程。
三种主要策略包括自顶向下集成、自底向上集成和大爆炸集成。
3. 系统测试是测试团队对整个系统进行的测试,目的是验证系统作为一个整体是否满足需求规格说明。
验收测试则是用户对软件进行的测试,目的是验证软件是否满足用户的实际工作需求。
三、论述题1. 静态测试主要关注软件文档和代码的审查,不需要运行软件。
它的优点是成本较低,可以在早期发现问题;缺点是无法发现运行时的错误。
《软件测试技术》期末复习题及答案软件测试的目的和意义何在?目的:检验系统是否满足规定需求,或弄清实际结果与预期结果之间的差别,即验证和确认软件质量。
1、软件测试的定义。
IEEE定义:测试人员采用合适的测试方法,使用人工或自动手段来检查、分析或运行某个系统(软件)的过程,其目的在于检验系统是否满足规定需求,或弄清实际结果与预期结果之间的差别。
2、软件测试有哪些原则?基本原则:所有测试的标准都是建立在用户需求之上。
软件测试必须基于“质量第一”的思想去开展各项工作。
事先定义好产品的质量标准。
软件项目一旦启动,软件测试也就开始,而不是等程序写完,才开始进行测试。
穷举测试是不可能的。
第三方进行测试会更客观、更有效。
软件测试计划是做好软件测试工作的前提。
要设计合理的测试用例。
对发现错误较多的程序段,应进行更深入的测试。
重视文档,要善于保存一切测试过程文档。
3、什么是软件缺陷(Bug)?简述错误、缺陷、故障之间的关系。
软件缺陷:缺陷通常表现为软件功能上的失败、功能和实际需求的不一致,即矛盾。
IEEE定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。
从外部看,软件缺陷是系统所需要实现的某种功能的失效或与用户需求的违背。
关系:缺陷是错误在软件中体现出来的结果。
错误是潜伏在软件中的问题,如果永远不执行它们就不会出现缺陷。
当缺陷被引发时,它可能造成故障(失效)。
故障是缺陷的表现形式,是软件的运行结果相对于软件预期行为的一种偏离。
4 、Bug 的来源有哪些?一方面:来自开发人员的经验不足(生疏)来自程序员的疏忽大意、掉以轻心开发人员的不良心理拙劣的项目管理4、缺陷分为哪四级?有哪些不同的状态?四级缺陷:致命的(fatal)——非常严重的缺陷:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能组完全丧失等。
2. 严重的(critical)——较严重的缺陷:严重错误,指主要功能或特性没有实现,导致严重问题的错误声明。
电子科技大学二零零八至二零零八学年第二学期软件测试技术(A卷)课程考试题(120分钟)闭卷考试时间:2008说明:本试卷共四大题,试卷满分100分。
注意:请将所有答案填写在最后一页答题卡上。
一、单项选择题:共20小题,每小题2分,满分40分。
1 •软件测试按照测试层次可以分为( c )A •黑盒测试、白盒测试B. 功能性测试和结构性测试C. 单元测试、集成测试和系统测试D. 动态测试和静态测试2、软件测试是采用( a )执行软件的活动。
A •测试用例B •输入数据C.测试环境D •输入条件3 •软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(d )1预防软件发生错误2发现程序错误3提供诊断错误信息A .只有1B .只有2C.只有3D .都是4 、导致软件缺陷的最大原因是:(a )A .软件需求说明书B.设计方案C .编码D .维护5 、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括( a )A、测试输入、执行条件和预期的结果。
B、测试目标、测试工具C、测试环境 D 、测试配置6 、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于( b )A .测试B.调试C.回归测试 D .单元测试7、软件缺陷修复的代价最高的阶段为(a)A、发布阶段B、需求阶段C、设计阶段 D 、编码阶段8 、下列(b )是关于软件缺陷的描述。
A .导致软件包含故障的人的行为B •产品的异常情况C.引起一个功能部件不能完成所要求的功能的一种意外情况-可编辑修改-D .功能部件执行其规定功能的能力丧失9、可作为测试停止的标准是( d )A .当时间用光时B .执行了所有的测试用例,但没有发现故障C.当所有缺陷都已经清除时D •当达到所要求的覆盖时10、下列描述错误的是( a )A •软件发布后如果发现质量问题,那是软件测试人员的错B •穷尽测试实际上在一般情况下是不可行的C.软件测试自动化不是万能的D •测试能由非开发人员进行,调试必须由开发人员进行。
试卷A:1.关于软件测试,下列说法错误的是()(选择二项)A.软件测试应该从代码完成后开始B.程序员测试自己编写的代码有助于测试的深入广泛进行C.软件测试必须确定预期输出结果D.测试过程中要注意测试中的缺陷群集现象2.下列关于单元测试的说法中错误的是()。
(选择二项)A. 单元测试也需要进行计划、设计、执行、评审等一系列过程B. 单元测试往往需要编写桩模块和驱动模块C. 单元测试完全采用白盒测试方法完成D. 单元测试的直接依据是需求规格说明书3.有如下C语言程序段:if((A+10)==2|| (B-20)<3)C=0;if((A+30)>10&&(C-30)<0)B=30;对于(A,B,C)的取值,下列用例能够实现语句覆盖要求的是( D )。
A.(2,30,1)B. (-20,0,30)C.(-30,20,30)D.(-8,20,3)4.下列常用的测试用例设计技术中,不属于白盒测试技术的是()。
a)信息流分析法b)数据流分析法c)逻辑覆盖测试和基本路径测试d)状态图法5.下列关于静态测试的说法中正确的是()。
(选择二项)A.静态测试可以由人工进行,也可以使用软件工具进行B.静态测试不需要运行代码,也不需要对代码编译、链接生成可执行文件C.静态测试可以证明错误是不存在的D.静态测试包括黑盒测试和白盒测试两种测试方法6.通常情况下,下列选项中不属于单元测试内容的是()。
A.功能点测试B.模块接口测试C.内部数据流测试D.测试程序的并发用户数7.下图为某被测程序结构图,对其进行增式集成测试,模块集成的顺序是A-B-E-C-D-F,则采用的测试方法是()。
A. 自底向上增式集成B. 按深度方向自顶向下增式集成C. 按广度方向自顶向下增式集成D. 不能确定采用哪种增式集成8.在C语言中,八进制数是以O开头的数,现假定可接受的输入范围为-O110~O110,则下列关于等价类的说法中错误的是()。
1.项目名称:数字时钟。
2.测试软件:Parasoft Jtest。
3.实现数字时钟的过程:首先打开Parasoft Jtest点击“文件”,然后将鼠标移到新,展开相应的下拉菜单栏,单击其他打开以下界面,选择Java,建立一个Java Project(Java 项目)。
单击下一步进入以下界面:然后输入项目名称“Shizishizhong”。
然后单击“完成”。
此时Parasoft Jtest的界面是这样的:然后在“Shuzishizhong”里建一个类(class),鼠标右击,弹出以下界面,将鼠标移到“New”,出现以下界面:然后单击“Class”,进入以下界面:然后在Name一栏输入“Shizhong”,单击完成,这样就初步完成了一个Java空白项目,然后编写以下代码:import java.awt.*;import java.text.DateFormat;import java.util.*;import javax.swing.*;//数字时钟public class ShiZhong extends JFrame implements Runnable {Thread clock;final int Xpoint=180;final int Ypoint=180;final int R=80;int xHour=0,yHour=0,xSecond=0,ySecond=0,xMin=0,yMin=0; public ShiZhong(){super("数字时钟"); //调用父类构造函数setFont(new Font("宋体",Font.BOLD,20)); //设置时钟的显示字体start(); //开始进程setSize(360,360); //设置窗口尺寸setVisible(true); //窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序}public void start(){ //开始进程if(clock==null)//如果进程为空值{clock=new Thread(this); //实例化进程clock.start(); //开始进程}}public void run()//运行进程{while (clock!=null){repaint(); //调用paint方法重绘界面try{Thread.sleep(1000); //线程暂停一秒(1000毫秒) }catch (InterruptedException ex){ex.printStackTrace(); //输出出错信息}}}public void stop()//停止进程{clock=null;}public void paint(Graphics g)//重载组件的paint方法{Graphics2D g2=(Graphics2D)g; //得到Graphics2D对象DateFormat dateFormat =DateFormat.getDateInstance(DateFormat.FULL);Calendar now=new GregorianCalendar(); //实例化日历对象 now.setTime(newDate());//dateFormat.format(now.getTime())String timeInfo=""; //输出信息int hour=now.get(Calendar.HOUR_OF_DAY); //得到小时数int minute=now.get(Calendar.MINUTE); //得到分数int second=now.get(Calendar.SECOND); //得到秒数if (hour<=9)timeInfo+="0"+hour+":"; //格式化输出elsetimeInfo+=hour+":";if (minute<=9)timeInfo+="0"+minute+":";elsetimeInfo+=minute+":";if (second<=9)timeInfo+="0"+second;elsetimeInfo+=second;g.setColor(Color.yellow); //设置当前颜色为黄色Dimension dim=getSize(); //得到窗口尺寸g.fillRect(0,0,dim.width,dim.height); //填充背景色为白色g.setColor(Color.red); //设置当前颜色为红色g.drawString(timeInfo,130,340); //显示时间字符串g.setColor(Color.green);g.drawString(dateFormat.format(now.getTime()),20,60);g.setColor(Color.black);g.setFont(new Font("SAN_SERIF",Font.BOLD,15));for(int i=0,num=12;i<360;i+=6){double alfa = Math.toRadians(i);int xPos=Xpoint+(int)(R*Math.sin(alfa));int yPos=Ypoint-(int)(R*Math.cos(alfa));if(i==0){if (num%3==0)g.setColor(Color.red); // 数字3,6,9,12为红色elseg.setColor(Color.black); // 其余数字为黑色g.drawString(""+num,xPos-5,yPos+3); // 写数字num=(num+1);}else{g.setColor(Color.black);g.drawString(".",xPos,yPos);}}g.setColor(Color.black);g.fillOval(Xpoint-4,Ypoint-4,8,8);//画秒针xSecond=(int)(Xpoint+(R-10)*Math.sin(second*(2*Math.PI/60)) );ySecond=(int)(Ypoint-(R-10)*Math.cos(second*(2*Math.PI/60)) );g.setColor(Color.red);g.drawLine(Xpoint,Ypoint,xSecond,ySecond);//画分针xMin=(int)(Xpoint+(R-20)*Math.sin((minute+second/60)*(2*Mat h.PI/60)));yMin=(int)(Ypoint-(R-20)*Math.cos((minute+second/60)*(2*Mat h.PI/60)));g.setColor(Color.red);g.drawLine(Xpoint,Ypoint,xMin,yMin);//画时针xHour=(int)(Xpoint+(R-30)*Math.sin((hour+minute/60+second/6 0/60)*(2*Math.PI/12)));yHour=(int)(Ypoint-(R-30)*Math.cos((hour+minute/60+second/6 0/60)*(2*Math.PI/12)));g.setColor(Color.red);g.drawLine(Xpoint,Ypoint,xHour,yHour);}public static void main(String[] args){new ShiZhong();}}然后单击“执行”就可以出现数字时钟的界面:从而实现我们想要的一个结果。
利用Java编写的代码来实现数字时钟。
4.开发人员:来自一个“迷宫上的星空”的博客。
该程序中的BUG:值得我们注意得是这段代码:if(i==0){if (num%3==0)g.setColor(Color.red); // 数字3,6,9,12为红色elseg.setColor(Color.black); // 其余数字为黑色g.drawString(""+num,xPos-5,yPos+3); // 写数字num=(num+1);}else{g.setColor(Color.black);g.drawString(".",xPos,yPos);}}其实他是存在问题的,因为它没有显示出时钟上的数字,其实正确的应该是这样的:if(i==0){if (num%3==0)g.setColor(Color.black);// 数字3,6,9,12为红色elseg.setColor(Color.black); // 其余数字为黑色g.drawString(""+num,xPos-5,yPos+3);g.drawString(""+1,xPos+37,yPos+15);g.drawString(""+2,xPos+66,yPos+44);g.drawString(""+3,xPos+79,yPos+84);g.drawString(""+4,xPos+70,yPos+125);g.drawString(""+5,xPos+40,yPos+153);g.drawString(""+6,xPos-0,yPos+165);g.drawString(""+7,xPos-40,yPos+154);// 写数字 g.drawString(""+8,xPos-70,yPos+125);g.drawString(""+9,xPos-83,yPos+84);g.drawString(""+10,xPos-75,yPos+45);g.drawString(""+11,xPos-46,yPos+13);}else{g.setColor(Color.black);g.drawString(".",xPos,yPos);}}运行出来的结果是这样的:这才是我们要的做种结果。