OO 第三单元总结

测试方法:

1. 黑箱测试、白箱测试

        黑箱测试:

        测试角度:从外部用户的角度出发,将系统视为一个不透明的黑盒子,只关注输入和输出,不考虑内部实现细节。

        测试对象:关注系统的外部行为和功能,验证系统是否按照规格要求和用户期望的方式工作。

        测试目的:检查系统是否符合规格要求,能够处理各种预期和非预期的输入情况,并确保系统的功能、性能、可靠性和用户友好性等方面达到预期。

        测试技术:等价类划分、边界值分析、错误推测和状态转换等。

        白箱测试:

        测试角度:从内部开发人员的角度出发,具有对系统的内部访问权限,能够查看和分析系统的源代码、算法和数据结构等内部细节。
        测试对象:关注系统的内部结构和代码,验证系统的逻辑正确性、代码质量和性能等方面。

        测试目的:评估系统的内部组成和设计是否符合规范,发现潜在的编码错误、逻辑错误、死代码、循环问题和性能瓶颈等。

        测试技术:代码走查、单元测试、集成测试和路径覆盖等。

        黑箱测试和白箱测试并非对立的关系,而是在测试过程中可以相互补充的方法。二者常常结合使用,以确保软件系统的全面测试覆盖,提高软件质量和稳定性。

2. 单元测试、功能测试、集成测试、压力测试、回归测试

        单元测试:

        单元测试是针对软件系统中最小可测试单元(通常是函数、方法或类)进行的测试。单元测试通常由开发人员编写,并使用框架(如JUnit)来自动化执行和验证测试用例。

       测试目的:验证单个单元的功能是否按照预期进行操作,有助于发现和修复代码层面的问题,提高代码质量和可维护性。

        功能测试:

        功能测试可以验证整个软件系统的功能是否按照规格要求和用户需求正常运行,涵盖了系统的各个功能模块,测试系统在不同输入条件下的行为和输出结果。

        测试目的:通过模拟真实用户操作、使用测试数据和预期结果来验证系统的功能。

        集成测试:

        集成测试是将多个独立模块或组件组合起来,测试它们在集成环境中的交互和协作。

        测试目的:确保不同模块的集成工作正常,验证整个系统在集成环境中的正确性和稳定性,可以发现不同模块之间的接口问题、数据流问题和功能冲突等。

        压力测试:

        压力测试可以评估软件系统在正常或超负荷条件下的性能和稳定性,模拟并施加大量并发用户、数据负载或请求到系统上,以观察系统的响应时间、吞吐量、资源利用率和稳定性。

        测试目的:帮助识别系统的性能瓶颈和潜在的故障点,以优化系统并确保其能够在负载情况下正常工作。

        回归测试:

        回归测试是在对软件进行更改或修复后,重新运行现有测试用例,以确保修改没有引入新的错误或导致现有功能受损。

        测试目的:验证修改对系统的整体功能和稳定性没有负面影响。

规格与实现分离:

        好处:将规格与实现分离可以使系统更易于维护和更新,使代码更具可读性和可理解性,从而提高团队的协作效率,并促进软件质量的控制和提升。

        难点:jml冗长且抽象,需要编写人员花费大量精力理解后再实现。

代码设计:

        总体架构基于实验课代码,需要改动的部分重点在于实现功能时对具体算法的选择和使用。

BUG分析:

        本单元作用对算法的选择和使用有很高的要求,由于不熟悉一些算法,会出现性能太差运行时间过长的情况。

OK测试:

       OK测试会模拟不同的输入情况和操作流程,以确保代码在各种情况下产生预期的输出和行为,验证代码实现是否实现了规格中定义的功能要求。此外,OK测试会检查代码在不同情况下的响应、错误处理和异常情况的行为,以确保其符合规格的要求,验证代码的行为是否与规格中所描述的行为一致。

学习体会:

        本单元作业中大量阅读JML语言,对其有了初步的熟悉与掌握。而JML只是规格框架,具体的功能实现还是依赖于算法的使用和组织。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值