长江大学软件质量保证与测试复习资料

更新时间:2023-12-13 23:06:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单项选择题:

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)成功的测试是发现了错误的测试。

14. 对Web网站进行的测试中,属于功能测试的是( B )

(A)连接速度测试(B)链接测试 (C)平台测试(D)安全性测试 15. 在进行单元测试时,常用的方法是 ( B )

(A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。

16. 使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和( B )

(A) 程序的注释(B)程序的内部逻辑(C)用户使用说明书(D)程序的需求说明 17.下列___不是软件自动化测试的优点 ( D )

(A)速度快、效率高 (B)准确度和精确度高(C)能提高测试的质量 (D)能充分测试软件 18. 配置测试 ( C )

(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现

(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正 19.下列各项中___不是一个测试计划所应包含的内容 ( B )

(A)测试资源、进度安排 (B)测试预期输出(C)测试范围 (D)测试策略

20.软件测试的目的是 ( B )

(A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误 (C)证明程序是正确的 (D)调试程序 21.下列___不属于测试原则的内容 ( D )

(A)软件测试是有风险的行为 (B)完全测试程序是不可能的 (C)测试无法显示潜伏的软件缺陷 (D)找到的缺陷越多软件的缺陷就越少 22.导致软件缺陷的最大原因是 ( A )

(A)编制说明书 (B)设计 (C)编码 (D)测试 23.修复软件缺陷费用最高的是____阶段:( D )

(A)编制说明书 (B)设计 (C) 编写代码 (D)发布

24.白盒测试是根据程序的__C__来设计测试用例,黑盒测试是根据软件的规格说明来设计

测试用例。

(A)功能 (B)性能 (C)内部逻辑 (D)内部数据 25.条件覆盖的目的是( A )

(A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。 (D)使程序中的每个可执行语句至少执行一次。

26.一个程序中所含有的路径数与____有着直接的关系。 ( A )

(A) 程序的复杂程度 (B) 程序语句行数(C)程序模块数 (D)程序指令执行时间 27.动态黑盒子测试: ( B )

(A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码 (C)从软件获得读取变量和状态信息的访问权(D)测试的是软件在使用过程中的实际行为 28.在自低向上测试中,要编写称为___B_的模块来测验正在测试的模块。

(A) 测试存根 (B) 测试驱动模块(C)桩模块 (D) 底层模块 29.在没有产品说明书时使用____: ( A )

(A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试 30.调试是 ( D )

(A)发现与预先定义的规格和标准不符合的问题 (B)发现软件错误征兆的过程 (C)有计划的、可重复的过程 (D)消除软件错误的过程

31.在软件底层进行的测试称为 ( C )

(A) 系统测试 (B) 集成测试 (C) 单元测试 (D) 功能测试 32.在确定黑盒测试策略时,优先选用的方法是( B )

(A) 边界值分析法 (B) 等价类划分 (C)错误推断法 (D)决策表方法 33.下列___不属于软件缺陷( A )

(A) 测试人员主观认为不合理的地方 (B) 软件未达到产品说明书标明的功能 (C)软件出现了产品说明书指明不会出现的错误 (D)软件功能超出产品说明书指明范围

34.产品发布后修复软件缺陷比项目开发早期这样做的费用要高____( D (A)1~2倍 (B)10~20倍 (C)50倍 (D)100倍或更高 35.下列不属于正式审查的方式是 ( D )

(A)同事审查 (B) 公开陈述 (C) 检验 (D) 编码标准和规范

36. _____把黑盒子测试和白盒子测试的界限打乱了。( A )

(A) 灰盒子测试 (B)动态测试 (C)静态测试 (D)失败测试

判断题:

1. 好的测试员不懈追求完美。( × ) 2. 软件测试是有效的排除软件缺陷的手段。( √ ) 3. 程序员与测试工作无关。( × ) 4. 程序员兼任测试员可以提高工作效率。( × ) 5. 产品说明书(需求文档)的变更应当受到控制。( √ ) 6. 白盒测试的“条件覆盖”标准强于“判定覆盖”。( × ) 7. 软件开发全过程的测试工作都可以实现自动化。( × ) 8. 找出的软件缺陷越多,说明剩下的软件缺陷越少。( × ) 9. 采用自动化测试有可能延误项目进度。 ( √ ) 10. 测试应从“大规模”开始,逐步转向“小规模”。( × ) 11. 验收测试是以最终用户为主的测试。( √ )

12. 测试程序仅仅按预期方式运行就行了。 ( × ) 13. 自底向上集成需要测试员编写驱动程序。 ( √ ) 14. 软件测试工具可以代替软件测试员。 ( × )

15. 最重要的用户界面要素是软件符合现行标准和规范。 ( √ ) 16. 软件测试员可以对产品说明书进行白盒测试。 ( √ ) 17. 静态白盒测试可以找出遗漏之处和问题。 ( √ ) 18. 软件测试的目的是尽可能多的找出软件的缺陷。( √ ) 19. Beta 测试是验收测试的一种。( √ ) 20. 验收测试是由最终用户来实施的。( × )

21. 项目立项前测试人员不需要提交任何工件。( √ ) 22. 单元测试能发现约80%的软件缺陷。(√ )

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

24. 负载测试是验证要检验的系统的能力最高能达到什么程度。( × ) 25. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(× ) 26. 代码评审员一般由测试员担任。( × )

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

28. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √ ) 29. 测试错误提示信息不属于文档测试范围。( × ) 30. 总是首先设计黑盒测试用例。( √ )

名词解释

1、 软件可靠性:(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该

概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误(如果错误存在的话)。(2)在规定的时间周期内,在所述的条件下程序执行所要求的功能的能力。

2、 软件缺陷:为计算机软件或程序中存在的某种破坏正常运行能力的问题和错误,或者隐

藏的功能缺陷。

3、 软件评审:评审是一些用于开发过程早期检查和纠正缺陷的有效方法,可以用来检查未

形成执行代码的文档的缺陷。

4、软件配置管理:软件配置管理是一种标识、组织和控制修改的技术,应用与整个软件过程,目的是使错误降为最小并最有效的提高生产效率。

5、 β测试:软件开发公司组织各方面的典型用户在日常工作中实际使用β版本并要求用户

报告异常情况,提出评审意见,然后软件开发公司对版本进行改错和完善。

6、 黑盒测试:黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通

过测试来检测每个功能是否都正常使用。

白盒测试:按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 7、 静态测试:静态测试无需执行被测代码,借助专用的软件测试工具评审软件文档或程序,

度量程序静态复杂度,通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性,借以发现程序的不足之处来减少错误的概率。

动态测试:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能

8、 软件生命周期:软件的生命周期是软件的产生直到报废的生命周期,周期内有问题定义、

可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行维护,升级到废弃等阶段。

论述简答

1、 简述能力成熟度模型的五个等级

答:它是对于软件组织在定义、实施,度量、控制和改善软件过程的实现中各个发展阶段的描述,五个等级分别为:初始级、可重复级、已定义级、已管理级、优化级。 初始级:处于这个最低级的组织、基本上没有健全的软件工程管理制度;

可重复级:在这一级有些基本的软件项目的管理行为,设计和管理技术,是基于相似产品中的经验故称“可重复”;

已定义级:在第三级,已为软件生产的过程编制了完整的文档;

已管理级:一个处于第四级的公司对每个项目都设定质量和生产目标; 优化级:一个第五级组织的目标是连续的改进软件过程。 2、 影响软件质量的因素 答:(1)人的因素:软件管理就是人员的管理,有效的软件管理能够更好的发挥人的作用,用户、分析员、程序员、测试员配合得当,是开发高质量软件的重要前提;

(2)过程因素:软件过程是人们用来生产软件产品的一系列工具、方法和实践的集合; (3)技术因素:软件的复杂性与软件技术发展不相适应的状况越来越明显。 3、 什么是软件基线,并论述软件基线的作用

答:基线:已经正式通过复审技术的某产品,它因此可作为进一步开发的基础,并通过正式的变化控制过程改变;

作用:把个阶段的工作划分更加明确化,使本来连续的工作在这些点上断开,以便于检查和肯定阶段成果。

4、 软件质量保证的目标 答:以独立审查的方式监控软件生产任务的执行,给开发人员和管理层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品。 5、 软件测试应划分为几个阶段,论述各阶段的含义 答:(1)单元测试:对软件中的最小可测试单元或基本组成的单位进行检查和验证;

(2)集成测试:在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求组装为子系统或系统;

(3)系统测试:将已经过良好的集成测试的软件系统,作为整个计算机系统的一部分与其他子系统元素结合在一起,对系统进行一系列的严格测试来发现软件中的潜在缺陷; (4)验收测试:让软件用户决定是否愿意接受产品;

(5)回归测试:修改组代码后,重新进行测试,以确认修改没有引入新的错误或导致其他代码产生错误。

6、 黑盒测试有哪些方法,具体实施时应如何选择 答:(1)边界值分析法:测试的思想较简单,自动化程度高,,较容易实现自动化测试,是等价类测试良好的补充,但是该方法有较大的冗余和漏洞,对布尔型和逻辑型无效;

(2)等价类划分法:具有良好的理论基础,可以处理布尔型和逻辑型的问题,达到测试的完备性和无冗余性,工作量较低,但无法保证对整个有效域的覆盖;

(3)因果图法:很好的描述了输入条件之间的组合,降低测试冗余,但因果图的绘制十分繁琐,且其最终输出的一个决策表;

(4)功能图法:很好的测试用例设计方法,通过不同时期条件的有效性设计不同的测试数据。

实施选择:首先进行等价类划分;在任何情况下都必须使用边界值分析法;如果程序的功能

说明中含有输入条件的组合情况,则一开始就用因果图法和判定表驱动法;功能图法的使用可以通过不同时期条件的有效性设计不同的测试数据。 7、 软件测试遵循的原则 答:(1)在整个开发过程中要尽早的和不断的进行软件测试 (2)在开始测试时,不应默认程序中不存在错误

(3)设计测试用例时,要给出测试的预期结果(4)测试工作应避免由开发人员或开发机构本身来承担(5)对合理和不合理的输入数据都要进行测试

(6)重点测试错误群集的程序区段(7)除检查程序功能是否完备外,还要检查程序功能是否有多余(8)用穷举测试是不可能的

(9)长期完整保留所有的测试用例和测试文件,直到该软件产品被废弃为止。 8、软件测试自动化与捕获——回放技术

答:软件测试自动化:在预设条件下运行系统或应用,评估运行结果。

(1)捕获:将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的 像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。 (2)回放:将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记 录下来同预先给定的标准结果比较。这可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。

捕获/回放工具可以捕获用户的操作,包括击键,鼠标活动,并显示输出。工具可以自动回放以前捕获的测试,并通过与以前存储的结果进行比较而对结果进行确认。

案例分析:

某软件的一个模块的需求规格说明书中描述:

(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。 请绘制出因果图和判定表,并给出相应的测试用例。 解答:基本步骤如下:

(1) 分析程序的规格说明,列出原因和结果。 原因 C1:年薪制员工 C2:非年薪制员工 C3:严重过失 C4:过失 结果 R1:扣年终风险金的4% R2:扣年终风险金的2% R3:扣当月薪资的8% R4:扣当月薪资的4% (2) 找原因与结果之间的因果关系、原因与原因之间的约束关系并画出因果图。

(3) 将因果图转换成决策表。 1 2 3 4 5 C1 C2 C3 C4 R1 R2 R3 R4 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 6 0 0 1 1 7 0 1 1 0 0 0 1 0 8 1 1 0 0 9 1 0 0 1 0 1 0 0 10 0 1 0 1 0 0 0 1 11 1 0 1 0 1 0 0 0 12 0 1 1 1 0 0 1 0 13 1 0 1 1 1 0 0 0 14 1 1 0 1 15 1 1 1 0 16 1 1 1 1 (4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。

得到的测试用例如下表: 用例编号 1 2 3 4 5 6 输入数据 年薪制员工,过失 年薪制员工,严重过失 年薪制员工,过失,严重过失 非年薪制员工,过失 非年薪制员工,严重过失 非年薪制员工,过失,严重过失 预期输出 扣年终风险金的2% 扣年终风险金的4% 扣年终风险金的4% 扣当月薪资的4% 扣当月薪资的8% 扣当月薪资的8% 针对下面一段代码,设计其覆盖测试用例 #include using namespace std; int main() {

int a,b; float c;

cin<

if(a==20&&c<2) {

c=c+6; }

cout<

解答:

此处使用等价类划分法和边界值方法进行设计测试用例,其中,使条件有效的等价类2个,使判断条件无效的等价类为11个。下面详细给出了等价类的内容,测试用例的数值可以按照条件选择数值即可 (1)a<18,且b=5,c取任意值,验证c是否等于a/b (2)a=20,b任意,c<2,验证输出c值是否为c+6 无效等价类:

1. a<18 ,b<5 ,c任意,验证输出的值是否为c 2. a<18 ,a<18 ,c任意,验证输出的值是否为c 3. 185,c任意,验证输出的值是否为c 6. b>5 b<5,c任意,验证输出的值是否为c 7. b>5 b=5 ,c任意,验证输出的值是否为c 8. b>5 b>5,c任意,验证输出的值是否为c 9. a=20 ,b任意,c=2,,验证输出的值是否为c 10.a=20 a>20 ,c>2,验证输出的值是否为c 11.a>20 b任意,c任意,验证输出的值是否为c

本文来源:https://www.bwwdw.com/article/uz45.html

Top