软件工程笔记:典型自动化方法和工具

典型自动化方法和工具

— 笔记整理自 北京理工大学 计算机学院

自动重构:重命名

自动重构:重排参数

  • 对现有函数进行参数重排
  • 智能工具感知那些调用add方法的代码提出修改方案
  • 开发者只需要选择并回车即可

自动重构:方法重载

  • 修改代码并且给开发者带来开发上的方便
  • 鼠标定位到方法上,然后在智能感知菜单上选择方法重载即可生成一个新的重名方法
  • 然后用键盘修改它的参数即可

自动重构:封装字段

  • 我们经常封装字段使用private,然后使用getter和setter来对外提供功能
  • 使用封装字段功能可以快速生成getter和setter,提高开发速度集中进行高创造性的活动

自动重构:嵌套替换

  • 用伪语句来代替条件嵌套
  • 条件表达式通常有两种表达方法
    • 所有分支都属于正常行为
    • 条件表达式提供的答案只有一种正常行为,其他都不是常见的情况
  • 两种表达式有不同的用途
    • 对第一种情况,可以用If Then Else 这样的条件表达式
    • 第二种情况, 某个条件极为罕见,要单独检查这个条件

自动重构

  • 代码从设计偏离,设计变得过时
  • 软件开发过程需要重构
    • 改进软件的设计
    • 提高代码质量
    • 提高系统可维护性
    • 帮助尽早发现错误
    • 提高开发速度
  • 重构表现了敏捷方法的设计哲学: 进化
  • 重构时机:需求变更、设计改进、发现Bad Smells
  • 自动化重构工具的支持

TDD测试框架

  • TDD:来自XP的最佳实践
  • 先有测试代码,后有功能代码
  • 测试代码来自需求而不是功能代码
  • 回归事情处理的正确顺序
  • 可减少开发时间和成本,改善质量

TDD应用:LifeWare

  • 4年和40人/年的工作
  • Smalltalk语言开发
  • 250000行功能代码+250000行测试代码
  • 4000个能够在20分钟内执行完毕的测试
  • 整个测试集每天都要运行多遍
  • 系统的市场潜力急剧增加
  • 快速应变的能力

TDD问题:如何测试

  • TDD需要其他的技术配合,才能发挥实际功效
  • 在团队合作中,你需要调用其他开发者的编写的组件, 但是他们只完成了接口还没有编写实现,这时候如何编写自己的单元测试代码li>
  • 这里就需要它的最佳搭档模拟对象的出现了

TDD搭档:模拟对象

  • 模拟对象技术就是利用对象的模拟版本来代替依赖的类
  • 这些模拟对象传递给要测试的类之后,依赖关系就被对象的模拟版本代替了
  • 被测试对象依然认为自己处理的是真实的对象
  • 这种冒名顶替的测试思想出现的比较早
  • 现在有了大量的模拟对象框架,开发者只需要几条简单的语句,就可以进行模拟

模拟数据

  • 在 络应用开发当中,前端开发独立于后端的 Mock.js
    • 基于数据模板生成模拟数据
    • 基于HTML模板 生成模拟数据
    • 拦截并模拟 ajax 请求

UI测试

  • Selenium IDE 火狐插件
    • 记录和模拟用户的操作
    • 将这些操作转换为脚本
    • 录制控制区控制录制状态
    • 操作记录区显示我们的操作的命令
    • 可导出成各类代码脚本,可嵌入其他语言之中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月13日
下一篇 2020年5月13日

相关推荐