面向对象第三单元总结

杜瑞-22230613 学生 2024-05-19 17:29:38

一.测试部分

黑箱测试是指在不考虑程序内部结构和实现细节的情况下,对软件系统的功能进行测试。测试人员只关心输入输出之间的关系,而不考虑程序的内部逻辑。这种测试方法通常由测试人员根据需求规格说明书或者其他文档编写测试用例,并通过输入数据,观察输出结果是否符合预期来评估软件系统的功能性能。

白箱测试是指在了解程序内部结构和实现细节的基础上,对软件系统进行测试。测试人员需要熟悉程序的源代码和内部逻辑,以便识别潜在的代码缺陷和错误。这种测试方法通常由开发人员或者专业测试人员执行,通过检查代码的每个细节,包括变量、函数、分支和循环等,来评估软件系统的可靠性和安全性。

单元测试是针对软件系统中最小的可测试单元(通常是函数或方法)进行的测试。它的目的是验证这些单元是否按照预期进行测试,以确保其功能正常。单元测试通常由开发人员编写,并使用测试框架来自动化执行。

功能测试是对整个软件系统的功能进行测试,以确认其符合需求规格说明书或用户期望的功能。它关注系统是否能够按照预期执行各种操作,并产生正确的输出结果。功能测试一般由测试团队执行,使用测试用例来覆盖不同的功能场景。

集成测试是在已经通过单元测试的组件或模块基础上进行的测试,旨在检查它们在集成后是否能够正常协同工作。集成测试的目标是验证不同组件之间的接口和交互是否正确,以确保整个系统的功能正常运行。

压力测试是通过给软件系统增加负载和压力来评估其性能和稳定性。它的目的是确定系统在正常或异常负载下的表现,以及其在临界负载下的承受能力。压力测试可以模拟大量同时用户访问、数据处理和网络流量等情况,以评估系统的响应时间、吞吐量和资源利用情况。

回归测试是在对软件进行修改或添加新功能后,在已经通过的测试用例基础上重新运行测试,以确保修改不会导致现有功能的退化或引入新的错误。回归测试的目的是验证系统的稳定性,防止新的改动对系统的其他部分产生意外影响。

二.架构设计

本次作业的架构基本按照给出的jml构造即可,新增的额外代码主要用于优化性能,这点放在第三点讲述。如在第一次作业中我新加入了并查集及其分支,这一结构有助于极大限度地优化isCircle等方法的运行速度。

三.出现的性能问题及其修复

本次作业中我遇到的性能问题大致有两个。
一是在第一次构建时对于isCircle等方法我采取的都是直接查找,这种简单粗暴的处理方式使得我作业的性能很差,后续我采取了并查集的处理方法,使得代码的性能有了不少提升。
二是在第二次作业中我对于一些只求值的方法采取了维护的处理。即新增一个专门的变量来存储对应的值,而这个值只在发生改变的时候才修正,调用此方法时直接输出这个值即可。

四.junit的使用

junit使用时需要考虑对随机数据的尽可能全方位覆盖,同时注意不能使用自己新添加的方法。

五.学习体会

本单元学习的jml语法及运用可谓是给我留下了非常深刻的认知,同时我重新学习了junit的使用,对于其用于测试代码有了更为深刻的认识。

...全文
125 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

301

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象设计与构造
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧