`
opensdp
  • 浏览: 78529 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

单元测试还是功能测试?

 
阅读更多

Cedric Beust,  TestNG 测试框架的作者, 在他最近的一篇blog" Unit or functional? "说,

尽管在过去的几年里单元测试得到了大量的注意,但功能性测试却是让你的应用程序按照客户的期望运转的最终保证.

Beust 通过一个例子解释了这个观点,这个例子中程序在单元测试中获得通过,但在功能测试中却显示有个错误. 因为最终用户只关心程序功能,Beust说,

理想状况下,你希望你的程序既能被单元测试覆盖,也能被功能测试检测,但如果工期紧张,你只能选择其中之一,我...还是推荐后一种(因为它是为用户服务的),然后顺着走下去,在你认为合适的地方实现一些单元测试.

Beust同时指出,在一个测试套件里需要由功能测试和单元测试两部分共同组成,单元测试经常服务于功能性能测试失败的精确定位:也就是说,单元测试主要是对开发人员有用,但功能性测试却是测试用户们所关心的.

根据Beust所说,一个由功能测试和单元测试共同组成的测试套件本质上会具有超过100%的测试覆盖率:

超过100%? 可能吗? 我知道这个听起来有点怪,它却很简单的表明在这个类中运行所有的这些测试也许会让你的主程序里的某部分多跑好几次,但却不是一件没有价值的事情. 从另外一种方式考虑,只进行[功能性测试]也会得到100%的覆盖率,等价于只运行[单元测试].

当你的项目进度压力大时,什么样的测试你认为可以先放弃? 什么样的测试在你发布程序前必要要进行?

本文由 外刊IT评论     奉献

----


分享到:
评论
1 楼 lane_cn 2007-04-25  
TDD实际上是一种设计和编码的方式,单元测试不是测试人员的任务,而是设计者和编写代码的人应该关心的东西。

尽管好的单元测试也是基于用例进行的,但是这样的测试毕竟太细节了。并且完全基于业务逻辑来写单元测试代码也是很难的,毕竟还有物理设计的制约。

功能测试肯定是不能缺少的。

相关推荐

    单元测试实施规程 软件单元测试

    单元测试实施规程是软件开发过程中一个关键的质量保证环节,它旨在确保软件的每个独立模块都能按照预期的功能正确运行。以下是对这一规程的详细说明: 1. **目的**:单元测试的主要目的是验证软件的各个模块(任务...

    精心汇总的5类软件模版下载(单元测试计划、单元测试报告、测试方案、功能测试报告、性能测试报告)

    本资源包精心汇总了五类重要的软件测试文档模版,包括单元测试计划、单元测试报告、测试方案、功能测试报告以及性能测试报告,这些都是软件测试工作中不可或缺的部分。 1. **单元测试计划**: 单元测试计划是软件...

    Tessy单元测试提高软件质量

    Tessy工具是一种功能强大且易于使用的单元测试工具。使用Tessy工具,可以快速地执行单元测试,检测软件中的错误和缺陷。Tessy工具提供了多种测试方法和测试报告功能,帮助开发人员快速地检测和修复软件中的错误和...

    单元测试说明模板

    在单元测试设计中,我们将使用JUnit测试套件来进行批量测试,并且使用参数化测试功能来确保测试的可靠性和效率。在测试模型设计中,我们将使用测试组网图和操作流程来描述测试的过程和步骤。 在单元测试规格中,...

    软件单元测试入门与实践,软件单元测试入门与实践 周立功,C,C++

    综上所述,“软件单元测试入门与实践”这本书是C和C++开发者学习单元测试的理想资源,无论你是初学者还是经验丰富的工程师,都能从中受益。通过深入理解和实践书中的内容,你将能够更有效地确保代码质量,提升开发...

    深入解析Rails测试策略:单元测试与功能测试的区别

    单元测试和功能测试是Rails中两种主要的测试类型,它们在目的、范围和实现方式上有所不同。本文将详细探讨Rails中单元测试和功能测试的区别,并提供实际代码示例。 单元测试和功能测试是Rails测试策略的两个重要组成...

    .Net 单元测试案例

    单元测试允许开发者独立地测试代码的各个部分,确保每个功能模块都能按预期工作。本案例将深入探讨如何在.NET环境中进行单元测试,以及如何利用各种工具和框架来创建和执行这些测试。 首先,我们要理解单元测试的...

    单元测试实例(C#版)

    (C#语言版)单元测试实例,主要功能包括:(1)输入数据到textbox,以逗号间隔,然后求数组最大值、求和,并将结果显示出来,并针对于数组求最大值函数和求和函数写单元测试代码;(2)连接数据库,写出单元测试代码来测试求...

    单元测试、集成测试、系统测试的区别?

    - **单元测试**侧重于测试单个模块的功能和逻辑,是基于白盒测试的思想进行的。 - **集成测试**关注于不同模块之间的接口和交互,基于灰盒测试的方法进行。 - **系统测试**则从最终用户的视角出发,全面验证软件的...

    单元测试报告模板.doc

    《×××单元测试报告》是对软件开发过程中某一模块或组件进行独立验证的文档,它详细记录了单元测试的过程、结果以及可能遇到的问题。单元测试是软件开发中的关键环节,旨在确保代码的各个部分按预期工作,从而提高...

    Android单元测试的小例子

    8. **Testing Best Practices**:编写单元测试时,遵循一些最佳实践很重要,比如“测试单一职责”(每个测试方法只测试一个功能)、“先写测试再写代码”(TDD,Test-Driven Development)以及保持测试可读性和可...

    白盒测试方法与单元测试

    当进行单元测试时,开发者或测试人员会编写小规模的测试用例,这些用例直接针对代码的特定部分进行,而白盒测试提供了一种方法来深入这些代码的内部,确保其逻辑正确性。 白盒测试的分类包括多种方法: 1. **代码...

    单元测试

    单元测试是一种软件开发过程中的重要环节,主要用于验证代码的各个最小可测试单元,如函数、方法或类,是否能够按照预期工作。通过编写自动化测试用例,开发者可以在修改代码后快速检查新变更是否引入了错误,确保...

    lua单元测试框架测试用例实例

    Busted是一个流行的Lua单元测试框架,它提供了简洁的语法和丰富的功能,使得编写和运行测试用例变得简单易行。Busted的主要特点包括: 1. **断言库**:Busted提供了一套丰富的断言函数,如`assert.is_true`,`...

    JUnit单元测试原则 单元测试工具

    - 编写单元测试程序来验证组件的功能是否符合预定义的要求。 - 测试应覆盖各种正常和异常情况。 4. **编写组件并执行测试**: - 创建类及其对应的方法。 - 逐一为每个测试实例编写代码,确保它们能够通过测试。...

    C++单元测试简单示例

    在压缩包中的"单元测试示范"可能包含了一个或多个测试文件,每个文件代表一个测试套件,里面包含了针对特定功能或类的多个测试用例。通过查看这些示例,你可以看到如何实际应用上述概念,如定义测试用例、编写断言...

Global site tag (gtag.js) - Google Analytics