《软件工程》第三阶段检测试题涵盖了软件开发过程中的关键概念,主要涉及软件测试、程序设计语言特性和软件维护等方面。以下是对试卷中知识点的详细解释:
1. **黑盒测试**:黑盒测试是一种软件测试方法,侧重于检查软件的功能而不考虑内部结构或工作原理。在试题中提到的等价类划分法和边界值分析法是黑盒测试常用的技术,前者将输入数据分为等效类别,后者关注边界情况的测试。
2. **McCabe复杂性度量**:也称为环路复杂性度量,它通过计算程序控制流图的边数来评估代码的复杂性,帮助识别潜在的难以理解和错误多发的部分。
3. **成功的测试**:测试的成功并不意味着程序完全无错,而是发现并报告了程序的错误。在测试过程中,发现错误是重要的,但改正错误是后续开发人员的工作。
4. **白盒测试**:白盒测试,又称结构测试,关注程序的内部结构和逻辑。路径覆盖、判定覆盖是白盒测试中的技术,而错误推测法和因果图法则属于黑盒测试技术。
5. **选择编程语言的因素**:选择编程语言不考虑软件开发人员的知识,而是基于软件的需求、开发方法、性能要求、可维护性和可移植性等因素。
6. **集成测试**:集成测试在模块测试之后进行,目的是发现模块间的接口错误。自顶向下和自底向上的渐增式测试是两种集成测试策略,前者从主程序开始,后者从最小模块开始逐步集成。
7. **黑盒法设计依据**:黑盒测试依据软件的功能来设计测试用例,不考虑内部实现。
8. **测试用例组成**:测试用例包括输入数据和预期的输出结果,用于验证程序是否按照预期工作。
9. **维护副作用**:维护过程中误删标识符可能导致编码错误,影响程序的正确执行。
10. **程序设计语言心理特性**:不包括保密性,而应包括歧义性、简洁性和可读性等,以利于程序员理解和使用。
11. **单元测试**:主要测试模块的基本特征,如局部数据结构、重要执行路径和错误处理,但不涵盖系统功能,因为那是集成测试的任务。
12. **工程特性**:程序设计语言的工程特性强调软件的可重用性,如抽象类型描述和数据结构描述,而非数据库易操作性。
13. **测试关键问题**:选择合适的测试用例是测试过程中的关键,因为它直接影响到错误的发现。
14. **集成测试目的**:集成测试主要是为了发现详细设计阶段的错误,确保各模块间协同工作。
15. **技术特性**:程序设计语言的技术特性不应包括软件的可移植性,这是其工程特性的一部分。
16. **软件测试目的**:软件测试是为了发现错误,而非证明软件完全正确。
17. **设计测试用例无关文档**:项目开发计划通常不直接用于设计测试用例,而需求规格说明书、设计说明书和源程序是设计测试用例的重要依据。
软件测试的目标包括验证软件功能的正确性、发现隐藏的错误、提高软件质量。软件测试通常包括单元测试、集成测试、系统测试和验收测试等步骤。软件可靠性是指软件在规定条件下和规定时间内完成预期功能的能力。软件的可用性关注用户如何有效地、高效地使用软件以达成目标。改正性维护是在软件出现错误后进行的修复工作;适应性维护是为了使软件适应新的环境变化;完善性维护是为了增强软件功能和性能;预防性维护则是为了防止未来问题的发生,提前改进软件。
以上知识点覆盖了软件开发的多个阶段,包括需求分析、设计、编码、测试和维护,对于理解软件工程的整体流程和实践具有重要意义。