软件测试

软件测试理论的积累
摘要: 之前写过一篇介绍BDD的文章(优美的测试代码 - 行为驱动开发(BDD)),很多同学都表示很感兴趣,但感觉过于抽象。因此,本文通过使用NBehave框架,通过非常简单而又具体的例子,加深对BDD的认识。阅读全文
posted @ 2010-02-28 13:00 CoderZh 阅读(1682) | 评论 (2) 编辑
摘要: 软件测试中的“设计模式”,细细品味,然后实践之阅读全文
posted @ 2010-01-23 12:45 CoderZh 阅读(869) | 评论 (0) 编辑
摘要: 这本书找来很久了,一直没读。关于软件测试的好书相当少,对于测试代码的重构及模式的书就更加难得了。虽然我才读了前几章,给我的感受是,这本书确实讲的很全面,并且给很多测试中的东西给出了专业的术语,相信当我读完并吸收完这本书后,会有更多的体会和收获。 第一章是全书概述,直接跳到第二章开始我的笔记。Test Smell,测试的坏味道。和我们通常讲的Code Smell是一样的,不同的是Test Smell是从测试的角度来分析测试过程中的坏味道。测试的坏味道主要分为三类: 1. code smells 2. behavior smells 3. project smells 这三种坏味道通常不是独立存在的,project smells的根源可能来自code smells和behavior smells。阅读全文
posted @ 2010-01-17 23:25 CoderZh 阅读(2169) | 评论 (2) 编辑
摘要: 之前在测试Django应用时,使用了非常方便的django.test.TestCase。在测试Tornado时,我也包装了一个TestCase类,提供和Django一样便捷的测试方法。阅读全文
posted @ 2010-01-01 10:48 CoderZh 阅读(819) | 评论 (1) 编辑
摘要: 最近需要测试一个服务器端的django项目,查看了一下django的文档,发现django为了更加方便的对web应用进行测试,提供了一些便捷的测试方法。并且,专门有一篇文档讲诉如何测试django应用。 快速横扫了一下文档后,初步印象是django默认支持Doctests和Unit tests两个测试框架的,同时提供了一些辅助的测试类,比如Test Client、TestCase、Email Service。通过Client,可以方便的发起一个get或者post请求,并且取得返回结果。而TestCase也是对 unittest.TestCase进行了进一步的封装,省去了很多重复要写的代码,比如定义一个self.client。Email Service提供了方便的邮件发送的方法。 使用Test Client有什么好处呢? 1. 它不需要Web服务器运行起来。 2. 它执行更加快速。 3. 它能非常方便的取到被测应用内部的东西。阅读全文
posted @ 2009-11-15 23:58 CoderZh 阅读(769) | 评论 (0) 编辑
摘要: UI Automation也不是什么新东西了,很久以前曾经用过一次,最近又在一个测试中打算使用,于是又翻了一遍MSDN。MSDN里的介绍确实非常详细,但是对于一个刚刚接触的人来说,大而全的文档反而使得无从下手。往往一个简单的Demo比得上大段的文字说明,因此我打算用几个简单的Demo来介绍一下 UI Automation到底是如何使用的。阅读全文
posted @ 2009-11-14 21:13 CoderZh 阅读(2370) | 评论 (7) 编辑
摘要: 在前面的玩转gtest - 断言中,我们提到了ASSERT_*系列的断言只是在当前函数返回,并非退出当前测试案例,因为ASSERT_*系列是通过return来实现的(因此 ASSERT_*系列不能在返回值不为void的函数内出现)。要退出当前测试案例,一个最简单的方法就是通过抛异常,然后让gtest捕获这一异常。阅读全文
posted @ 2009-08-02 14:07 CoderZh 阅读(1963) | 评论 (1) 编辑
摘要: 可理解的代码非常重要,测试代码也是如此。在我看来,优秀的测试代码,必须做到一个重要的事情就是保持测试逻辑的清晰。作为测试开发人员,我们有机会使用最前沿,最先进的技术去解决问题。我们可以使用BDD所使用的自然语言描述方法来编写我们的测试案例。优美的测试代码,就是一个个优美的故事。阅读全文
posted @ 2009-07-26 23:29 CoderZh 阅读(3144) | 评论 (5) 编辑
摘要: 之前看过《Beautiful Code》,相当不错。今天在testingreflections里看到 Karen N. Johnson发的一篇文章,说 O’Reilly已经正式公布了《Beautiful Testing》一书的相关信息,并且他是其中作者之一,非常期待该书的出版。同样,我也是非常期待的。先到 O’Reilly上看了下介绍,饱饱眼福。阅读全文
posted @ 2009-07-22 00:10 CoderZh 阅读(822) | 评论 (1) 编辑
摘要: 在之前的代码覆盖率浅谈中其实已经谈到了关于行覆盖的缺陷,但由于行覆盖足够简单,还是被广泛使用着。另我惊讶的是,作为一个商业的C++代码覆盖率工具CoverageMeter,它明确指出,不提供行覆盖数据,因为他们认为行覆盖不准确。阅读全文
posted @ 2009-07-11 23:26 CoderZh 阅读(570) | 评论 (2) 编辑
摘要: 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。 阅读全文
posted @ 2009-04-06 18:16 CoderZh 阅读(31586) | 评论 (16) 编辑
摘要: Google Test (gtest)是Google的开源C++测试框架,希望我的总结能给你带来帮助。 阅读全文
posted @ 2009-04-06 18:14 CoderZh 阅读(41221) | 评论 (17) 编辑
摘要: 随着我们的SVN库日益壮大,容量达到10G,几十G 甚至更大时,我们发现自动构建速度越来越慢,直到有一天你发现入了很小一段代码却不得不等待几小时构建完成,程序员的忍受是有极限的,因此我们决定采取措施实施优化。阅读全文
posted @ 2009-04-05 18:30 CoderZh 阅读(4430) | 评论 (36) 编辑
摘要: 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量,有利也有有弊。本文我们就代码覆盖率展开讨论,也欢迎同学们踊跃评论。阅读全文
posted @ 2009-03-29 14:45 CoderZh 阅读(8679) | 评论 (29) 编辑
摘要: 跨站式脚本攻击(XSS)被评为07年排名第一的Web安全漏洞,拿“找找看”试了一把,发现存在漏洞,希望管理员尽快改掉阅读全文
posted @ 2008-08-05 16:01 CoderZh 阅读(714) | 评论 (4) 编辑