电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

华宇检测单元测试有助于产出高质量、无缺陷的代码

3页
  • 卖家[上传人]:汽***
  • 文档编号:491029975
  • 上传时间:2023-03-17
  • 文档格式:DOC
  • 文档大小:64KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、即便开发人员知道测试的益处,我们也会发现程序员们不愿意测试他们的代码。他们会列出各种理由,如时间不够、没有有效的工具以及在编写带有许多有依赖关系的对象的测试方面有问题。对于单元测试的常见异议在深入探讨模拟对象之前,让我们先来看一下以下两点异议。花费时间太长我们很早就认识到这样一个原则“做事情需要花费时间”,特别当这些事情值得去做。很少的开发人员会怀疑整体测试的价值,因此我们需要考虑如何定义“太长”这个词的含义。开发人员们缺乏耐心,他们想要的是结果。他们喜欢写代码、运行代码然后看结果。从这一点来说,单元测试对他们有帮助。单元测试满足开发人员们的及时需求,但是许多程序开发人员认为编写测试占据了他们编写应用程序代码的时间,而他们的工作是按照后者计算报酬的。当然如果您仅仅按照程序开发人员在一个特定时间创建的应用程序代码的行数(或者一些其他方法)来计算的话,这一点是正确的。但是我们必须考虑每行代码所承载的全部时间。如果每当代码编译完成并运行通过我们就停止计算的话,我们可能会忽略掉创建软件最重要的部分消除缺陷。在软件开发周期中越晚发现缺陷,修复缺陷所花费的代价会随之成倍增长。在开发过程中许多预先的

      2、质量检验会多占用一点点时间,但是会在以后节约大量时间。这一点已经被许多研究所证实。仍有许多程序设计人员认为找出他们代码中的错误是其他一些人的工作。我发现近十年来这种情况已经有了显著的改进,但是仍有大量的程序人员并没有为他们的工作负全责,他们也不使用有助于改进他们代码的工具和技术。在早期的软件工程课程中我向我的学生们介绍过单元测试。我告诉他们如何使用现代工具编写测试。我布置了关于编写单元测试的作业。然而,当给他们机会在工作中采用有效的单元测试时,只有25%的学生这样做。原因是什么呢?因为他们还没有意识到测试的重要性。他们的直觉战胜了理性。他们知道单元测试的价值,但他们选择不予理会。单元测试并不需要花费很长时间,但许多程序设计员认为它需要。作为一名教育工作者,我需要努力地在学生们职业生涯的早期就改变这一认识,并在他们整个学习过程中不断的加以强化。商业组织必须跟上步伐,在他们雇用毕业生时使得单元测试成为一份宝贵的实践。低效的工具这充其量是一个乏味的借口。在今天有很多有效的单元测试工具可供开发人员们使用。不管您使用的是什么程序语言或者其他的开发工具,单元测试工具都可以供您使用。许多工具都是开源

      3、或者免费的。我选择 Eclipse 作为我的主要开发环境。在我现有的 Eclipse 配置里可以得到的所有单元测试工具中,我主要使用的是 Junit 测试框架。大多数 Java 设计人员都知道 Junit 并且大概至少使用过一次。JUnit 是 Eclipse 的 Java 开发工具中的一个完整部分。这个平台使得创建 Junit 测试变得简单。我只需在浏览器包里选择一个 Java 源文件,并在右击已选文件时从关系菜单里选择 NewJUnit Test Case(见图1)即可。提供的支持包括在测试中为类自动创建测试方式以及更多的东西。运行测试和创建一样简单。Eclipse 带有一个独立的视图可以观察 Junit 测试的结果。图:在 Eclipse 中创建一个 Junit 测试Eclipse 中集成了大量的单元测试工具。其中许多是基于 Junit 并在性能上有所扩充。我让我的学生们在面向对象的设计类中使用 Coverlipse 插件程序来检测他们的测试的代码覆盖率。我希望在他们所有的应用程序代码中有100%的覆盖率。一开始他们不喜欢这样,但是到了期中,他们的测试的覆盖率通常都达到100%。

      4、我已经为 TestNG,、djUnit、 Eclipse Test 和 Performance Tools Platform (TPTP) 安装了插件程序。其中每一个都有一组特性支持有效的单元测试。关键是有大量合适的单元测试工具提供给每一个开发人员,因此缺少工具不再被认为是没有创建单元测试的理由。测试带有复杂的依赖性?使用模拟对象一个好的单元测试检测一个独立的方法。在一个设计良好的系统里,对象们协同工作共同完成一项任务;因此,为了检验一种方法,通常我们需要提供使得这种方法完成其任务的其他对象。企业应用程序里的对象相当复杂,很难创建,并且他们的状态依赖外部的对象。一个数据库相关的应用程序有许多这样的对象,如连接、语句、结果集等等。我们想要单元测试简单快速的执行。如果我们需要在每次单元测试前将数据库重新设置到一个已知状态,那么测试会相当复杂并且运行速度自然会比我们期望得要慢。简化单元测试的一个流行技巧就是创建仅用于测试中的模拟对象。为了达到快速测试的目的,我们创建模拟对象来代替真实的对象。模拟对象被 Tim Mackinnon、 Steve Freeman 和 Philip Craig 1

      5、 所支持并成为单元测试工具箱的主要组成部分。一些书籍和论文讲述了如何在单元测试中使用模拟对象,描述的是模拟对象应该具备的能力以及如何使用他们。尽管如此,在没有任何基础的情况下开始创建模拟对象是相当困难的。我们希望能够自动完成这项任务。有一些软件工具,像 EasyMock, 2 提供了自动帮助功能,但是它们可能很复杂而且也很难使用。此外,他们不是总能够与我们其他的开发工具兼容。但是利用现有的工具可以有一些创建模拟对象或是相当能力的简单方法。文章后面的部分将展示利用 Eclipse 平台做到这一点的一些方法。从接口创建模拟对象面向对象的设计专家建议我们对接口进行编程。如果我们这样做,设计会更加新颖、灵活并且对变化反应灵敏。我们来看这样一个对接口编程例子,我们使用 Java JDBC API 来操作数据库。我们将考虑基于 JDBC API Tutorial and Reference, Second Edition 一书中代码的简单例子。在关系数据库中有一个表格,表格中有 a, b, c 三列,有整数型、字符串型和浮点型三种数据类型。下面的方法,在一个被称为 DatabaseExample 的类中,使用数据库 Connection 对象,从数据库中读取记录并打印出数值。

      《华宇检测单元测试有助于产出高质量、无缺陷的代码》由会员汽***分享,可在线阅读,更多相关《华宇检测单元测试有助于产出高质量、无缺陷的代码》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.