`
notfatboy
  • 浏览: 237559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于测试的一些Thinking

阅读更多

我最近一直考虑究竟测试工程师的意义是什么。表面上很简单,就是要找出更多的产品的bug。但是测试绝不是为了找bug而找bug,这样就迷失了测试工作本身的意义所在。我一直认为一个真正优秀的测试工程师不仅要去保证产品的质量,而且要有能力发现客户的需求。由于某些客户的需求并不是显而易见的,比如客户并不会考虑软件产品的并发,交互需求,也很少会去考虑异常情况下软件的反应,这些隐性的需求正是测试人员在产品设计之初就应该发掘并制定一个可行的产品质量标准。我认为这正是一个优秀的测试工程师和普通的测试工程师最大的区别。这也就是为什么我一直主张测试应该在项目一开始就involve进来,贯穿产品的设计开发整个流程。因为测试不仅仅是发现bug,更重要的是与开发一起制定需求规格,质量标准。充分发挥测试人员在产品设计阶段的积极性,可以制定更好更完善的产品规格,从而为产品最终的成功和质量打下坚实的基础。TDD的概念并不是新鲜的概念,但是在实际的项目中我们往往是在产品基本成型之后才告知测试工程师:“你们可以测试了。"然后扭回头等着测试工程师提交bug。而目前国内的测试工程师也没有足够的自信参与到产品设计中来。因为没有任何产品设计的经验,所以从一开始就被排除在外,很多公司的测试流程也是把测试人员排除在产品设计之外,这就导致了大多数的测试人员有了这样一种误解,我们的工作就是发现bug。不可否认,发现bug的确是测试工程师的主要任务之一,但我们不能因此而错误地认为这是我们唯一的任务。我也坚信一个优秀的测试工程师不仅能够站在客户的角度去考虑产品,他还会更进一步的去考虑客户所没有想到的产品需求,从而在产品设计之初就为产品的质量保证打下坚实的基础。

分享到:
评论
1 楼 jackhao168 2010-10-22  
说的好

相关推荐

    Thinking in java和Thinking in c++中文版

    此外,书中还涵盖了软件工程的实践原则,如设计模式、测试驱动开发等,这些都是成为一个优秀程序员所必需的知识。 总之,《Thinking in Java》和《Thinking in C++》是两本深入浅出、内容丰富的编程宝典,无论你是...

    Thinking in C++(1,2卷)

    5. **测试与调试**:讲解如何编写测试代码,以及使用调试工具来查找和修复程序问题。 6. **C++标准库**:除了STL之外,还介绍了其他标准库的使用,如智能指针、内存管理和并发编程工具。 通过学习《Thinking in C++...

    Thinking In Java 源码

    8. 了解测试技术:书中包含了大量的单元测试,学习如何编写和组织测试代码是提升软件质量的关键。 9. 提升问题解决能力:遇到问题时,参考源码可以提供解决问题的思路,增强我们的调试和问题定位能力。 在学习...

    Thinking in java4(中文高清版)-java的'圣经'

    3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 3.9.1 指数记数法 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符 if-else 3.13 ...

    Thinking in Patterns 英文原版

    ### Thinking in Patterns 英文原版 #### 一、概览 《Thinking in Patterns》(以下简称TIP)是一本深入探讨软件设计模式的书籍,由知名程序员Bruce Eckel撰写。本书不仅介绍了各种经典的设计模式,还结合了作者...

    Thinking in embedded(嵌入式编程思想)Thinking in embedded(嵌入式编程思想)

    总结来说,"Thinking in embedded"意味着理解嵌入式系统的核心需求,掌握处理器工作原理,利用RTOS实现高效调度,精细管理内存,编写硬件驱动,确保实时性和低功耗,并通过严谨的测试确保系统的稳定性和可靠性。...

    大象-Thinking in UML.pdf

    尽管RUP在理论上提供了软件开发的全面框架,但学习RUP往往让人感到头痛,因为它涵盖的领域广泛,包括文档、模型、软件层次、迭代、构件、架构、测试等。 三位UML的创始人Ivar、James、Grady被尊称为软件领域的教父...

    Thinking in C++ 2nd edition Volume 2

    例如,在修订版中,作者重新架构了关于Stash和Stack的示例,这不仅修正了先前的错误,还引入了新的示例,尤其是在第16章(模板介绍)中,对示例进行了大量的更新和重构。同时,新增了一个Stack示例,展示了容器类...

    thinking in enterprise java

    10. **测试与部署**:单元测试、集成测试和持续集成是确保企业级应用质量的重要环节。此外,部署策略和容器管理也是开发者必须了解的内容。 《Thinking in Enterprise Java》这本书不仅涵盖了Java EE的技术细节,还...

    thinking in java

    4. **设计模式章节**:特别是第16章关于设计模式的内容被认为是书中最有趣的部分之一。 #### 三、核心知识点 基于书名及其部分描述内容,《Thinking in Java》主要涵盖了以下几个方面的知识点: 1. **面向对象...

    thinking in java 第四版 源码

    同时,源码也是自我测试和调试的好材料,你可以尝试修改代码,看看结果是否符合预期,从而加深对Java的理解。 总的来说,《Thinking in Java》第四版的源码是一份宝贵的资源,它将书中的理论知识具体化,为Java...

    The Thinking in Java Annotated Solution Guide

    《Thinking in Java Annotated Solution Guide》是一本针对Bruce Eckel的畅销书《Thinking in Java》的解答指南,主要针对第四版的内容。这本书是Java编程学习者的宝贵资源,它提供了书中练习题的详尽解答,帮助读者...

    THINKING IN JAVA

    12. **单元测试**:教导如何使用JUnit进行代码测试,确保程序的正确性。 《Thinking in Java》不仅适合初学者,也适用于有其他编程语言背景的开发者。书中的例子直接而精炼,避免了过于简化或复杂的解释,使读者...

    Thinking in Enterprise Java.rar

    12. **测试和部署**:包括单元测试、集成测试、持续集成、部署到应用服务器的策略和配置等。 通过学习《Thinking in Enterprise Java》,开发者将能够全面理解和运用Java EE的各个方面,为构建复杂的企业级应用打下...

    Thinking in UML 实例

    在实际开发中,还会涉及接口设计、数据库设计、测试策略等多个环节,而UML作为强大的建模语言,可以贯穿整个软件开发生命周期,为团队沟通和项目管理提供便利。 总结来说,"Thinking in UML"实例——网上班级管理...

    thinking in c++ 分章和全书

    - **测试驱动开发**:TDD的理念和实施方法,以及单元测试的重要性。 - **异常安全编程**:确保程序在异常情况下也能正确执行。 - **C++与C的交互**:如何在C++程序中使用C库,以及C++的C语言兼容性。 《Thinking...

    Thinking in Python

    - 介绍了一些基本的Python测试方法和技术,如assert语句的使用、unittest框架等。 3. **自动执行测试**(第47页) - 自动化测试是现代软件开发流程中不可或缺的一部分,它可以帮助开发者持续监控代码的健康状况...

    Lean Thinking with Examples

    实际上,许多敏捷实践,如看板方法、持续集成、测试驱动开发等,都是精益思想在软件开发领域的具体应用。 ### 精益的五大原则 精益思想主要包括五个核心原则,它们指导组织如何发现并消除浪费: 1. **价值**:...

Global site tag (gtag.js) - Google Analytics