软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>其他相关>>正文
程序员实用测试技巧(1)
文章出处:转载 作者: 发布时间:2006-11-16
    如果要写JUnit试代码,应该从哪里开始呢?

    本书的第一部分为有效的使用
JUnit设计和测试Java代码奠定了基础。一旦你能理解这部分介绍的技巧,并能熟练地在实际工作中应用它们,你就会永远使用下去——因为所有的测试,其实都可以分解为后面几章中将要介绍的一个或者几个技巧。问题在于,你如何在工程级的特定Java应用的代码和类结构中,认出这些简单的小模式。因此,在对付大的问题之前,让我们首先处理这些小问题。

    到第
1部分结束的时候,你将学习到60多个重要的JUnit技巧,它们涵盖了测试的各个方面:编写、组织、创建和执行测试,还有如何维护测试数据以及如何汇报测试结果。第2、第3部分的技巧经常会用到第1部分介绍过的技巧,因此请做好随时回头查阅的准备。很快,你就会对这部分介绍的技巧非常熟悉。

本章主要内容:

   有关程序员测试的介绍

   JUnit入门

   JUnit的一些经验之谈

   什么时候使用测试而不是调试

我们痛恨调试程序。

你抬头看看墙上的钟,发现已经很晚了,因为今天晚上还有一堆的错误需要纠正。现在已经到了编码与纠正阶段的纠正部分了,并且这个阶段已经持续了三个月。到了这个时候,你可能几乎已经忘记你们家是什么样的了。你现在比以前任何时候都熟悉的是办公室的四面墙­——假设你真的有四面墙可以看到。当你盯着关键错误列表的时候,发现有一个问题又回来了,你还以为一个星期前就已经解决了呢!这些该死的测试人员什么时候能够让你安静一会儿呢!

先启动调试工具,再启动应用服务器——赶紧呷一口咖啡,你可能只有5分钟的空闲时间——然后你需要设置一两个断点,在10个文本区输入一些数据,然后点击“GO”按钮。调试器会在第一个断点停下来。你的目的是找到哪个对象老是产生错误的数据。当你一步步地调试代码的时候,偶尔性的肌肉痉挛——明显是睡眠不足造成的——会让你忽略那些可能产生问题的代码。现在你必须将应用服务器停下来,重新启动调试器,再重新启动应用服务器。利用这个间隙,抓起一块已经变味的糕点,喝下六个小时以前冲的苦咖啡。这样的工作有意思吗?

哦不!就算最有毅力的人也会说,我宁愿做一个测试人员!

1.1  What is Programmer Testing什么是程序员测试

程序员测试并不是对程序员进行测试,而是有关程序员所进行的测试工作。近几年,一些编程人员发现如果自己去编写测试程序会带来很多好处,这种好处是以前让测试部门来管所 没有的。修正错误非常困难,主要是因为花时间太多:不仅测试人员需要花很多时间来发现错误,并且要给程序人员提供足够的信息来重现这个错误;编程人员也要 花费很多时间,从几个月前看过的代码中找到错误产生的原因。还有很多时间花在讨论这些究竟是不是一个错误,弄清楚为什么程序员会犯如此幼稚的错误,是不是 测试人员干扰了他们的工作?是不是需要让测试人员远离程序员而不去打扰他们等等。如果程序员自己测试他们自己的代码,那么就可以节省很多时间。

    程序员所做的测试一般叫做单元测试。但是我们在这里不想使用这个词语,因为这个词被过度地使用和滥用,通常它带来的混乱比它所能解释的意思还要多。在程序员社区中,我们不能统一地确定单元是什么——是一个方法吗?是一个类吗?还是一段代码呢?如果我们不能就单元达成共识,那么就不用说单元测试了!这也是为什么我们使用程序员测试来表示程序员自己所做的测试工作。这也是我们为什么使用对象测试来表示对单独对象的测试。将不同的对象隔离开单独测试,是这本书中主要涉及到的测试方式。也许这和你所想象的测试工作有出入。

有一些程序员是这样测试他们的程序的:先在某些特定的行上设置一些断点,然后再将应用程序运行在调试的模式上,一行一行地步入他们的程序,并且检查相应变量的数值。严格地说,这就是程序员测试。因为这是程序员在测试自己的程序。但是这样做会带来很多缺点,包括;

    需要调试工具,这并不是所有的人都已经安装或愿意安装的。

    在执行测试以前,需要有人去设置断点;在测试完成以后再将这些断点去掉。如果要进行多次测试的话,这样做非常麻烦。

    需要知道和记住这些变量所希望的数值。这就使得其他人来执行这些测试非常困难,除非他们能够知道和记下同样的数值。

    想要测试任何的代码片段,就必须了解整个应用程序是怎样工作的,需要花一段漫长的时间来进行一系列键盘的输入和鼠标的点击。这会使一个测试的执行过程非常容易出错。



站内搜索
相关文章
◎测试小技巧之文档编写
◎软件测试的起源与发展
◎优秀测试工程师应该具有的基本素质
◎关键字驱动测试(keyword-driven)
◎软件测试工程师职业特点
◎浮躁的国内测试界—2006年测试人员招聘感悟
◎测试资源的合理分配
◎桌面检查与同行评分-《软件测试艺术》读书笔记(15)
◎代码走查-《软件测试艺术》读书笔记(14)
◎错误列表-《软件测试艺术》读书笔记(13)
◎代码检查-《软件测试艺术》读书笔记(12)
◎《软件测试艺术》读书笔记(11)_优之共通
◎测试人员的职业发展方向
◎测试资源的合理分配
◎软件测试是提高软件产品质量的必要条件(2)
◎软件测试是提高软件产品质量的必要条件(1)
◎软件测试:不可忽略的阶段
◎自动化测试的优缺点
◎实施IPD
◎软件项目中测试人员的考核
◎走出软件测试的困境
◎加快回归测试的步伐:累积测试分析和目标测试入门
◎《软件测试艺术》读书笔记(10)_人工测试技术
◎《软件测试艺术》读书笔记(9)_原则解析
◎《软件测试艺术》读书笔记(8)_经济学视角解析
◎《软件测试艺术》读书笔记(7)_心理学视角解析(下)
◎《软件测试艺术》读书笔记(6)_心理学视角解析(中)
◎《软件测试艺术》读书笔记(5)_心理学视角解析(上)
◎如何准备软件工程师的面试
◎《软件测试艺术》读书笔记(4)_初次探究
◎测试职业发展生涯
◎《软件测试艺术》读书笔记(3)_一次自我检测
◎《软件测试艺术》读书笔记(2)_前言
◎《软件测试艺术》读书笔记(1)_引子
◎软件测试的艺术
◎有感于软件测试常识
◎软件测试工程师为何而生?
◎软件测试常见问题——(三)测试流程常见问题
◎软件测试常见问题——(二)测试管理常见问题
◎软件测试常见问题——(一)基础知识部分
◎从程序员到技术领导者
◎面向对象的软件测试与传统测试的比较
◎测试部门经理工作感受(三)
◎测试部门经理工作感受(二)
◎测试部门经理工作感受(一)
◎关于测试的个人总结
◎从微软的今天看软件测试的明天
◎软件测试职业规划(一)
◎用别的眼光去感悟软件测试
◎软件测试与三十六计
热门文章
◎软件测试工程师面试问题选登
◎一个初级测试工程师的工作总结
◎软件测试常用术语表
◎测试人员面试三步曲
◎DOS命令大全
◎什么样的测试人员是好的测试人员
◎软件测试基本方法
◎好的测试工程师应具备的素质
◎软件测试入门书籍(2)
◎我在软件公司成长的三年
◎面试官最爱问的问题背后真相
◎软件测试工程师面试题
◎应届毕业生少走弯路的十条忠告
◎有关软件测试的术语定义集锦
◎微软的软件测试方法(一)
◎我的测试经历(1)
◎全景记录:软件测试工程师的一天
◎软件测试步骤
◎谈谈对测试职业的看法
◎漫谈软件测试工程师的角色定位
◎测试需要掌握什么
◎软件测试员自身素质培养
◎测试小技巧集锦之一黑盒测试
◎近10年最强的50本计算机图书,您读过几本?
◎软件测试人员职业发展助手
◎测试要点总结
◎如何制定成功的测试计划
◎测试的主要评测方法(1)
◎什么是ERP,通俗版解释
◎测试经验交流
◎软件测试及其支持工具
◎编写优秀Bug报告的艺术
◎软件产品测试标准
◎从程序员到测试工程师
◎微软的软件测试方法(二)
◎软件测试应遵循的八条原则
◎测试版本大全
◎我的测试经历(2)
◎测试人员的挑战
◎网管和黑客都必须知道的命令
◎QA活动的理解与实施
◎Alpha和Beta测试简介
◎网络最经典命令行
◎想编写出优秀技术文档,先学学这四招
◎个人职业生涯规划发展
◎你适合做测试吗?
◎软件测试的误区
◎我的测试经历(3)
◎软件测试的心理学问题
◎软件测试组织与方法

Google提供的广告