《有效的单元测试》一第2章 寻 求 优 秀

第2章 寻 求 优 秀

本章内容包括:
测试怎样才算“优秀”
测试相关的行为
可靠测试的重要性
我们正在学习优秀的测试。我们想要学习如何识别优秀的测试,书写优秀的测试,改进不那么优秀的测试,这样它们就能成为优秀的测试,或至少接近优秀。问题是,怎么才能算“优秀”?有哪些神奇的要素?以下几个方面要考虑,包括:
测试代码的可读性和可维护性
代码在项目中及特定源代码中的组织方式
测试所检查的内容
测试的可靠性及可重复性
测试对测试替身的使用
本章将仔细研究这些方面。
上述列表还不够全面。影响测试质量的因素是无穷尽的。同样,一些因素并非在各种情况下都起作用。对一些测试来说,执行速度可能是至关重要的,但对另一些来说,极度专注才是关键。
此外,测试代码的质量取决于观察者的眼睛。如同代码一样,个人偏好关乎“优秀”的定义——我不会忽略偏见的存在。我也不会在本书中假装我能避免自己的偏见和喜好。尽管我会尽量避免因人而异的问题,但你仍会发现很多章节清晰地凸显了我的个人观点。我觉得没关系。毕竟,我从各位软件牛人那里学到了有关代码,特别是测试代码的内容,形成了基于个人经验的诚恳(和固执己见)看法,这是我能提供的最好的东西。
免责声明之后,我们来讨论一下测试质量的几个方面,看看哪些与我们的兴趣相关。

时间: 2024-07-30 19:43:36

《有效的单元测试》一第2章 寻 求 优 秀的相关文章

《数值分析(原书第2版)》—— 第1章 求 解 方 程

第1章 求 解 方 程 最近出土的一个楔形平板显示古代巴比伦人可以正确计算2的平方根,并精确到小数点后5位.我们并不知道他们使用的技术,但是在本章中我们将介绍他们可能使用过的迭代技术,这种技术在现代计算中仍被用于计算平方根. Stewart平台是一个具有6个自由度的机器人,该平台可以极高的精度进行定位,最初由Dunlop Tire公司的Eric Gough在20世纪50年代发明,用于测试飞机的轮胎.现在它的应用领域从非常大的飞机的仿真器,到精度十分重要的医药和手术应用.求解前向动力学问题要求在给

【原创】构建高性能ASP.NET站点 第五章—性能调优综述(中篇)

原文:[原创]构建高性能ASP.NET站点 第五章-性能调优综述(中篇) 构建高性能ASP.NET站点 第五章-性能调优综述(中篇) 前言:本篇主要讲述用一些简单的工具来分析一些与站点性能有关的数据,在上一篇文章中,我们讨论了一下性能调优的一般过程,本篇就开始介绍一些方法和工具,让大家快速的入门.      系列文章链接: 构建高性能ASP.NET站点 开篇 构建高性能ASP.NET站点之一 剖析页面的处理过程(前端) 构建高性能ASP.NET站点之二 优化HTTP请求(前端) 构建高性能ASP

《软件需求工程(第2版)》一第3章 需 求 获 取3.1确定需求开发计划

第3章 需 求 获 取 在软件计划完成之后,进入需求分析与定义阶段,亦即需求工程的活动开始.软件需求获取(简称需求获取)阶段的任务简单地说就是获取用户的需求信息.需求获取是需求工程的早期活动,也是十分重要的一步.由于需求获取可能是软件开发中最困难.最关键.最易出错和最需要交流的活动,故其只能通过用户与开发人员之间进行高度的合作和交流才能成功.开发人员并不是简单地照抄用户所说的话,需要从用户所提供的大量信息中分析和理解用户真正的需求.需求获取阶段的活动可大致划分为如图31所示的一系列工作.有关这

第十五章 动态规划——最优二叉搜索树

1.前言: 接着学习动态规划方法,最优二叉查找树问题.二叉查找树参考http://www.cnblogs.com/Anker/archive/2013/01/28/2880581.html.如果在二叉树中查找元素不考虑概率及查找不成功的情况下,可以采用红黑树或者平衡二叉树来搜索,这样可以在O(lgn)时间内完成.而现实生活中,查找的关键字是有一定的概率的,就是说有的关键字可能经常被搜索,而有的很少被搜索,而且搜索的关键字可能不存在,为此需要根据关键字出现的概率构建一个二叉树.比如中文输入法字库中

《软件工程(第4版?修订版)》—第2章2.2节软件过程模型

2.2 软件过程模型 软件工程(第4版•修订版) 软件工程文献描述了很多软件过程模型.有些模型是规定性的(prescription),说明软件开发应该进行的方式:而另一些是描述性的(description),说明软件开发实际进行的方式.从理论上讲,两种类型的模型应该是相似或相同的,但事实并非如此.建立过程模型并讨论它的子过程有助于开发团队理解开发过程的理想情况与实际情况之间的差距. 对过程进行建模的原因还有很多. 当一个小组记录下开发过程的描述时,就会形成对软件开发中的活动.资源和约束的共同理解

Hadoop专业解决方案-第5章 开发可靠的MapReduce应用

本章主要内容: 1.利用MRUnit创建MapReduce的单元测试. 2.MapReduce应用的本地实例. 3.理解MapReduce的调试. 4.利用MapReduce防御式程序设计. 在WOX.COM下载本章源代码 本章在wox.com网站的源码可以在www.wiley.com/go/prohadoopsolutions的源码下载标签找到.第五章的源码根据本章的内容各自分别命名放在了第五章下载目录中. 到目前为止,你应该对MapReduce体系结构,应用程序设计,和定制MapReduce

【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施

原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施     前言:本篇给出一些在部署ASP.NET站点时采用的简单的优化措施.同时很也非常的感谢朋友对昨天发的文章的支持,本篇的内容不多,也比较的简单!         本篇议题如下:       识别和分析服务端的性能瓶颈(上)    内存(前篇)    缓存(前篇)     CPU(前篇)    处理请求线程

《从问题到程序:用Python学编程和计算》——第3章 基本编程技术 3.1 循环程序设计

第3章 基本编程技术 第2章讨论了简单的计算和编程,展示了一些实例.通过对有关内容的学习,读者应该已经做了一些简单程序,对写程序和做计算有了些实际体会.虽然编程中细节较多,但也是很有趣的工作.为了完成一个程序,首先要分析问题.寻找解决方案,这些需要发挥人的聪明才智和想象力,也可能涉及一些相关领域的知识.要把设计变成可以运行的程序,既需要智力,也需要有条理的工作,一个小错误就可能使程序不能正确执行.当然,高度精确性也是现代社会对人的基本要求,写程序的过程能给我们许多有益的经验. 学习编程要经历一个

【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测CLR性能

原文:[原创]构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)-托管资源优化-监测CLR性能 构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)-托管资源优化-监测CLR性能     前言:在上一篇文章中讲述了一些垃圾回收的一些知识,本篇就讲述如何来监测CLR是否导致了一些性能问题.    本篇的议题如下: 内存问题概述(前篇) 托管资源优化(前篇)          对象的生命周期(前篇)          对象的"代"(前篇)          大