关于提前编写测试 --=100分=-- 在送一百分,大家活跃一些

Colin-Han 2002-12-18 02:56:26
开发中测试的重要性因盖不需要在这里讨论了,尤其在XP中,强调在编写代码前先编写测试。对于这一点Cajon举双手+双脚赞成,而且希望在领导的项目中推行。但是实际操作中遇到了很多的问题,这里列出来大家讨论.....

1. 测试用例细化到什么程度? 按照XP,所有的代码都应该接受测试用例的检验,但是很多时候一些简单的函数或者简单的属性(VB\c#)是否也需要编写测试用例呢?如果编写,工作量就太大了,但是如果不编写,对于重构是否会产生负面影响?因为大家都知道,其实往往简单的错误才是最难查出来的。可能开发时,这些问题还很容易发现,如果进行了重构,可能就因为觉得这里的代码太熟悉而忽略了其中很简单的错误,这样就很难发现了。

2. 编写测试代码要占用多少开发时间?一般可能认为50%左右,Cajon认为也可以接受,但是一半的时间是否足够写出完整的测试用例,如果时间再多,Cajon觉得可以接受,老板可会不接受了。必然要裁减测试用例,从新又回到第一个问题,测试用例应该细化到什么程度。

3. 对于界面的开发,大家是否也写测试用例?Cajon是写不出了......

4. 测试用例的复用有没有做过?说说经验,最好使用XUnit系列做例子......

哈哈。。。。 问题很多,分不够再开......
...全文
49 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ozzzzzz 2002-12-25
  • 打赏
  • 举报
回复
提前测试不应该是xp独有 在任何情况下你都可以采取它 唯一注意的是你是不是有合适的工具支持你的工作 也就是你的测试是不是可以自动化
  • 打赏
  • 举报
回复
学习一下
Colin-Han 2002-12-25
  • 打赏
  • 举报
回复
webcat() 兄:
我所说的提前测试并不是传统开发方法中的提前测试原型,而是XP中的先编写测试,后编写代码。用词不当,请见谅。
提前编写测试代码,主要是为了能够提高代码的质量,是程序员能够明确编码的目标,具体内容你可以看一下Kent的《解析极限编程--拥抱变化》

ozzzzzz兄:
是否提前编写测试最好和结对编程配合使用,有没有哪位兄弟进行过这样的实践(不结对编程但提前编写测试),说说感受。
webcat 2002-12-20
  • 打赏
  • 举报
回复
我觉得提前测试是对即将开始编码的设计上的评审,在降低风险,实际上真正的问题只有代码变出来之后才能测试出来
Colin-Han 2002-12-20
  • 打赏
  • 举报
回复
我在网上找到了一个cppRefactor的软件,是开源的,大的里面就使用了CPPUnit,但是没有编写任何测试用例,而且工具也没有完成。参考价值不大。

各位谁还有相类似的开源软件,告诉我,我去看看.....

谢谢
ozzzzzz 2002-12-18
  • 打赏
  • 举报
回复
cajon(Cajon)
重构的时候必须保证通过原来所有的测试 也就是说修改代码是允许随便进行的 修改测试则是要有受权的
单元测试的粒度 我想也不要太过分 我想FOWLER也说过 不要对绝对不会出错的地方作测试
界面测试是个大家都要面对的问题(另一个是数据库) 我也没有好办法 好在现在基本上我做的都是MIS之类的东西 依靠VB PB等工具产生的界面不会出什么问题
关于使用xUNIT的例子 我想你可以从网上找一些很多的
w_rose 2002-12-18
  • 打赏
  • 举报
回复
什么粒度呢?如果你编码之前有明确的设计文档,就是设计文档上的粒度。

因此,直接从分析过渡到编码(过度XP就是这样),那么就没有粒度。
termite 2002-12-18
  • 打赏
  • 举报
回复
good
Colin-Han 2002-12-18
  • 打赏
  • 举报
回复
谢谢ozzzzzz:
我想我用错了词语,我所说的测试用例是指单元测试,对不起!

另外,现在我自己写的一个程序就采用先测试后编码的方式开发,但是开发的过程中发现很多问题,主要就是上面的4点,希望你能够给我一个可操作的方法!

首先,单元测试应该写到什么样的粒度呢?对于一些很简单的函数是否也需要写出所有的单元测试,找出所有的临界点进行测试呢?
ozzzzzz 2002-12-18
  • 打赏
  • 举报
回复
测试优先不是XP的创造 这种思想早就存在
这样的思想很好理解 比如你要做一件什么事情 你就会先制订一个考察你做事情结果的标准 这就是一种先写测试后完成
测试用例不能代表所有的测试 其中最重要的问题是它不包括单元测试 而测试用例多数情况下是黑盒测试 是对产品的功能的测试 在XP中这个测试是由现场客户编写的(当然如果是真正的客户 就需要在技术人员的执导下) 这个其实应该很好理解 就是在你制订需求的时候 应该就制订你产品的合格标准
而单元测试也要先写就让许多人感到困惑 其实也很简单 那就是在你编写实际的编码前要首先确定你的接口(也就是你要先有个设计) 然后对这个接口编写单元测试 然后运行 这个测试这个时候应该不能成功(当然不能成功 因为你还什么都没有作) 然后你开始书写代码 使得你编写的测试可以通过 就是这个简单
内容概要:本文档是一份关于“超声谐波成像中幅超声谐波成像中幅度调制聚焦超声引起的全场位移和应变的析模型(Matlab代码实现)度调制聚焦超声引起的全场位移和应变的析模型”的Matlab代码实现研究资料,重点构建了一个用于析在超声谐波成像过程中,由幅度调制聚焦超声所引发的生物组织全场位移与应变的数学模型。该模型通过Matlab仿真手段实现了对声场激励下组织力学响应的精确计算与可视化,有助于深入理解超声激励与组织变形之间的物理机制,提升超声弹性成像的精度与可靠性。文档还附带多个相关科研领域的Matlab/Simulink代码实例,涵盖无人机控制、路径规划、电力系统仿真、信号处理、机器学习等多个方向,展示了强大的技术支撑与应用拓展能力。; 适合人群:具备Matlab编程基础,从事医学超声成像、生物力学建模、信号与图像处理等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于超声弹性成像中组织力学响应的仿真与析;②为开发新型超声诊断技术提供理论模型与算法支持;③作为多物理场耦合仿真的教学与研究案例,促进跨学科技术融合。; 阅读建议:建议读者结合Matlab代码逐行理解模型实现细节,重点关注声场建模、组织力学方程求解及位移应变后处理部。同时可参考文档中提供的其他仿真案例,拓宽研究思路,提升综合科研能力。
内容概要:本文详细介绍了一个基于深度Q网络(DQN)的股票价格预测项目,利用MATLAB实现强化学习在金融领域的应用。项目涵盖了从数据预处理、状态与动作空间设计、奖励函数构建,到深度神经网络搭建、经验回放与目标网络机制等DQN核心组件的完整实现。同时,项目集成了GUI可视化界面,支持数据导入、参数设置、模型训练、智能预测与结果评估等功能,提供多维度策略析,如累计收益、最大回撤、信号精度等,并具备实盘部署潜力。项目强调模型稳定性、风险控制与可解释性,适用于量化投资、智能投顾、金融教学等多个场景。; 适合人群:具备一定编程基础和金融知识背景的研发人员、量化析师、金融工程或人工智能专业学生,以及对智能投资系统开发感兴趣的从业者。; 使用场景及目标:①学习并实践深度强化学习在股票预测中的建模方法;②构建可复现的量化交易策略原型;③开发具备可视化交互功能的智能投研工具;④用于高校教学、算法竞赛或科研实验平台。; 阅读建议:建议结合MATLAB代码与文档逐步调试运行,重点关注状态构建、奖励函数设计与训练流程逻辑,同时通过GUI界面观察模型输出结果,深入理解DQN在金融决策中的实际表现与优化方向。
标题基于SpringBoot的高校餐饮档口管理系统设计与实现AI更换标题第1章引言介绍高校餐饮档口管理系统的研究背景、意义、国内外现状及论文方法与创新点。1.1研究背景与意义阐述高校餐饮档口管理现状及系统开发的重要性。1.2国内外研究现状析国内外高校餐饮管理系统的研究与应用进展。1.3研究方法及创新点概述本文采用的研究方法及系统设计的创新之处。第2章相关理论总结与高校餐饮档口管理系统相关的现有理论。2.1SpringBoot框架理论阐述SpringBoot框架的原理、优势及其在Web开发中的应用。2.2数据库设计理论介绍数据库设计的基本原则、方法和步骤。2.3系统安全理论讨论系统安全设计的重要性及常见安全措施。第3章系统需求析对高校餐饮档口管理系统的功能需求、性能需求等进行详细析。3.1功能需求析列举系统需实现的主要功能,如档口管理、订单处理等。3.2性能需求析系统对响应时间、并发处理能力等性能指标的要求。3.3非功能需求析阐述系统对易用性、可维护性等非功能方面的需求。第4章系统设计详细描述高校餐饮档口管理系统的设计过程。4.1系统架构设计给出系统的整体架构,包括前端、后端和数据库的设计。4.2模块设计详细介绍各个功能模块的设计,如用户管理、档口信息管理等。4.3数据库设计阐述数据库表结构的设计、数据关系及索引优化等。第5章系统实现与测试介绍高校餐饮档口管理系统的实现过程及测试方法。5.1系统实现系统各模块的具体实现过程,包括代码编写和调试。5.2系统测试方法介绍系统测试的方法、测试用例设计及测试环境搭建。5.3系统测试结果与析从功能、性能等方面对系统测试结果进行详细析。第6章结论与展望总结本文的研究成果,并展望未来的研究方向。6.1研究结论概括高校餐饮档口管理系统的设计与实现成果。6.2展望指出系统存在的不足及未来改进和扩展的方向。

1,268

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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