《Android 应用测试指南》——第1章,第1.2节软件Bug

1.2 软件Bug
无论你多努力,代码设计花费多少时间,编程时候有多小心,你的程序中都会有Bug,这是不可避免的。

Bug和软件开发是息息相关的。硬件工程中,用Bug这个单词来描述瑕疵、问题、错误已经有几十年了,甚至比计算机出现得还早。尽管如此,关于Bug这个单词的故事是由哈佛大学的Mark II计算机操作员创造的,1878年,在爱迪生给蒂瓦达的信中可以看到这个单词的早期应用。

“我所有的发明都如此。第一步是直觉,随之是头脑风暴,然后困难都浮现出来。这些困难一点点被解决,然后Bug出现了,这些Bug就是所谓的小错误和困难。Bug出现后,需要投入几个月的精力去密切观察、学习,最终达到商业上的成功,否则,必然失败。”

Bug是如何严重影响你的项目的呢
众所周知,Bug会从很多方面对你的项目工程造成影响,越早发现并修复越好。无论你是为了优化用户体验,开发一个简单的Android程序;还是为设备操作员新建一个Android客户版本,Bug都在延迟你的交付时间,燃烧你的金钱。

在所有的软件研发模式中,“测试驱动开发”是软件开发流程中最敏捷的方式。它驱使你在开发过程中更早地发现、面对Bug,你也很可能预先解决更多的问题。

此外,比起那些在最后才进行测试的团队,利用这种测试驱动开发模式的研发团队,生产效率更高。如果你在移动行业参与软件开发,有理由相信赶时间的情况下,“测试驱动开发”这种方案不合适。因为,通常这种方式解决的问题都很可能是已经规避了的,这点很有趣。

2002年美国国家研究所的一项研究调查表明,每年软件Bug造成的损失595亿美元,如果软件测试执行得更好的话,超过三分之一的损失是可以避免的。

然而,请别误解以上所说的。软件开发没有特效药,是什么让你高效,让你的项目易于管理?是你有条理地利用这些方法和技术,掌控你的项目。

时间: 2024-10-23 15:02:20

《Android 应用测试指南》——第1章,第1.2节软件Bug的相关文章

《Android 应用测试指南》——第2章,第2.1节Junit

第2章 Android软件测试Android 应用测试指南既然我们已经了解了测试的基本概念及其重要性,那么现在是时候付诸于实践了. 在本章,我们将要讲述:在Android平台上测试:单元测试和Junit用法:创建一个Android测试工程:测试执行.我们会创建一个简单的Android主程序和与之对应的测试工程项目.主工程基本上是一个空项目,因为我们将重点看测试部分.以我个人经验,建议没有任何Android测试经验的同学好好学习下本章.如果你有过Android工程的经验,并且用过相关的测试技术,那

《Android 应用测试指南》——导读

目 录前 言 第1章 测试入门第1章,第1.1节简史第1章,第1.2节软件Bug第1章,第1.3节为什么要测试.测什么.如何测.何时测试第1章,第1.4节测试的种类第1章,第1.5节Android测试框架第1章,第1.6节小结 第2章 Android软件测试 第2章,第2.1节Junit第2章,第2.2节创建一个Android主项目第2章,第2.3节创建一个Android测试项目第2章,第2.4节包浏览器第2章,第2.5节创建一个测试用例第2章,第2.6节测试执行第2章,第2.7节调试用例第2章

《Android 应用测试指南》——第1章,第1.4节测试的种类

1.4 测试的种类在开发过程中,任何时间段都可以参与测试,这取决于采用何种测试方案.但是,我们推荐测试工作在项目开发早期就介入,甚至可以在完整需求出来之后.刚开始开发的时候就开始做准备. 基于被测对象的不同,有好几种不同的测试方法.但是无论采用哪种测试方法,测试用例都包含执行条件和执行结果,执行结果返回True或者False来表示用例是否正确. 1.4.1 单元测试单元测试,指的是程序员在开发阶段写的测试用例.这种测试用例需要将被测对象独立隔离起来,也就是Mock掉外部关联对象.单元测试用例应用

《Android 应用测试指南》——第2章,第2.6节测试执行

2.6 测试执行执行测试用例的方法有很多种,我们这里一个个地分析. 另外,我们在前面的章节中提到的注释,可以让测试用例按照组或者种类执行,这种方式要按实际需求来执行. 2.6.1 在Eclipse里执行所有的测试用例如果你采用了Elicpse作为开发环境,从Eclipse中执行测试用例可能是最简便的方式了.这种方式会执行包中所有的用例. 选择测试工程,然后单击 Run As -> Andriod Junit Test. 如果没有找到合适的设备或者模拟器,那么会自动启动一个.然后,测试用例开始执行

《Android 应用测试指南》——第1章,第1.6节小结

1.6 小结我们复习了软件测试中的主要概念以及Android测试中的特殊点.这些知识为我们开启探索软件测试的优点提供了必备条件. 本章主要讲述了以下内容. 我们回顾了早期Android测试以及当前可选的测试框架.我们简短分析了测试背后的4个W:为什么测试(Why),测什么(What),如何测(How),何时测(When).在如何测试上,我们后面会进行更加深入分析,假设你有固定参数输入,那么你将如何进行探索性测试呢?我们列举了项目中你需要的不同的.最通用的测试方法,描述了测试工具箱中的一些工具,并

《Android 应用测试指南》——第2章,第2.9节小结

2.9 小结我们复习了Android测试背后的主要技术和工具. 本章覆盖的内容如下.给Android样本工程创建相应的Android测试工程,作为第一个测试工程.创建相应测试工程的最佳方式,虽然你可能觉得没必要,但是事实证明如此.新建一个简单的测试类来测试工程中的行为.我们没有添加有用的测试用例,而是添加了一些例子来确认测试框架是可行的.我们还从Eclipse中执行了样例测试用例,从命令行也尝试了下,从而理解多种执行用例的方式.在这过程中,我们提到了行为管理器和am命令行的典型使用方式.分析了最

《Android 应用测试指南》——第1章,第1.3节为什么要测试、测什么、如何测、何时测试

1.3 为什么要测试.测什么.如何测.何时测试大家都清楚早期发现Bug会节约一大笔项目资源.减少软件维护费用.这就是为开发项目写测试用例的最好理由,不久你就会发现效率提高了. 另外,写测试用例的过程中,迫使你对需求了解更透彻,对要解决的问题了解更深入全面.如果你不了解被测对象,是不可能写好测试用例的.同样,写好测试用例可以清晰了解旧程序和第三方代码,让你能力倍增,更加有信心升级(旧程序.第三方代码)代码. 测试覆盖率越高,发现隐藏Bug的概率就越高.通过覆盖率分析,发现测试用例没有覆盖到的地方,

《Android 应用测试指南》——第2章,第2.5节创建一个测试用例

2.5 创建一个测试用例如上所述,我们将在Test项目中的src目录下面添加测试用例. 我们特意利用Junit测试来创建一个单元测试用例.Eclipse提供了操作向导来帮助大家(File | New | Junit Test Case). 我们打算选择主工程下面的活动Activity作为被测对象,尽管这个例子跟Activity实际内容无关. 创建测试用例时,我们有以下的值需要设置,如表2.2所示. 表2.2 新建用例填写的表格 严格说来,我们这里面有setUp().tearDown()和cons

《Android 应用测试指南》——第2章,第2.7节调试用例

2.7 调试用例当然,大家应该想到的是,你的测试用例代码也可能有问题.于是,通常都要调试用例,并且在LogCat中打印日志信息以便调试.还有一种更复杂的办法,就是启动调试工具来调试,有两种方式. 第一种方式更简单:利用Eclipse的便利性,不需要去记复杂的命令行选项.在最新版的AndroidADT插件中,有选项 Debug As | Andriod Junit Test.然后,你可以在测试用例中设置断点调试代码. 设置断点的方式就是在编译器中选中你要暂停的那行,然后利用菜单选项"执行|切换行&