这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01
这个作业的目标
• Pep/9虚拟机
• 机器语言与汇编语言
• 算法与伪代码
• 测试:黑盒,白盒
作业正文https://www.cnblogs.com/gly03/p/18487689
教材学习内容总结
一、黑盒测试
- 定义:黑盒测试,又称为功能测试、数据驱动测试或基于需求规格说明书的功能测试,是一种从用户角度进行的测试。在测试中,测试人员将程序视为一个无法打开的黑盒子,完全不考虑程序内部结构和特性,仅通过程序接口进行测试。
- 目的:主要验证系统的功能性、正确性和稳定性,以及用户需求是否得到满足。它关注程序的输入与输出,检查程序是否能适当地接收输入数据并产生正确的输出信息。
- 方法:黑盒测试的方法包括等价类划分法、边界值分析法、错误推测法、因果图法等。这些方法帮助测试人员设计测试用例,确保测试的全面性和有效性。
- 应用:黑盒测试适合测试应用程序的各个层面,包括用户界面、系统接口、业务逻辑等。它常用于验收测试、系统集成测试等阶段,确保系统在实际使用中的正确性和稳定性。
二、白盒测试 - 定义:白盒测试,又称为结构测试、透明盒测试或逻辑驱动测试,是一种从开发者角度进行的测试。在测试中,测试人员需要了解系统的内部实现和代码逻辑,通过检查程序的内部结构来发现潜在的错误和缺陷。
- 目的:主要验证软件的内部结构、逻辑、代码质量和覆盖率等方面。它关注程序的源代码和内部逻辑,确保程序的正确性和可靠性。
- 方法:白盒测试的方法包括代码检查法、静态结构分析法、逻辑覆盖法(如语句覆盖、判定覆盖、条件覆盖等)、基本路径测试法等。这些方法帮助测试人员深入检查程序的内部逻辑和代码路径。
- 应用:白盒测试适合测试系统的具体实现、代码模块和函数等。它常用于单元测试、代码覆盖率检查、安全漏洞分析等场景,确保系统的内部实现正确无误。
三、总结 - 区别:黑盒测试和白盒测试在测试角度、目的和方法上存在显著差异。黑盒测试注重外部功能和用户需求,而白盒测试注重内部结构和代码逻辑。
- 选择:在实际应用中,测试人员应根据测试目的、测试对象的特性和测试人员的角色来选择合适的测试方法。例如,在验收测试和系统集成测试阶段,可以优先选择黑盒测试;而在单元测试和代码覆盖率检查阶段,可以优先选择白盒测试。
一、机器语言 - 定义:机器语言(Machine Language)是计算机能直接识别和执行的语言,也称为二进制代码或机器码。它是由一系列二进制数字(0和1)组成的指令集合,每条指令都对应计算机硬件的某种操作。
- 特点:
o 直接性:机器语言是计算机能直接理解和执行的语言,不需要经过任何翻译或解释。
o 高效性:由于机器语言与计算机硬件紧密相关,因此执行速度非常快,效率极高。
o 难读难写:机器语言由大量的二进制数字组成,对于人类来说既难读也难写,容易出错且难以维护。 - 用途:机器语言主要用于计算机底层系统的开发,如操作系统、驱动程序等。此外,在嵌入式系统、微控制器等场景中,也常用机器语言进行编程。
二、汇编语言 - 定义:汇编语言(Assembly Language)是一种符号化的机器语言,它用易于理解和记忆的符号来表示机器指令。汇编语言中的每条指令都与机器语言中的某条指令一一对应,但汇编语言更加便于人类阅读和编写。
- 特点:
o 可读性:汇编语言采用符号化的表示方法,使得程序更加易于理解和维护。
o 与硬件相关:汇编语言与特定的计算机硬件紧密相关,不同的计算机硬件有不同的汇编语言。
o 需要翻译:汇编语言编写的程序需要经过汇编器(Assembler)翻译成机器语言后才能被计算机执行。 - 用途:汇编语言常用于底层系统编程、嵌入式系统开发、性能优化等场景。与机器语言相比,汇编语言提高了编程的效率和可读性,但仍然需要程序员对计算机硬件有一定的了解。
三、总结 - 关系:机器语言和汇编语言都是低级语言,它们与计算机硬件紧密相关。汇编语言是机器语言的符号化表示,使得编程更加便捷和高效。
- 选择:在实际应用中,选择哪种语言进行编程取决于具体的需求和场景。对于底层系统开发和性能优化等场景,汇编语言和机器语言都是不错的选择;而对于高级应用开发和跨平台开发等场景,则更适合使用高级编程语言(如C、C++、Java等)。