2.1 单元测试与自动测评机相比有何优劣,能否在一定条件下被替代,或者说互补?

GreyZeng 2021-07-24 09:44:20
...全文
519 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 2021-07-24
  • 打赏
  • 举报
回复

可以说还没进行软工实践时,我对单元测试并不感冒,认为其与编写自动评测机进行测试没有可比性。然而通过Beta阶段团队项目的测试工作,我体会到,单元测试与其说是简单的进行程序正确与否的判断,不如看作给予程序开发者“再一次思考模块可行性”的机会。例如我在Beta阶段对ChampionShop.cs模块进行检查时发现GetRandomChampionInfo()的随机过程似乎实现有误,通过对该函数进行单元测试发现,由于在Alpha阶段我们默认了分配卡牌的数量,而由于Beta阶段我们新增了大量卡牌,原本的实现方式会导致refresh时选取卡牌操作会每次从默认牌组头部进行遍历,若卡牌已经由后端提供则跳过,对剩下部分进行随机,最终导致默认牌组靠前的卡牌更容易选出的伪随机效果,不符合设计初衷。

可以想见,即使不考虑真实工程中实现的可能性,这类细节性的错误很难通过较为宏观的自动评测机进行检验,而“强制”的单元测试则“迫使”代码的书写者在完成相应模块后重新对整个模块进行可行性的分析,根据贝叶斯定理,这里更要求书写者站在外部视角(用户的角度)来对该模块进行测试,以保障不陷入内部视角的思维局限。同时针对各个模块单独进行单元测试,也能使各模块相互独立,“保证即使模块内部的改变也不会影响其他模块,而且模块的质量能够得到稳定的、量化的保证”,这也是实际软工中行而有效的良方。

原文地址

内容概要:本文围绕“基于分布式模型预测控制的多个固定翼无人一致性控制”展开,利用Matlab代码实现相关算法的仿真,旨在通过分布式控制策略实现多架固定翼无人在复杂动态环境中的协同飞行与一致性控制。研究结合模型预测控制(MPC)方法,构建适用于多无人系统的分布式优化框架,重点解决了通信受限、信息延迟及无中心化指挥条件下的协同稳定性问题。内容涵盖固定翼无人的动力学建模、分布式MPC优化求解制、一致性协议设计、通信拓扑结构分析以及仿真验证全过程,确保多系统在保持队形一致的同时完成协同任务。; 适合人群:具备自动控制理论、无人系统建模或多智能体协同控制基础,从事智能无人系统、集群控制、自动化与器人等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多无人协同编队飞行、集群侦察、分布式任务执行等实际工程场景;②为分布式MPC算法在多智能体系统中的一致性控制提供可复现的Matlab仿真案例,推动先进控制理论向工程实践转化;③服务于科研论文复现、算法验证、控制系统课程设计与毕业课题参考。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,重点关注分布式MPC在不同通信拓扑下对一致性收敛性能的影响,并可通过调整预测时域、权重矩阵与噪声参数等方式深化对算法鲁棒性与适应性的理解。

606

社区成员

发帖
与我相关
我的任务
社区描述
程序员。写过:移山之道,编程之美,构建之法,智能之门。
软件工程软件构建团队开发 企业社区 北京·朝阳区
社区管理员
  • SoftwareTeacher
  • GreyZeng
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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