重构摘要4_构筑測试体系

  • 确保全部測试都全然自己主动化。让它们检查自己的測试结果。
  • 通常使用Junit測试框架
  • 准备好測试夹具。setUp() 创建 tearDown() 删除
  • Tip 如今使用注解@Before @After @BeforeClass @AfterClass
  • 频繁地执行測试。每次编译请把測试也考虑进去--每天至少执行每一个測试一次。
  • 编写測试代码时。往往一開始让它们失败。为了确保測试机制的确可行。
  • 每当你收到bug报告,请先写一个单元測试来暴露bug.
  • 測试你操心出错的部分。
  • 考虑可能出错的边界条件,把測试火力集中在那儿。
  • 当事情被觉得应该会出错时。别忘了检查是否抛出了预期的异常。
  • 不要由于測试无法捕捉全部BUG就不写測试,由于測试的确能够捕捉绝大多数BUG。
  • 构建良好的BUG检測器并常常执行它。这对不论什么开发工作都将大有裨益,而且是重构的前提。

说明

  • 《重构-改善既有代码的设计》Martin Fowler 摘要: 第四章 构筑測试体系
时间: 2024-10-15 07:03:03

重构摘要4_构筑測试体系的相关文章

重构摘要4_构筑测试体系

确保所有测试都完全自动化,让它们检查自己的测试结果. 通常使用Junit测试框架 准备好测试夹具,setUp() 创建 tearDown() 删除 Tip 现在使用注解@Before @After @BeforeClass @AfterClass 频繁地运行测试.每次编译请把测试也考虑进去--每天至少执行每个测试一次. 编写测试代码时,往往一开始让它们失败,为了确保测试机制的确可行. 每当你收到bug报告,请先写一个单元测试来暴露bug. 测试你担心出错的部分. 考虑可能出错的边界条件,把测试火

iOS8使用TestFlight进行内部測试功能尝鲜

iOS8公布了有一段时间了,我们的策划非常新潮的速度给升级到iOS8了. 于是XCode5不支持了,仅仅好从MacOS 10.8升级到10.9,再升级到10.9.5,再下载XCode6安装-- 然后前两天上传一个版本号给苹果审核.发现iTunes Connect里多了一个Prerelease选项卡.里面有一个Internal Testers.于是上网搜索了下,看到了一篇介绍文章:http://www.infoq.com/cn/news/2014/06/apple-ios8-testflight/

重构摘要3_代码的坏味道

如果尿布臭了,就换掉它. 1.Duplicated Code 重复代码 Extract Method Pull Up Method Form Template Method --> Template Method 模式 Substitute Algorithm --> 函数算法替代 2.Long Method 过长的函数 "间接层"所带来的全部利益--解释能力.共享能力.选择能力--都是有小函数支持的. 真正关键在于一个好名字. 每当感觉需要以注释来说明点什么的时候,我们就

软件測试培训笔记

<单元測试及持续集成实战>  201409 1.        质量(Quality):一组内在特性满足需求的程度:一个系统.构件或过程满足特定需求(顾客或用户须要或期望)的程度. 软件质量管理:确定一个软件产品的质量目标,建立实现这些目标的计划.监督.调整软件计划.软件工作产品.活动和质量目标,以满足顾客.终于用户须要和期望的过程. 一般在软件企业中,提到质量管理(quality management, QM)主要是两个方面:质量控制(qualitycontrol, QC).质量保证(qua

也谈測试核心竞争力

作为一名測试人员,究竟其真正的核心竞争力是什么?这个问题一直困惑着我,当我还未曾踏入这一行业的时候,听到的声音是这种:"測试是一种非常有前途的工作,需求大于供给".另一种是这种"測试就要做接触到代码的,点点鼠标谁都--"怀着对于一个行业我也不知道好还是坏,究竟是个什么玩意的心理选择并进入了这个行业. 期间,我承认.的确有那么一段时间,我觉得作为一名測试假设可以对于代码了如指掌,可以写出一个个的工具才有可能成为武林的盟主,寿与天齐. 似乎,作为測试来说最核心的竞争力就

Redis安装及简单測试

摘要: Redis是眼下业界很受到欢迎的一个内存数据库,一般用作系统的中间缓存系统,用以提升总体商业系统的吞吐量和响应速度.本文将简要介绍安装的主要过程以及给出一个简要的測试代码. 1.  系统环境和版本号说明 操作系统选用Ubuntu 14.04, Redis的版本号选取眼下的最新稳定版本号2.8.9. client选用了Redis的Java版本号jedis 2.4.2. 2.  Redis的安装步骤 a. 下载Redis的安装包 wget http://download.redis.io/r

JAVA-day08 下午-总结、測试

继承总结: class { public static void main(String[] args) { System.out.println("Hello World!"); } } class Fu { private int num = 9; public void show1(){} public void setNum(int num) { this.num = num; } Fu(){} } class Zi extends Fu { //int num = 4; vo

Android 进行单元測试难在哪-part3

原文链接 : HOW TO MAKE OUR ANDROID APPS UNIT TESTABLE (PT. 1) 原文作者 : Matthew Dupree 译文出自 : 开发技术前线 www.devtf.cn 译者 : chaossss 校对者: tiiime 状态 : 完毕 在 Android 应用中进行单元測试非常困难.有时候甚至是不可能的.在之前的两篇博文中,我已经向大家解释了在 Android 中进行单元測试如此困难的原因.而上一篇博文我们通过分析得到的结论是:正是 Google 官

写可測试的代码

写可測试的代码 不论什么一个软件都是能够測试.在某种意义上,用户的使用过程也就是一个软件測试的过程.但是这并非我们今天要讲的可測试性.我们讲的可測试性指的是代码的可測试性,通俗点儿说就是是一串代码里包括的逻辑是不是能够被单元測试所覆盖.在这篇文章里我会从单元測试的基本概念開始引伸到怎样写单元測试,怎样写可单元測试的代码.文章里全部的样例都是C#写的,一来它是我职业生涯的主力语言.二来C#广为人知,相信对广大职业的或是业余的程序猿来说读懂C#的代码不会是什么特别困难的事情.实际上我描写叙述的方法和