- 以下哪些属于黑盒测试用例设计方法()
A. 等价类划分法
B. 边界值分析法
C. 因果图法
D. 逻辑覆盖法
E. 判定表法
答案:ABCE
解析:1)白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。2)黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。
A. 等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。
B. 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
C. 因果图法是一种利用图解法分析输入与输出的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
D. 白盒法特点是以程序的内部逻辑为基础设计测试用例,所以又称为逻辑覆盖法。
E. 判定表法主要适用于多条件的内容组合与结果分析。是分析和表达多逻辑条件下执行不同操作的情况的工具。 - 在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A. 数据字典
B. 实体关系图
C. 数据流图
D. 状态转换图
答案:C - 面向对象的分析方法主要是建立三类模型,即对象模型、动态模型、功能模型。
- 策略模式的特点不包含()
A. 改变对象外壳与内核
B. 一个代替继承的方法
C. 消除了一些条件语句
D. 相关算法系列
答案:A
解析:1. 策略模式有以下优点:1)提供了可以替换继承关系的方法 2)提供了管理相关的算法族的办法 3)可以避免使用多重条件转移语句 2. 策略模式改变的是对象的内核,装饰模式改变的是对象的外壳。 - 为了提高模块的独立性,模块之间的最好使用的耦合方式是()
A. 控制耦合
B. 内容耦合
C. 数据耦合
D. 公共耦合
答案:C
解析:1)耦合性也叫块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差, 模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。 2) 如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。3)由于限制了只通过参数表传递数据,按数据耦合开发的程序界面简单,安全可靠。因此,数据耦合是松散的耦合,模块之间的独立性比较强。在软件程序结构中至少必须有这类耦合。 - 顺序图主要是为设计人员提供哪些信息?
A. 消息发送的顺序
B. 某个对象在不同状态之间的转移
C. 某个方法的执行流程
D. 类之间关联关系的多重性
答案:A - 测试能够证明软件存在缺陷,无法证明软件不存在缺陷。
- 测试活动依赖于测试周境 测试在不同的周境下是不同的。例如:在敏捷项目中进行的测试不同于在顺序软件开发生存周期项目中进行的测试。
- 单例模式是创建型模式,创建型模式提供创建对象的机制,提升已有代码的灵活性和可复⽤性。
- 单例模式可以保证一个类仅有1个实例,并且提供一个访问它的全局访问点。
- 交互设计中常用的软件有哪些?
A. Axure
B. Mysql
C. Photoshop
D. Vision
答案:AC - 系统测试主要采用()
A. 白盒测试
B. 黑盒测试
C. 结构测试
D. 参数测试
答案:B - 企业级web服务器采用分布式架构设计,提高并发能力的方式有:
A. 平面扩展
B. 垂直扩展
C. 水平扩展
D. 分布扩展
答案:BC
解析:在互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。
1)垂直扩展(Scale Up)
(1) 提升单机硬件性能,通过将内存、CPU、硬盘等升级到更高的配置来扩大系统的能力;
(2) 提升单机架构性能,例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间;
(3) 在互联网业务发展非常迅猛的早期,如果预算不是问题,建议使用“增强单机硬件性能”的方式提升系统并发能力,因为这个阶段,公司的战略往往是发展业务抢时间,而“增强单机硬件性能”往往是最快的方法。但不管是提升单机硬件性能,还是提升单机架构性能,都有一个致命的不足:单机性能总是有极限的。所以互联网分布式架构设计高并发终极解决方案还是水平扩展。
2)水平扩展(Scale Out)
只要增加服务器数量,就能线性扩充系统性能。所以我们通过水平扩展,在架构的各个层面做水平扩容,增加实例数量,比如Services Cluster、Redis Cluster、MySQL Cluster,并在长期的业务实践中不断优化。相对于Scale Up,优势如下:
(1) 集群可以持续扩张,bat大厂核心服务的成千上万的服务集群就是很好的业内范例。
(2) 提高了可用性,水平扩容最终会把计算能力和数据能力分摊在不同的实例、不同的服务、不同机房,某个分区出问题也不会导致整个系统崩塌。
软件工程复习题
于 2023-11-09 16:22:30 首次发布