软件测试技术复习题
软件测试复习题(附答案)

软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。
A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。
A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。
A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。
A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。
A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。
A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。
软件测试技术复习 题集附答案

软件测试技术复习题集附答案软件测试技术复习题集附答案第一题1. 请简述什么是软件测试技术?软件测试技术是指通过使用各种工具、方法和技巧来评估和改进软件产品质量的过程。
它涵盖了测试计划、测试用例设计、测试执行、缺陷跟踪和缺陷管理等方面,旨在发现并纠正软件系统中的错误,提高系统的可靠性和稳定性。
第二题2. 软件测试技术的重要性是什么?软件测试技术在软件开发生命周期中起着至关重要的作用。
其重要性体现在以下几个方面:第一,通过测试可以帮助发现软件系统中的潜在错误和缺陷,保证软件系统的质量。
第二,软件测试技术可以帮助开发团队确定测试目标,制定测试计划,并确保测试用例的完整性和覆盖率。
第三,软件测试技术可以提高软件系统的可靠性、可用性和性能。
通过不断的测试和优化,可以确保软件系统的稳定性和高性能。
第三题3. 请列举几种常见的软件测试技术。
常见的软件测试技术包括:第一,白盒测试。
白盒测试是一种基于代码的测试方法,通过检查和验证软件系统的内部结构和实现来进行测试。
第二,黑盒测试。
黑盒测试是一种基于需求和功能的测试方法,不考虑软件系统的内部实现,只关注输出结果是否符合预期。
第三,灰盒测试。
灰盒测试结合了白盒测试和黑盒测试的优点,既关注软件系统的内部结构,也关注用户的需求和功能。
第四,性能测试。
性能测试用于评估软件系统的性能和稳定性,包括负载测试、压力测试、稳定性测试等。
第五,安全测试。
安全测试用于评估软件系统的安全性,包括漏洞扫描、渗透测试、身份验证等。
第四题4. 请简述测试用例设计的方法和步骤。
测试用例设计是软件测试过程中的关键步骤,用于验证软件系统是否按照预期执行。
下面是测试用例设计的一般步骤:第一,确定测试目标。
根据软件需求和预期功能,确定需要进行测试的目标。
第二,收集测试数据。
根据测试目标,收集测试所需的数据,包括输入数据和预期输出数据。
第三,设计测试用例。
根据收集到的测试数据,设计测试用例,确保覆盖到各种情况和可能发生的错误。
软件测试技术复习资料

软件测试技术复习资料⼀、填空题1. 完整的测试应包括(制定测试计划)(设计测试⽅案)(测试准备和测试环境的搭建)(执⾏测试)(测试评估)。
2. 设计测试⽤例时应包括(输⼊数据)和(预期结果)。
6.对⾯向过程的系统采⽤的集成策略有_____⾃顶向下集成______________、_________________⾃底向上集成__两种。
7.软件测试主要分为__单元测试、集成测试、系统测试、验收测试_四类测试。
8.⿊盒测试⽤例设计⽅法包括等价类划分、边界值分析、_以及_____因果图,错误推测法等。
9.测试⼯作就是进⾏输⼊、接受输出、检验结果,不深⼊代码细节,这样的测试⽅法称为________⿊盒测试________,10.⽩盒测试是根据程序的(内部逻辑)来设计测试⽤例1、在测试执⾏结束后应该提交的⽂档有:测试问题报告、测试记录报告、阶段问题统计报告。
2、在测试总结后应该提交的⽂档有:测试问题分析报告、测试总结报告。
3、RAD⽅法中由于根本的需求没有被冻结,所以⽤户在设计的过程中是迭代的。
4、在RAD环境的测试是基于开发过程中的⽤户改进迭代。
5、在RAD⽅法中由于设计、编码和集成的反复循环性,导致了测试的设计、执⾏等的循环性。
6、测试项⽬的流程中⼀般有测试策划、测试设计、测试准备、测试执⾏、测试总结五个阶段。
7、在测试规划过程中,应对测试内容、测试需求的资源、测试通过的标准、测试进度和风险进⾏计划。
8、在测试设计过程中,应做出测试计划、测试⽤例,并要经过评审。
9、在执⾏测试的过程中应该注重⽤例执⾏时系统的实际动作和输出的真实准确记录。
10、所有的测试都应追溯到⽤户需求。
11、在集成测试的过程中,由于采⽤的测试策略不同,需要集成测试⼈员⾃⼰去编写驱动器和桩模块。
12、软件=程序+数据+⽂档+服务。
13、代码评审主要做代码审查⼯作。
14、软件测试主要分为单元,集成,系统,验收四类测试。
15、测试⼈员A在测试中发现系统20个缺陷,测试⼈员B在系统中发现了30缺陷,他们有5个缺陷是⼀样的,从理论上分析,系统⼤概存在120个缺陷?测试员A发现n个缺陷,B发现m个缺陷,共同缺陷m1个,理论上总的缺陷N=m/m1*n16、⽹络通讯三个要素,包括协议、IP、端⼝。
软件测试复习题

软件测试复习题一、选择题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. 压力测试是一种________测试,它用来评估软件在极端条件下的表现。
4. 软件测试的基本原则之一是测试显示存在缺陷,测试不显示________。
5. 软件测试的目的是发现缺陷,而不是证明软件没有缺陷,这是________原则。
三、简答题1. 描述软件测试过程中的回归测试的作用。
2. 解释什么是探索性测试,并给出其与脚本化测试的区别。
3. 描述在软件测试中,为何需要进行风险评估。
4. 讨论自动化测试的优势和局限性。
5. 阐述在敏捷软件开发过程中,测试的角色和重要性。
四、论述题1. 论述软件测试中缺陷生命周期的各个阶段,并解释每个阶段的重要性。
2. 讨论在软件开发生命周期中,测试活动如何与开发活动相辅相成。
3. 分析在现代软件开发中,持续集成和持续部署对软件测试的影响。
4. 论述在进行软件测试时,如何平衡测试的覆盖率和测试的成本效益。
5. 讨论在全球化的软件开发环境中,文化差异对软件测试的影响及应对策略。
软件测试复习题汇总

软件测试总复习题一、单选1.对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为(B)A)测试B)调试 C)错误分析D)验证2.数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种(A)A)语句覆盖B)控制覆盖C)分支覆盖D)路径覆盖3.程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径(C)A)5 B)6 C)7 D)84.如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例(B)A)1 B)2 C)3 D)45.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试(A)A)最底层B)下一层 C)最高层 D)上一层6.基本路径测试满足( B)A)语句覆盖B)路径覆盖 C)分支覆盖 D)条件覆盖7.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(B)A)正确性B)可靠性 C)可使用性 D)可维护性8.在软件性能测试中,下列指标中哪个不是软件性能的指标( D )A)响应时间B)吞吐量 C)资源利用率 D)并发进程数9.下列关于软件性能测试的说法中,正确的是(B)A)性能测试的目的不是为了发现软件缺陷B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力C)性能测试通常要对测试结果进行分析才能获得测试结论D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处10.下列关于软件可靠性测试的说法中,错误的是( A)A)发现软件缺陷是软件可靠性测试的主要目的B)软件可靠性测试通常用于有可靠性要求的软件C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面D)可靠性测试通常要对测试结果进行分析才能获得测试结论11.下列关于面向对象软件测试的说法中,正确的是(A)A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试12.下列哪种测试不属于面向对象单元测试考虑的范畴(D)A)成员方法的测试B)类的测试C)类树的测试D)多个相互协作的类树的测试13.下列关于面向对象集成测试的说法中,正确的是(B)A)大突击集成是面向对象集成测试最常用且最有效的方法B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码C)协作集成在任何情况下都优于自底向上集成和自顶向下集成D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试14.下列有关测试过程V模型的说法中,正确的是(C)A)验收测试应确定程序的执行是否满足软件设计的要求B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求D)集成测试在编码结束前就可以开始15.计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试以及(C)A)系统测试B)验收测试C)系统测试和验收测试D)配置项测试、系统测试和验收测试16.经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该(D)A)较少B)较多C)相似D)不确定17.同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。
《软件测试》期末复习试题及答案

《软件测试》期末复习试题及答案阶段测试一一. 单选题(共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.软件测试的目的是(B )A.避免软件开发中出现的错误B.发现软件中出现的错误C.容忍软件中出现的错误D.修改软件中出现的错误2.对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组合覆盖。
A.2B.3C.4D.53.逻辑覆盖法不包括(C )。
A.分支覆盖B.语句覆盖C.需求覆盖D.修正条件判定覆盖4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(A )。
A.判定覆盖B.条件覆盖C.判定/条件覆盖D.组合覆盖5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准和(B )。
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.以下不属于易用性而的是(D )A.功能易用性测试B.用户界面测试C.辅助功能测试D.可靠性测试11.软件测试的目的是(F )E.避免软件开发中出现的错误F.发现软件中出现的错误G.容忍软件中出现的错误H.修改软件中出现的错误12.软件的测试对象包括(D )。
A.软件代码B.文档C.数据D.以上全选13.对于逻辑表达式((a&b)| |c),需要(G )个测试用例才能完成条件组合覆盖。
E.2F.3G.4H.514.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(E )。
(完整word版)《软件测试技术》期末复习题(5套)+参考答案

《软件测试技术》期末试题(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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试技术复习题(1004)一、基本要求1、软件测试概述(1)软件可靠性问题、软件缺陷与故障、软件缺陷产生的原因(2)软件测试基本概念(3)软件开发过程(4)软件测试过程、软件开发与软件测试的关系(5)软件质量与软件质量管理的概念2、软件测试策略与过程(1)软件测试的复杂性概念(2)软件测试方法与策略:静态测试与动态测试、黑盒测试与白盒测试(3)软件测试过程:单元测试、集成测试、确认测试、系统测试、验收测试(4)面向对象的软件测试(5)软件调试的概念、软件测试与调试的关系3、功能(黑盒)测试及其用例设计(1)黑盒测试法的概念(2)三角形问题、NextDate 函数问题(3)等价类划分法(4)边界值分析法(5)因果图法(6)决策表法(7)黑盒测试应用案例4、结构(白盒)测试及其用例设计(1)白盒测试法的概念(2)控制流图、环形复杂度、图矩阵(3)覆盖测试:函数覆盖、条件覆盖、路径覆盖、面向对象的覆盖(4)路径测试:基本路径测试方法、循环测试方法(5)白盒测试应用案例5、软件测试实际应用(1)客户机/ 服务器系统的软件测试:客户机/服务器系统的结构测试、网站测试(2)面向对象的软件测试:面向对象的软件测试模型、基于类的测试(3)图形用户界面测试:窗体测试、菜单测试、数据项测试(4)实时系统性能测试(5)场景法应用案例6、软件测试管理(1)软件测试组织管理(2)软件测试计划和过程管理:制定测试计划、确定测试过程、测试结果分析(3)软件测试文档管理7、软件自动化测试(1)软件自动化测试基础:自动化测试概念、自动化测试脚本、自动化测试生存周期(2)软件自动化测试工具:白盒测试工具、黑盒测试工具二、基本概念1、软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。
软件测试所涉及的关键问题包括四个方面:测试人员、测试内容、测试时间和测试方法。
2、软件测试过程中需要三类输入:软件配置、测试配置和测试工具。
软件测试所涉及的关键问题包括四个方面:测试人员、测试内容、(测试时间)和测试方法。
3、IEEE 将软件可靠性定义为:系统在特定环境下,在给定的时间内无故障运行的概率。
根据软件测试的定义,软件测试是为了发现错误而执行程序的过程。
4、基于Web 的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。
5、面向对象单元测试针对程序内部具体单一功能的模块进行测试。
从测试的角度来看,继承提供一种机制,通过这种机制,潜在的错误能够从一个类传递到它的派生类。
6、使用白盒测试工具所发现的故障可以定位到代码级。
7、等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。
因此,等价类的划分原则应该体现完备性和无冗余性。
8、基于Web 的系统测试重要的是,从最终用户的角度进行安全性和可用性测试9、有效的Web压力测试系统的关键条件中,量级指的是尽量使单独的操作进行高强度的使用,增加操作的量级。
10、对OOP的测试重点集中在类功能的实现和相应的面向对象程序架构上,主要表现之一为数据成员是否满足数据封装的要求。
11、面向对象技术的特点给测试带来的新问题具体表现有多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性。
对OOP勺测试重点集中在类功能的实现和相应的面向对象程序架构上。
12、测试大纲是软件测试的依据,包括测试项目、测试步骤、测试完成的标准。
13、动态测试工具需要实际运行被测系统,并设置断点,向代码生成的(可执行)文件中插入一些监测代码。
14、C/S 体系结构的软件测试通常是从单个客户端开始,然后再逐步集成客户端、服务器和网络系统进行集成测试,最后进行系统的整体测试。
15、静态测试分析主要集中在需求文档、设计文档以及程序结构方面。
16、对Web网站测试所采用的测试方法与策略除了黑盒测试、白盒测试、静态测试和动态测试都有可能用到外,还会包括面向对象测试技术的运用。
17、软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。
18、按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。
在软件测试中,对已测试过的模块进行组装,目的在于检验与软件设计相关的程序结构问题的测试称为集成测试。
19、实时系统测试的一般步骤:任务测试、行为测试、任务间测试和系统测试。
20、为了达到1 00 %的基于状态的上下文覆盖,例行程序必须在每个适当的上下文内被执行。
三、简答题1、应用条件/ 判定覆盖进行路径测试可能发现的错误。
针对判定和条件覆盖,测试用例可能发现如下错误:(1)不同数据类型的比较;(2)不正确的逻辑操作或优先级;(3)应当相等的地方由于精确度的错误而不能相等;(4)不正确的判定或不正确的变量;(5)不正确的或不存在的循环终止;(6)当遇到分支循环时不能退出;不适当地修改循环变量。
2、简述软件测试报告的内容。
软件测试报告是软件测试过程中最重要的文档,它的内容包括:(1)记录问题发生的环境(2)记录问题的再现步骤(3)记录问题性质的说明(4)记录问题的处理进程3、测试过程中必需的基本测试活动有哪些。
(1)拟定软件测试计划(2)编制软件测试大纲(3)设计和生成测试用例(4)实施测试(5)生成软件测试报告4、确定软件测试策略时的参考原则。
(1)在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
(2)必要时采用等价类划分法补充测试用例。
(3)采用错误推断法再追加测试用例。
(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。
(5)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。
5、简述软件自动化测试中的脚本技术脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。
脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。
当然,也可以直接用脚本语言编写脚本。
脚本技术可以分为以下几类:线性脚本——是录制手工执行的测试用例得到的脚本。
结构化脚本——类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环)而且具有函数调用功能。
共享脚本——是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用另一个脚本。
数据驱动脚本——将测试输入存储在独立的数据文件中。
关键字驱动脚本——是数据驱动脚本的逻辑扩展。
6、在单元测试时,如果模块不是独立的程序,需要设置一些辅助测试模块。
简述两种辅助测试模块的作用。
驱动模块:用来模拟被测试模块的上一级模块,相当于被测模块的主程序。
它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。
桩模块:用来模拟被测模块工作过程中所调用的模块。
它们一般只进行很少的数据处理。
7、简述由面向对象技术的特点给测试带来的新问题。
封装把数据及对数据的操作封装在一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故障的扩散。
但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。
继承实现了共享父类中定义的数据和操作,同时也可定义新的特征。
子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性。
继承使代码的重用率得到了提高,但同时也使故障的传播几率增加。
多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性,给测试覆盖率的活动带来新的困难。
8、Web压力测试的意义及有效的压力测试系统的关键条件。
(1)Web压力测试的意义压力测试是系统测试的一部分,通过应用很大的工作负载来使软件超负荷运转,其目的是要弄清楚被测试的Web服务是不是不仅能做预期应能做的事,而且在被施加了某些高强度压力的情况下仍能继续正常运行。
如果压力测试通过对软件保持高强度的使用(不超过性能统计数字确定的限制)能够有效执行,那么它就经常能够发现许多其它测试无法发现的隐蔽错误。
(2)有效的压力测试系统的关键条件①重复:就是一遍又一遍地执行某个操作或功能。
②并发:就是在同一时间内执行多个操作。
③量级:尽量使单独的操作进行高强度的使用,增加操作的量级。
④随机变化:随机使用前面条件中的无数变化形式,就能够在每次测试运行时应用许多不同的代码路径。
9、如何根据等价类的划分确定测试用例。
(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。
(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。
重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。
(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。
重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。
10、简述软件自动化测试中的“捕获-回放”技术(1)捕获:将用户每一步操作都记录下来。
这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。
所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。
(2)回放:将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。
这可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。
四、分析题1、阅读下面的问题说明:现在的软件系统几乎都是用事件触发来控制程序流程的。
事件触发时的情景便形成了场景,而同一事件不用的触发顺序和处理结果就形成了事件流。
事件流分为基本流和备选流,基本流是经过测试用例的从开始到结束的最简单、无差错的路径,备选流可以从基本流开始,也可以从另外的备选流开始,在某个特定条件下执行。
根据问题的描述确定程序的基本流和备选流,然后由基本流和备选流形成不同的场景,对每一个场景生成相应的测试用例。
这就是应用场景法进行测试用例设计的基本思想。
下面是对某ATM机应用系统的存款操作的基本流和备选流的描述。
备选流:试求:(1)设计场景(基本流用字母A表示,备选流用题干中描述的相应字母表示)。
场景格式示例如下:(2) 设计测试用例场景矩阵测试用例矩阵格式示例如下:(3) 假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了80个软件错误,系统在上线后,用户反馈了10个错误,请计算缺陷探测率(DDP)。
(1)设计场景(2)设计测试用例场景矩阵(3)计算缺陷探测率(DDP)DDP=Bugstester (Bugstester+ Bugscustomer ) = (20+80) ( 20+80+10) =90% () 其中,Bugstester为测试者发现的错误数;Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。