软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>其他相关>>正文
软件质量保证的最佳实践之一:Code review和Case review
文章出处:blog 作者:朱少民 发布时间:2006-11-24

上次翻译了一篇文章—— Bug分析:为bug预防奠定基础 强调软件缺陷的预防。软件质量是构建起来的,由软件开发的整个过程质量所决定的,软件质量肯定不是通过测试测出来的。所以软件缺陷的预防自始至终是重要的。除了缺陷分析,另外一个很重要的实践就是:代码复审(code review)和测试用例的复审(Test Case review)。

1Code review

IBM、微软等很多公司都有一个很好的实践,那就是Code review  - 代码复审。这种代码审查的过程,不是将代码发给某一个人或某几个人去看,而是强调程序员自己定期走上台,向其他人讲解自己源程序的活动。因为要向大家讲解自己的程序,show code to other guys, 程序员会极其重视自己的工作进度、代码质量,在写代码时,就时刻想着——可能随时会被选中去做code review, 所以非常认真对待每一行代码。这种Code review 方式还有其它好处:

  • 可以互相学习程序设计思想、方法和技巧,共同提高;
  • 可以及时发现代码的问题,包括代码的Dependency的问题;
  • 更多的人明白他人写的代码,今后代码的维护也变得容易。

所以这种Code review 方式,被证明是一种行之有效的方法。
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

2Test Case review

      Code review对应的,在测试/QA这边进行Case review. 每一个QA工程师,都有机会被选中,通过投影机做Presentation,向大家讲清楚他/她是如何设计测试用例(Test Case), 包括产品新特性的理解、对测试范围的分析,考虑了哪些因素、哪些user scenario, 用例设计的思路是怎样的?测试的覆盖率如何?把主要的测试用例从头到尾Show 一遍,等等。

       每个人都有且必须有机会,这是关键。其次,Case review时,被选中的QA Engineer必须讲解他/她如何写Test case.

    
通过这样的实践和活动,可以更早地发现test case中的问题,相互启发,相互学习test case design的技巧和方法,交流经验。也督促每个人把测试用例设计好。好处也一样多:       

  • 设计Test case之前,就会好好考虑各种因素、想清楚设计思路——覆盖率提高。
  • 认真写好每一个Test case——单个case质量提高
  • 更早地发现Test case的问题,包括相互影响的区域。
  • 相互学习
  • Test case维护更容易

Code reviewTest Case review同样蕴含了“缺陷预防”的思想。要提高质量,就如克劳士比所说,第一次就要把事情做对!如果系统分析员、架构设计师、设计人员、编程人员等所有人员都在第一次就要把事情做对,测试人员也许就不需要了。有一个例证,几千人的印度软件公司,只有5-6个真正的QA人员,但没有一个测试人员,软件产品质量依旧很好,再一次验证了“质量是写出来的,不是测出来的”。


站内搜索
相关文章
◎16个月的工作感想
◎如何增加面试成功的胜算
◎《测试之道》第四篇——胡马大宛名
◎《测试之道》第三篇——吴钩霜雪明
◎《测试之道》第二篇——大道如一,过犹不及
◎《测试之道》第一篇——道可道
◎软件测试方向杂谈
◎程序员实用测试技巧(1)
◎测试小技巧之文档编写
◎软件测试的起源与发展
◎优秀测试工程师应该具有的基本素质
◎关键字驱动测试(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提供的广告