1.
软件测试的目的是(B )
A. B. C. D.
避免软件开发中出现的错误 发现软件中出现的错误 容忍软件中出现的错误 修改软件中出现的错误
2.
对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组 合覆盖。
A. B. C. D.
2 3 4 5
3.
逻辑覆盖法不包括( 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. 大数据量测试
岳户端交易P理悔E扌前遅住至要刃处载压尢I测试福标.以F不苗于吉户皓交易处理性能生折的星D . A. 井贡用户栽
B .平肉爭莞■![向应时间 C .毎也事努却 D .毎砂iS程切换戡 忘击鱼看警釜
逆人在徒視老
为眩测其Wet)至魏可更持的坯大在蛙兩户数.应曲亍_L.
池-鱼瀏赋 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. F. G. H. 2 3 4 5 14. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了 该软件的
(E )。
E. F. G. H.
判定覆盖 条件覆盖 判定/条件覆盖 组合覆盖
D)
15. 以下不属于黑盒测试方法的是(
A. B. C. D.
等价类划分法 边界值分析法 错误推测法 静态结构分析法
G )。
16. 划分软件测试属于白盒测试还是黑盒测试的依据是(
E. F. G. H.
是否执行程序代码 是否能看到软件设计文档 是否能看到被测源程序 运行结果是否确定
17. 单元测试中用来模拟被测模块调用者的模块是( G) E. F. G. H.
父模块 子模块 驱动模块 桩模块
18. 不属于单元测试内容的是( E )
E. F. G. H.
模块接口测试 局部数据结构测试 路经测试 用户界面测试
B )
19. 在进行单元测试时,常用的方法是(
A. B. C. D.
采用黑盒测试,辅之以白盒测试 采用白盒测试,辅之以黑盒测试 只是用黑盒测试 只是用白盒测试
20. 客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属 于客户端交易处理性能指标的是( G )
E. F. G. H. 负载测试 压力测试 疲劳强度测试 大数据量测试
岳户端交易P理悔E扌前遅住至要刃处载压尢I测试福标.以F不苗于吉户皓交易处理性能生折的星D . A.井贡用户栽
B .平肉爭莞■![向应时间 C .毎也事努却 D .毎砂iS程切换戡
熬击宜看警r垂
为眩测其四住至统可更持的鈕大在蛙兩户数.应曲亍_L.
A .sssm B.压力劃试
C .頑劳葩测诂 D .疋耶删扳
21.
实际的逻辑覆盖测试中,一般以(
I. J. K. L.
J )为主设计测试用例。
条件覆盖 判定覆盖 条件组合覆盖 路径覆盖
22.
单元测试所使用的主要测试方法是( D)
A. B. C. D.
黑盒测试 静态测试 动态测试 白盒测试
23.
集成测试所使用的主要测试方法是( A )。
A.
黑盒测试
24.
系统集成测试常见的有哪几种不同模式( AB )。
A. B. C. D.
非渐增式测试模式 渐增式测试模式 独立测试模式 非独立测试模式
16.在集成测试中'主姿的集成方法有(ABCD >
A.自顶向下
吐自底向上
CL大爆炸
明治
E. F.
自顶向下 自底向上
G. 大棒 H. 三明治
26.文档测试主要检查文档的( A. B. C. D.
ABCD )。
正确性 完备性 易理解性 一致性
AC ),才可交付用户使用
27. 验收测试完成后还需要提交
A. B.
验收报告 项目完成报告
C. 交付报告
D. 无需提供任何报告
28. 软件产品的质量中的非功能需求包括(
A. B. C. D.
ABCD )等。
适用性 有效性 可靠性 性能
29. 对于整个软件的本地化过程来说,需要解决的技术问题主要有
(AC )o
A. B. C. D.
数据格式 页面显示和布局 配置和兼容性问题 翻译问题
30. 测试团队的基本责任应该是(ABCD )o
A. B. C. D.
发现软件程序、系统或产品中的所有问题 尽早地发现问题
督促开发人员尽快地解决程序中的缺陷 帮助团队解决资金问题
31. 软件缺陷是由很多方面造成的,以下哪个方面是造成软件缺陷的最多 的地方(A )
a) 规格说明书 b) 系统设计结果 c) 编写代码 d) 其他
32. 单元测试所使用的主要测试方法是( H )
E. F. G. H. 黑盒测试 静态测试 动态测试 白盒测试 33. 系统集成测试常见的有哪几种不同模式( EF )。
E. F. G. H.
非渐增式测试模式 渐增式测试模式 独立测试模式 非独立测试模式
34. 对于一些关键代码或新人写的代码,主要采取( B )方式。
A. B. C. D.
走查 会议审查 代码互评 自查
)。 35. 在集成测试中,主要的集成方法有( I&在集成测试中.主要的集成方( ABCD人
扎自顶向下
B ■自JS向上 C大爆炸
D三明治
36.
造成软件的主要原因可从( ABC )方面来查找。
A . 技术问题 B. 软件本身 C. 团队工作 D. 资金问题
37.
代码评审有哪些方法( EFGH )。
E. 代码走查 F. 正式会议审查 G. 代码会审 H. 代码咨询
38.
驱动程序,用以模拟被测模块的( A )模块。
A. 上级模块 B. 下级模块 C. 同级模块 D. 其他
39.
整体测试用例的质量要求包括( ABCD )。
A. 覆盖率 B. 易用性 C. 易维护性
D. 粒度适中 40.
易用性、兼容性、安装、文档测试等主要在( A )阶段完成。
A . 单元测试 B. 集成测试 C. 功能测试 D. 验收测试
41.
实际的逻辑覆盖测试中,一般以(
A. B. C. D.
C )为主设计测试用例。
条件覆盖 判定覆盖 条件组合覆盖 路径覆盖
AB )阶段。
42.
软件的缺陷通常集中在(
A. B. C. D.
需求分析 系统设计 编写代码 软件测试
43. 对于一些关键代码或新人写的代码,主要采取( B )方式。 A. B. C. D.
走查 会议审查 代码互评 自查
44.
软件本地化工作中除了翻译之外还应该( BD )。
A. B. C. D. 45.
处理字符集问题 数据格式 页面显示和布局 配置和兼容性等问题
代码评审有哪些方法(ABCD )。
A. B. C. D.
代码走查 正式会议审查 代码会审 代码咨询
46. 易用性、兼容性、安装、文档测试等主要在( A )阶段完成。 A. B. C. D.
单元测试 集成测试 功能测试 验收测试
47.
系统集成测试常见的有哪几种不同模式( IJ )。
I. J. K. L.
非渐增式测试模式 渐增式测试模式 独立测试模式 非独立测试模式
48.
验收测试完成后还需要提交( EG ),才可交付用户使用。
E. F.
验收报告 项目完成报告
G. 交付报告 H. 无需提供任何报告
49.
系统集成测试常见的有哪几种不同模式( AB )。
A. 非渐增式测试模式 B. 渐增式测试模式 C. 独立测试模式 D.
非独立测试模式
50.
单元测试的主要任务是完成单元中所有( ABCD )等测试。
A.
独立路径
B. 数据结构
C. 边界条件 D.
容错性
二、判断题
1. 测试应该尽可能早地进行测试。 ( Y ) 2. 应该在代码编写完成后开始测试。 ( X ) 3. 需求分析和设计阶段不需要测试人员参与。 ( X )
4.
白盒测试仅与程序的内部结构有关, 完全可以不考虑程序的功能需求。( X )
5. 黑盒测试容易知道用户会用到那些功能,会遇到哪些问题( 6. 静态测试通过对执行程序, 找到程序中的错误或者是可疑之处。 7. 在软件的开发中,每次回归测试都要重新运行完整的测试包。 8.
在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开 发人员进行评价,有利于开发人员提高开发质量。 ( X )
Y )
( X ( )
)
9. 10. 11.
验收测试是由用户完成的。 ( X ) 集成测试就是系统测试。 ( X )
能够尽可能早的有的时候因为时间紧迫,可以临时安排几个程序员或 者行业新手做测试工作。 ( X )
12.
在实际的运用中,无论对于白盒测试和黑盒测试,通常使用其中一种 方法就可以完成对某一软件的测试工作。 ( X )
13.
发现软件缺陷,就能够尽可能地节约修复缺陷的成本,因此,因此在 软件的设计阶段修复缺陷的费用最低。 ( X )
14. 15.
每一种测试方法都必须执行程序,才能得到最好的效果。 ( X )
在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、 有一定的软件使用经验就可以。 ( X )
16. 在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开
发人员进行评价,有利于开发人员提高开发质量。
17. 验收测试是由用户完成的。(X)
(X)
18. 在一个规范的软件的开发中,开发人员的人数一般大于测试人员的人 数。(X) 19. 在整个开发周期中要对测试用例进行有效的跟踪和维护。 20. 功能测试也可以采用白盒测试的方法。
(Y )
(X)
21. 根据著名的瀑布模型,软件测试应该处在“编程”的下游、在“软件
维护”的上游,先有编程,后有测试,测试的位置很清楚。 (Y )
22. 因为软件开发人员不止一人,因此在测试时候,只能进行松散地实施 测试。(X) 23. 单元测试的主要人员构成是开发人员。
(Y )
24. 在进行系统测试的时候,当发现有错误时候,应该及时修正,紧接着 修正下一个错
误。(Y )
25. 有的时候因为时间紧迫,可以临时安排几个程序员或者行业新手做测 试工作。(X)
26. 软件质量的要求是要满足软件的功能性需求。 (X)
27. 在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、 有一定的软件使用经验就可以。
28. 在整个软件生命周期中的每个阶段、
(X)
每个时刻都存在着软件测试活动,
软件测试伴随着软件开发。(Y )
29. 在整个开发周期中要对测试用例进行有效的跟踪和维护。 30. 功能测试也可以采用白盒测试的方法。 31.
(Y )
(X )
能够尽可能早的有的时候因为时间紧迫,可以临时安排几个程序员或 者行业新手做测试工作。(X )
32.
在实际的运用中,无论对于白盒测试和黑盒测试,通常使用其中一种 方法就可以完成对某一软件的测试工作。 (X ) 33.
发现软件缺陷,就能够尽可能地节约修复缺陷的成本,因此,因此在 软件的设计阶段修复缺陷的费用最低。
(X)
(X)
34. 35.
每一种测试方法都必须执行程序,才能得到最好的效果。
在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、 有一定的软件使用经验就可以。
(X)
36.
在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开 发人员进行评价,有利于开发人员提高开发质量。
(X)
37. 38. 39. 40. 41. 42.
验收测试是由用户完成的。 (X)
在一个规范的软件的开发中,开发人员的人数一般大于测试人员的人 数。(X) 在整个开发周期中要对测试用例进行有效的跟踪和维护。 功能测试也可以采用白盒测试的方法。 测试应该尽可能早地进行测试。
(Y )
(X)
(Y )
若能推迟暴露软件中的错误,则修复和改正错误所花费的代价就会降 低。(X)
43. 白盒测试仅与程序的内部结构有关, (X)
完全可以不考虑程序的功能需求。 44.
黑盒测试容易知道用户会用到那些功能,会遇到哪些问题( Y )
45. 黑盒测试基于软件开发文档,所以也能知道软件实现了文档中的哪些
功能(Y )
46. 逻辑覆盖法是一种常用的白盒测试方法。 47. 程序中存在很多判定和条件,不可能实现 48. 静态测试通过对执行程序,
(Y )
100%的条件覆盖。(Y )
找到程序中的错误或者是可疑之处。 (X)
49. 在整个开发周期中要对测试用例进行有效的跟踪和维护。 (Y )
50. 在进行系统测试的时候,当发现有错误时候,应该及时修正,紧接着
修正下一个错误。(Y ) 三、简答题
1.
健壮等价类测试与标准等价类测试的主要区别是什么?
解:主要区别在于健壮等价类测试在标准等价类的基础上还要进行有 效取值范围之外的输入(无效输入)的测试。
2.
单元测试有哪些步骤?各个步骤有哪些实施内容? 单元测试的步骤
通常单元测试在编码阶段进行。在源程序代码编制完成,经过评审和 验证,确认没
有语法错误之后,就开始进行单元测试的测试用例设计。利 用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对 于每一组输入,应有预期的正确结果。
模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外 界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅 助模块分为两种:
驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据 传送给被测模块,最后输出实测结果。
桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据 操作,不需要
把子模块所有功能都带进来,但不允许什么事情也不做。
如果一个模块要完成多种功能,且以程序包或对象类的形式出现,例 如Ada中的包,Modula中的模块,C++中的类。这时可以将这个模块看成 由几个小程序组成。对其中的每个小程序先进行单元测试要做的工作,对 关键模块还要做性能测试。对支持某些标准规程的程序,更要着手进行互 联测试。有人把这种情况特别称为模块测试,以区别单元测试。
单元测试的内容 模块接口测试:对通过被测模块的数据流进行测试。为此,对模块接 口,包括参数表、调用子模块的参数、 全程数据、 文件输入 / 输出操作都必 须检查。
局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省 值等方面的问题,还要查清全程数据对模块的影响。
路径测试: 选择适当的测试用例, 对模块中重要的执行路径进行测试。 对基本执行路径和循环进行测试可以发现大量路径错误。
错误处理测试:检查模块的错误处理功能是否包含有错误或缺陷。例 如,是否拒绝不合理的输入 ; 出错的描述是否难以理解、 是否对错误定位有 误、是否出错原因报告有误、 是否对错误条件的处理不正确 ; 在对错误处理 之前错误条件是否已经引起系统的干预等。
边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定 的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以 测试。
此外,如果对模块运行时间有要求的话, 还要专门进行关键路径测试, 以确定最坏情况下和平均意义下影响模块运行时间的因素。这类信息对进 行性能评价是十分有用的。
3.
单元测试的策略主要有哪些,并简述这些策略。 单元测试策略主要有三种方式:
1. 自顶向下的单元测试策略:从顶层调用的单元做成桩模块;对
第二层测试,使用上面已测试的单元做驱动模块;依次类推,直到全 部单元测试结束。
2. 自底向上的单元测试策略:先对模块调用的最底层模块进行测
试,模拟调用该模块的模块为驱动模块;其次,对上一层模块进行单 元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元 测试结束。
3. 孤立测试的单元测试策略:无需考虑每个模块与其他模块之间
的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有 单元模块的测试。
4.
集成测试有哪些不同的集成方法?简述不同方法的特点。
解:集成测试通常有一次性集成、自顶向下集成、自底向上集成 和混合集成 4 种集成方法。
一次性集成方法需要的测试用例数目少,测试方法简单、易行。 但是由于不可避免存在模块间接口、全局数据结构等方面的问题,所 以一次运行成功的可能性不大;如果一次集成的模块数量多,集成测 试后可能会出现大量的错误,给程序的错误定位与修改带来很大的麻 烦;即使集成测试通过,也会遗漏很多错误进入系统测试。
自顶向下集成在测试的过程中,可以较早地验证主要的控制和判 断点;一般不需要驱动程序, 减少了测试驱动程序开发和维护的费用; 可以和开发设计工作一起并行执行集成测试,能够灵活的适应目标环 境;容易进行故障隔离和错误定位。但是在测试时需要为每个模块的 下层模块提供桩模块,桩模块的开发和维护费用大;桩模块不能反映 真实情况,重要数据不能及时回送到上层模块,导致测试不充分;涉 及复杂算法和真正 I/O 的底层模块最易出问题,在后期才遇到导致过 多的回归测试。
自底向上集成可以尽早的验证底层模块的行为; 提高了测试效率; 一般不需要桩模块;容易对错误进行定位。但是直到最后一个模块加 进去之后才能看到整个系统的框架;驱动模块的设计工作量大;不能 及时发现高层模块设计上的错误。
混合集成具有自顶向下和自底向上两种集成策略的优点,但是在 被集成之前,中间层不能尽早得到充分的测试。
5. 6.
简述基于功能分解的集成的特点,并分析其适用的应用场景。 系统测试主要包括哪些内容?
解:系统测试主要包括强度测试、性能测试、恢复测试、安全测 试、可靠性测试、安装测试、容量测试和文档测试。
7.
针对某论坛,考虑其重要测试的内容。
8.
简述黑盒测试方法的特点
黑盒测试用例设计方法主要有以下几种:
等价类划分法、边界值分析
法、因果图法、决策表法、错误推测法等方法。
等价类划分法的特点:等价类划分法的优点是考虑了单个输入域的各 类情况,避免了盲目或随机选取输入数据的布完整性和覆盖的不稳定性。
等价类划分法虽然简单易用,但是没有对组合情况进行充分的考虑。 需要结合其他测试用例设计的方法进行补充。
边界值分析法的特点:1)边界值分析不是从某等价类中随便挑一个作 为代表,而是使这个等价类的每个边界都要作为测试条件。
2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情 况。
因果图法的特点:1、考虑输入条件间的组合关系。 说明书中的某些不一致或遗漏。
2、考虑输出条件
对输入条件的信赖关系,即因果关系。3、测试用例发现错误的效率高。4、 能检查出功能
决策表法的特点: 在一个程序中,如果输入输出比较多,输入之间, 输出之间相互制约的条件比较多,在这种情况下使用决策表更合适,它可 以清楚地表达它们之间的各种复杂关系。
错误推测法的特点:
9.
没有确定的步骤,很大程度上是凭经验进行的。
健壮等价类测试与标准等价类测试的主要区别是什么?
主要区别在于健壮等价类测试在标准等价类的基础上还要进行有效取 值范围之外的
输入(无效输入)的测试。
10. 简述单元测试的目的和意义。
目的:是暴漏出失败和错误。失败的可能性是可预期的,并且可以使 用断言来进行检查。而错误则是不可预期的问题 意义:(1)提前发现问题并解决可以节约时间 为后期的集成测试和系统测试做好准备; 发现问题,减少成本。
11. 单元测试的策略主要有哪些,并简述这些策略。
12. 简述基于调用图的集成的特点,并分析其适用的应用场景。 13. 什么是系统测试?
(2)是测试阶段的基础, (3)对单元独立测试,容易
系统测试是指测试整个系统已确定其是否能够提供应用的所有需求行 为,包含了多种测试活动,主要分为功能性测试和非功能测试。
14. 针对某杀毒软件(如 360杀毒),考虑其需要测试的内容。
主要是采用黑盒测试的方法,包括程序各功能性测试、界面友好性测 试、时效性测试、安装/卸载测试、用户说明书测试、与其他软件的兼容性、 与特定硬件的兼容性、 可靠性(如长时间运行,休眠/唤醒等)、合法性(版 权标示验证)等。
15. 什么是软件测试计划?
是指导测试过程的纲领性文件,包含产品概述、测试策略、测试方法、 测试区域、测试配置、测试周期、
16. 制定软件测试的计划的原则有?
测试资源、测试交流和风险分析等内容。
(1)制定测试计划应尽早开始;(2)保持测试计划的灵活性;(3) 保持测试计划简洁和易读;(4)尽量争取多渠道评审测试计划; 计算测试计划的投入。
17. 单元测试的原则有哪些?
(5)
(1)单元测试越早进行越好;(2)单元测试应该根据《软件详细设计 规格说明》
进行;(3)对于修改过的代码应该重做单元测试,以保证对已 发现错误的修改没有引入新的错误;
(4)当测试用例的测试结果与设计规
(6) 一个完整的单元
格说明书的预期结果不一致时,测试人员应该如实记录实际的测试结果; (5)单元测试应注意选择好被测试软件单元的大小; 测试说明应该包含软件证明测试和负面测试; 18. 单元测试的重要性及目的是什么? 19. 系统测试与用户测试有何不同?
(7)注意使用单元测试工具。 系统测试是测试整个系统已确定其是否能够提供应用的所有需求行 为;用户测试分为体验、界面、验收、用户测试报告组成
20. 制定软件测试的计划的步骤有?
(1)产品基本情况调研;(2)测试需求说明;(3)测试的策略和记录; (4)测试资源配置;(5)计划表;(6 )问题跟踪报告;(7)测试计划的评 审
21. 什么是静态测试、动态测试?
静态测试:是一种不通过执行程序而进行测试的技术,只是检测和评 审。动态测试:直接执行被测试程序以提供测试支持。
22.
简述单元测试的过程 .
(1)准备阶段; (2)编制阶段( 3)代码审查阶段; (4)单元测试阶 段;(5)
评审、提交阶段。
23.
什么是插桩程序设计? 是在保证被测程序原有逻辑完整性的基础上在程序中插于一些
探针, 通过探针的执行抛出程序运行的特征数据,通过这些数据的分析,可以获 得程序的控制流和数据信息,进而得到逻辑覆盖等动态信息,从而实现测 试目标的方法。
24.
简述系统测试的主要内容?
(1)功能测试。 即测试软件系统的功能是否正确, 其依据是需求文档, 如《产品
需求规格说明书》 。( 2)健壮性测试。即测试软件系统在异常情况 下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能 力
25.
容量测试与压力测试的区别有哪些?
( 1)压力测试是在给系统不断加压,增加并发量,
直到崩溃,找到系
统所能承受的极限值。 ( 2)容量测试是在预先分析的极限值下,系统能否 正常运行。
26.
如何组织软件测试团队
( 1)建立合理、高效的组织结构( 2)建立正确的分工体系,即角色 与职责;
(3)培养合格的测试人员。
27.
什么是软件测试计划? 是指导测试过程的纲领性文件, 包含产品概述、 测试策略、
测试方法、 测试区域、测试配置、测试周期、 测试资源、 测试交流和风险分析等内容。
28.
制定软件测试的计划的原则有?
( 1)制定测试计划应尽早开始; (2)保持测试计划的灵活性; (3)保 持测试计
划简洁和易读; ( 4)尽量争取多渠道评审测试计划; (5)计算测 试计划的投入。
29.
单元测试的原则有哪些?
( 1)单元测试越早进行越好; ( 2)单元测试应该根据《软件详细设计 规格说
明》进行; (3)对于修改过的代码应该重做单元测试,以保证对已 发现错误的修改没有引入新的错误; ( 4)当测试用例的测试结果与设计规
格说明书的预期结果不一致时,测试人员应该如实记录实际的测试结果; ( 5)单元测试应注意选择好被测试软件单元的大小; 测试说明应该包含软件证明测试和负面测试;
30.
(6)一个完整的单元
( 7)注意使用单元测试工具。
单元测试的重要性及目的是什么?
重要性: 1、提前发现问题并解决可以节约时间
2、是测试阶段的基础,
3、对单元独立测试, 容易发现问
为后期的集成测试和系统测试做好准备; 题,减少成本。
目的: 是暴漏出失败和错误。失败的可能性是可预期的,并且可以使 用断言来进行检查。而错误则是不可预期的问题
31.
a测试和B测试有什么不同?
a 测试是在公司内部由用户组织与的测试; a 测试对发现缺陷是可 控的,但缺陷是人
数有限、地域限制。
b 测试是在外部有用户进行的测试; b 测试不会认真地去发现缺陷, 有 时仅仅是为
了抢占市场。
四、综合应用题
1.
白盒测试方法的综合应用
(1) 简述白盒测试用例的设计方法。 解:白盒测试用例设计方法主要有逻辑覆盖和独立路径测试。 从覆盖源程序语句的详尽程度分析,逻辑覆盖主要有以下不同的覆盖 标准:语句覆盖、判定覆盖、条件覆盖、判定
/条件覆盖、条件组合覆盖和
路径覆盖。实际项目中,由于程序内部的逻辑存在不确定性和无穷性,尤 其对于大规模复杂软件,不必采用所有的覆盖指标,而应根据实际情况选 择合适的覆盖指标。
独立路径测试是在程序控制流图的基础上,通过分析控制结构的环路 复杂性,导出可执行的独立路径集合,从而设计出相应的测试用例。设计 出的测试用例要保证被测程序的每条可执行的独立路径至少被执行一次。 独立路径测试给出了满足路径覆盖指标所需测试用例的下限,同时给出了 语句覆盖的上限,它可以确保对所有相互独立的决策结果进行测试。
( 2) 分析归纳逻辑覆盖的各种策略, 并比较每种覆盖的特点, 分析在怎 样的情况下采
用何种覆盖方式。
解:语句覆盖是选择足够多的测试数据,使被测程序中每个语句至少 执行一次。语句覆盖是最弱的逻辑覆盖标准。
判定覆盖又叫分支覆盖,它不仅每个语句必须至少执行一次,而且每 个判定表达式的每种可能的结果都应该至少执行一次。判定条件覆盖比语 句覆盖强,但是对程序逻辑的覆盖程度仍然不高。
条件覆盖的含义是,使判定表达式中的每个条件都取到各种可能的结 果。条件覆盖通常比判定覆盖强,但是也可能有相反的情况:虽然每个条 件都取到了两个不同的结果,判定表达式却始终只取一个值。
判定/条件覆盖的含义是,
选取足够多的测试数据,
使得判定表达式中
的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能 的结果。但有时判定/条件覆盖也并不比条件覆盖更强。
条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够的测试数据, 使得每个判定表达式中条件的各种可能组合都至少出现一次。满足条件组 合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖 标准。因此,条件组合覆盖是前述几种覆盖标准中最强的。但是,满足条 件组合覆盖标准的测试数据并不一定能使程序中的每一条路径都执行到。
路径覆盖的定义是选取足够多测试数据,使程序的每一条可能路径都 至少执行一次。但在实际问题中,一个不太复杂的程序,其路径数都可能 是一个庞大的数字,以致要在测试中覆盖所有的路径是不可能实现的。即 使对于路径数有限的程序做到了路径覆盖,
if((a>1) and (b=0)) the n
x=x/a
if((a=2) or (x>1) the n
x=x+1
也不能保证被测程序的正确性。
(3)请按照各种覆盖方法为下述语句设计测试用例,并写出测试过程
a
语句覆盖:CASE 1 : a=2,b=0,x=3。则程序按路径ace执行,这样该程序段 的4个语句均得到执行,从而达到了语句覆盖。
断定覆盖:CASE2 : a=2,b=0,x=3。CASE3 : a=1,b=0,x=1。则可分别执行路 径ace和
abd。从而使两个判断的 a>1取真值,记为Tai;
a>1取价值,即a<=1时,记为Ta2; b=0取真值,记为Tbi;
b=0取假值,即b!=0时,记为Tb2 ;
4个分支c、e和b、d分别得到覆盖。
条件覆盖:在上述程序段中,第一个判断应考虑到:
第二个判断应考虑到:
a=2取真值,记为Ta3; a=2取假值,即a!=2,记为Ta4; x>1取真值,记为Tx1 ;
x>1取假值,即x<=1,记为Tx2 ;
条件覆盖测试用例
测试用例 CASE4 CASE5 a 2 1 b 0 1 x 3 1 路径 ace abd 覆盖条件 Ta1, Tb1, Ta3, Tx1 Ta2, Tb2, Ta4, Tx2 以上两个测试用例把 4个条件的8种情况均做了覆盖。 判断-条件覆盖:语句中两个判断各包含两个条件,
这四个条件在两个判断
中可能有八种组合:
1 号、a>1,b=0 记为 Ta,Tb ; 2 号、a>1,b!=0 记为 Ta,Fb; 3 号、a<=1,b=0 记为 Fa, Tb; 4 号、a<=1,b!=0 记为 Fa,Fb; 5 号、a=2,x>1 记为 Ya,Yx ; 6 号、a=2,x<=1 记为 Ya,Nx ; 7 号、a!=2,x>1 记为 Na, Yx ; 8 号、a!=2,x<=1 记为 Na,Nx ;
判定-条件覆盖
测试用例 CASE6 CASE7 CASE8 CASE9 a 2 2 1 1 b 0 1 0 1 x 3 1 3 1 覆盖组合号 1号,5号 2号,6号 3号,7号 4号,8号 路径 ace abe abe abd 覆盖条件 Ta,Tb,Ya,Yx Ta, Fb, Ya, Nx Fa,Tb,Na,Yx Fa, Fb, Na, Nx 路径覆盖:根据题目语句有4条可能路径
ace记为L1 ; abd记为L2 ;
abe记为L3; acd记为L4;
路径覆盖
测试用例 CASE10 CASE11 CASE12 a 2 1 2 3 b 0 0 1 0 x 3 1 1 1 覆盖路径 ace abd abe acd CASE13 2. 黑盒测试方法的综合应用
3.
案
=投
例:某保险公司的人寿保险的保费计算方式为:保费 保额x保险费率
其中保险费率依点数不同而有别,
10点几10点以上保费率为0.6%,
10点一下保险费率为 0.1%;而点数又是投保人的年龄,性别,混应状况 和抚养人数来决
定,具体规则如下表所示。
年龄 苴 20-39 40-59 丿、 性别 婚姻 已 未 婚 5 占 八、、 抚养人数 M F 他 2 6点 婚 5 占 1人扣0.5点,最多扣3点(四 3 占 3 占 八、、 4点 舍五入取整) 占 八、、 八、、 八、、 年龄:一位或者两位非零整数,值得有效范围是 性别:一位应为字符,只能去 婚姻:字符,只能取已婚或者未婚 抚养人数:空白或一位非零整数(1-9) 点数:一位或两位非零整数,值得范围是
1-99
M或者F
1-99
要求:根据以上的案例描述,设计出能否改所有等价类的测试用例。并写 出测试过程。
根拥我1 I啲等价类花i殳讣陡覆盖W仃等价类的测试用例. 输入条件 年龄 无效等价类 ⑴ (2) ⑶ 编号 ⑼ 1^99整数 非—99整数 性别 婚姻 抚养人数 点数 庁号 1 输入黏数 非'MF and 非F (10) 非“己婚,and 非'未層 -11- null and (12) (13) 输由甜数 '已婚' 侏婚’ null T9整数 \"99幣数 ⑷ ⑸ ⑹ ⑺ ⑻ (11) 非1为整数 1^99整数 藏需悴价类 <1)⑵⑷(6)⑻ (1> (3)⑸⑹⑻ (1) (3) (4) C7)⑻ ⑼ (1> (10) ⑴⑶(113 <1) (2)(4) <12)
〔50* 2 3 4 5 6 7 '己於\",ndl) (18. bF\\,耒婚null) (45, -F\\ £已婚爲 8) C101. M'.,己婚J null) (65. bH\\ '未Sfi寫 5) (70. LF\\ '般齢S null) (88. hMh. L|L^\\. 11) 帕 5 0.6% 祁险圣为0.6% 懈界:为0.1% 输人祈彊 输人错溟 输入错误 输入臟
4. 白盒测试方法的综合应用 示例源码
Dim a,b as In teger Dim c as Double lf(a>0 and b>0) The n
c = c/a End if
If(a>1 OR c >1) The n
c = c +1 End if c = b+c
要求:根据以上的示例源码, 采用两种以上 的白盒测试方法进行测试,
要求写出详细的测试用例及测试过程,并比较你所采用的测试方法的优点 和缺点。
只需破1计一个测试用例:
5 N
c=b+c
*【优点】:可以很直观地从源代码得到测试用例’无须细分毎条判 定表达式* ❖【缺点】:由于这种測试方法仅仅針对程序逻辑中显戌存在的语句, 但对于隐藏的条件是无法测试的.如在多分支的逻辑运算中无法全面 的考虑.语句覆盖是最弱的逻辑覆盖.
*吐Z b=1 , 可覆盖判断M
的¥分支和判断N的Y幷支;
* a=-2r b=-1 > 可覆盖判新
閘的N分支和判断N的N分支. 这两组测试用例可覆盖所有判定 的直假分支.
疥[ 覆盖一样的简单性,无须细分每个判定就可以得到测试 用例。 <*【蜒点】:往往大部分的判定语句是由多个逻辑条件组合而軋 若倪 仅判斷其整个最 终结果,而息略毎个条件的取值情况、必然会遗漏部 分测试路生判定覆盖仍是弱的逻辑覆盖\" 5. 黑盒测试方法的综合应用 以“打印机打印文件”为例,用黑盒测试中的判定表法来对其进行测 试。 要求:写出详细的要求写出详细的测试步骤,测试用例以及详细的测试过 程。 1、列出所有的条件桩和动作桩 条件桩: C1 :有驱动程序吗? C2 :有纸张吗? C3 :有墨粉吗? 动作桩: A1 :安装驱动程序 A2 :加入纸张 A3 :加入墨粉 A4 :打印纸张 2、确定规则个数 输入条件个数:3 每个条件的取值:”是 或”否 规则个数:2*2*2=8 3、填入条件项和动作项 1 2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y 6 N Y N 7 N N Y 8 N N N 条件 C1 C2 C3 Y Y Y 动作 A1 V V V V V V V A2 V V A3 A4 V V V V 4、简化决策表,合并相似规则 没有相似规则,无需合并。 6. 白盒测试方法的综合应用 示例源码(购物车添加商品方法,判断 false的情况下添加 product) hashmap中没有pid对应的商品为 public void addProduct(Stri ng pid,Product product) { if(hasmap==n ull) { hashmap= new HashMap(); } if(hashmap.c ontain sKey(pid)==false) { hashmap.put(pid,product); } } //购物车中不存在该商品 要求:根据以上的示例源码, 采用两种以上 的白盒测试方法进行测试, 要求写出详细的测试用例及测试过程,并比较你所采用的测试方法的优点 和缺点 程序结构图: 语句覆盖:CASE1 : hasmap==null 禾口 hashmap.containsKey(pid)==false 为真, 语句执行的路径 ace,覆盖了程序中四个语句,达到了语句覆盖。 判定覆盖: CASE2 : hasmap==null 禾口 hashmap.containsKey(pid)==false 者E为真; CASE3 : hasmap==null 禾口 hashmap.containsKey(pid)==false 者E为假; 程序中的每 个判定分支都取真和取假了,达到了判定覆盖。 【优点】判定覆盖具有比语句覆盖更强的测试能力,而且具有和语 句覆盖一样的简 单性,无需细分每个判定就可以得到测试用例。 【缺点】语句覆盖的覆盖标准无法发现判定中逻辑运算的错误;判 定覆盖往往大部 分的判定语句是由多个逻辑条件组合而成,若仅仅判断其 整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。 7. 黑盒测试方法的综合应用 案例:加法器程序计算两个 1 —100之间的整数和。 要求:根据以上的案例描述,采用黑盒测试方法进行测试,要求写出详细 的测试用例及测试过程。 为此,我们可综合考虑输入数据的取值范8)和类型划分第价 类,其结果如下表所示。 编罟 1 2 3 4 所属矣別 有输入柔件 之何整戟 效寻舒类 无效等侍类 C整验 输入条怦 非數值(字母) 6 所楊类剋_ 无效等价类 非数值(時殊孚符)无效等仰类 无效等仰类 无效导怖类 无效等价7 类 无效爭份8 类 非數值(空格) 非數隹(空白) 加法器边界测试用例 加法器边界测试用例 测试用删 输入蚩据 晶敏1 加數2 预期输出 和 51 52 149 150 2 Test 3 Test 4 Test 5 Test 6 Test fl Test 9 50 50 50 50 50 50 0 50 101 50 0,2 Testi 3 51 2 99 52 100 149 50提示\"请输入同的螯数\" 0 提示\"请输入 1〜100同的整数\" 50 提示\"请4^X1-100间的整魏\" 101提 示“请输入间的整量\" 50 提示“请输入1〜100间的整數\" 加數2 0.2 测试用例 Testi 4 TestlS Testi 6 Testi 7 Testi 8 Testi 9 Test20 Test21 Tesl22 8.白盒测试方法的综合应用 输入数据 加数1 50 A 50 50 空格 50 50 預期输出 和 提乐a请輪入1-100问的整數” 提示a请输人1亠100间的整數\" 提示“请输入1〜100间的撓数” 提示\"请输入1〜100间的越毀” 50 提示匚请1^X1-100间的植毀” 梶空格 示円请输入1二100间的整敦” 提50 示円请愉入1〜1D0间的整魏” 提 示“请输入1- 100间的整救\" 提示“请皓人1700间的螯鞋” 50 A 50 @ 示例源码 Dim Dim a,b as In teger c as Double lf(a>0 and b>0) Then c = c/a End if lf(a>1 OR c >1) Then c = c +1 End if c = b+c 要求:根据以上的示例源码, 采用两种以上 的白盒测试方法进行测试, 要求写出详细的测试用例及测试过程,并比较你所采用的测试方法的优点 和缺点。 只需设计一个测试用例: a=2, b=l, c=6; 即达到了语句覆盖。 -【优点】:可以很直观地从源代码得到测试用例,无须细分每条判 定表达式* 奇【缺点】:由于这种测试方法仪仅針对程序道辑中显式存在的语句, 但对于隐藏 的条件是无法测试的\"如在多分支的逻辑运算中无法全曲 的淨虑.语句覆盖是最弱的逻辑覆盖. * a=2. b=i , 36可覆盖判断刚 的¥分 支和判断^1的¥分支; * a=-2. b=-1 + g~3可覆盖判断 炳的N分支和判断N的N分支D 这两组测试用例可覆盖所有判定 的真假分支 *【优止】:判定攪盖具有比语句覆盖更强的测试能力。同样判定攪盖 也具有和语句菽盖一样的简单性,无须细分每个判定就可以得到测试 用例. 斗【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅 仪判断其整个最终结果'而忽略每个条件的取值情况,必然会遗漏部 分测试路彳冬 判定缠盖仍是弱妁逻辑覆盖* 6. 白盒测试方法的综合应用 (1) 简述白盒测试用例的设计方法。 (2) 特点, 的情况下采用何种覆盖方式。 (3) 请按照各种覆盖方法为下述语句设计测试用例,并写出测试过程 if(a>2&&b<3&&(c>4||d<5)) { stateme nt; } else { stateme nt; 分析归纳逻辑覆盖的各种策略, 并比较每种覆盖的分析在怎样 ■} 7. 黑盒测试方法的综合应用 案例:有一报表处理系统,要求 用户输入 处理报表的日期,假设日期限制在 2001年1月至2020年12月,即系 统只能对该段时期内的报表进行处理。如果用户输入的日期不在这个 范围内,则显示错误信息。并且系统规定日期由年月的 前四位代表年,后两位代表月。 要求:根据以上的案例描述,采用两种以上黑盒测试方法进行测试, 要求写出详细的测试用例及测试过程。 6位数字组成, Oi分析规格说明'依据等价类划分的原则,找出 □原则山如 果输入条件规定 范鬧,或值的个数, 原则2:如果输入条件规定了输入值的集合,或者是规 的 条件,这时可确立一个有效等价类 原则3;如果输入条件是一个布尔量,则可以确定一个 有效等价类和一个无效等价类. 原则4;如果规定了输入数据的一组值,而且程序要对 每个输入僚分别进什处理。这时可为每一丫输入值确立 一木石舉堀价类,吐外缸独这组值确立一木无效彗价类, 它是所等不允许的输入植協集合口 原则5;如果规定了输入数据必须遵守的规则,则可以 确立一个勺憨等如粪(符合规则)和若干个无效等价类 (从不尚荷蘆逢芨窥则)o 输入等价 类 有效等价类 无效等价类 输入日期 的6位数字字符 有非有效字符(4) 位数少于6位(5) 位数多于6类型和 长度 (1) 位(6) 年粉范围 月份范围 2001〜2008 (2) 1 〜12 (3) 小于2001 (7) 大于2008 (8) 小于1 (9) 大于12 (10) ■第二步:为有效等价类设计测试用例 ■第三步:为无效等级类设计测试用例 输入数据 200811 2003SD 20032 2004112 200001 200906 200500 200514 期望结果 有效输入 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入 覆盖范围 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) ■第一步:分析规格说明书,找出输入条件的边界值. □ (1)如杲输入条件规定了值的范圉,则应取刚达到这个范用的边 界的值,以及別刚超过这个范围边界的值作为测试输入数据。 口 (2)如果输入条件规定了值的个数,则用最大个数、最小个数* 比最小个数少X比最大个数多1的数作为测试数据口 □ (3)根据规格说明的每个输出条件.使用前面的原则〔1) ° □ (4)根据规格说明的每个输出条件,应用前面的原则(2) ° □ (5)如果程序的规格说叨给出的输入域或输出域是有序集合,则 应选取集合的第一个元素和最后一个元素作为测试用例。 口 (6)如果程序中使用了一个内部数据结构*则应当选择这个内部 数据结构边界上的值作为测试用例© □ (7)分析规格说明,找出其它可能的边界条件. 一* 小学少先队组织机构 少先队组织由少先队大队部及各中队组成,其成员包括少先 队辅导员、大队长、中队长、小队长、少先队员,为了健全完善 我校少先队组织,特制定以下方案: 一、成员的确定 1、 大队长由纪律部门、卫生部门、升旗手、鼓号队四个组 织各推荐一名优秀学生担任(共四名),该部门就主要由大队长 负责部门内的纪律。 2、 中、小队长由各班中队公开、公平选举产生,中队长各 班一名(共11 名),一般由班长担任,也可以根据本班的实际情 况另行选举。小队长各班各小组先选举出一名(共 8个小组,就 8名小队长)然后各班可以根据需要添加小队长几名。 3、 在进行班级选举中、小队长时应注意,必须把卫生、纪 律部门的检查学生先选举在中、小队长之内,剩余的中、小队长 名额由班级其他优秀学生担任。 4、在班级公开、公平选举出中、小队长之后,由班主任老 师授予中、小队长标志,大队长由少先队大队部授予大队长标志 二、成员的职责及任免 1、大、中、小队长属于学校少先队组织,各队长不管是遇 见该班的、外班的,不管是否在值勤,只要发现任何人在学校内 出现说脏话、乱扔果皮纸屑、追逐打闹、攀爬栏 杆、乱写乱画等 等一些违纪现象,都可以站出来制止或者报告老师。 2、班主任在各中队要对中、小队长提出具体的责任,如设 置管卫生的小队长,管纪律的小队长,管文明礼貌的、管服装整 洁的等等,根据你班的需要自行定出若干相应职责,让各位队长 清楚自己的职权,有具体可操作的事情去管理,让各位队长成为 班主任真正的助手,让学生管理学生。各中队长可以负责全班的 任何违纪现象,并负责每天早上检查红领巾与校牌及各小队长标 志的佩戴情况。 3、大、中、小队长标志要求各队长必须每天佩戴,以身作 则,不得违纪,如有违纪现象,班主任可根据中、小队长的表现 撤消该同学中、小队长的职务,另行选举,大队长由纪律、卫生 部门及少先队大队部撤消,另行选举。 4、各班中、小队长在管理班级的过程中负责,表现优秀, 期末评为少先队部门优秀干部。 因篇幅问题不能全部显示,请点此查看更多更全内容