软件测试实验学习笔记系列3--单元测试

发表于:2013-8-06 11:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiajian2010    来源:51Testing软件测试网采编

  单元测试

  从软件测试V模型,单元测试是软件测试的基础,四个方面看出单元测试的重要性:

  1.时间方面—系统集成节约很多的时间

  2.测试效果--单元测试是测试阶段基石,能够发现深层次的问题

  3.测试成本--单元测试阶段问题容易发现

  4.产品质量--单元测试好坏影响软件产品的质量.

  图1:软件测试V模型

  软件代码越來越多,软件单元越來越多,单元代码越來越复杂。现代编程语言是的单元测试自动化实现变得可能。XUnit框架是eXtreme Programming(XP) 的核心概念。

  单元测试工具的一个重要的功能就是测试自动化,测试自动化的基础就是测试框架。最典型和最流行的单元测试是以JUnit测试框架为基础的xUnit测试框架。

  XUnit根据语言不同可以分为:JUnit(Java),CppUnit(C++),DUnit(Delphi),NUnit(.Net),PhpUnit(PHP)

  按类型不同可以分为:JFCUnit(GUI测试),HttpUnit(对web应用访问进行测试),JWebUnit(对HttpUnit的抽象封装),StrutsTestCase(基于JUnit的Struts应用测试框架),HtmlUnit

  1xUnit单元测试框架

  测试软件开发过程中必不可少的一部分,是软件质量保证的重要手段。测试对象:代码,需求文档,设计文档.代码测试:单元测试,集成测试,系统测试和验收测试。eXtremeProgramming—单元测试—xUnit测试框架。TDD以测试为开发中心,XP开发者大多使用开源的测试框架-xUnit家族。

  Xunit框架的主要优点是提供了一个自动测试的解决方案。自动测试概念很重要,有了自动测试,我们就可以在开发软件项目中实施持续集成。

  1.1xUnit介绍

  KentBeck—Smalltalk Sunit—Erich Gamma-- Junit

  框架结构表现的概念--->xUnit:一些简单的编写测试的规则--->移植到三十多种语言中(Python,C++,.NET,Html, JavaScript ,Ruby等)

  xUnit是一个基于测试的单元测试框架,运行测试用例,反馈测试结果以及记录测试日志的一系列基础软件设施。TestCase,TestSuite,TestResult,xUnit.framework.Assert,TestResult,TestListener,TestRunner.

  图2,xUnit 测试框架

  Xunit的原则:

  先编写测试代码,然后编写符合测试的代码

  测试代码不需要覆盖所有的细节,但是需要覆盖主要的功能和可能出错的地方

  发现Bug后,首先编写对应的测试用例,然后在进行调试

  不断总结出现Bug的原因,对其他代码也编写相应的测试用例

  每次编写完代码后,运行所有以前的测试用例,验证对以前的代码的影响,并把这种影响尽早消除

  不断维护测试代码,保证代码变动后能通过所有测试

  xUnit测试框架包括的4大要素:

  测试Fixtures:是一组认定为被测对象或被测程序单元测试成功的预订条件或预期结果的设定。Fixture就是被测试的目标。

  测试集(TestSuite):一组测试用例,这些测试用例要求相同的测试Fixtures,从而保证不会出现管理的上的混乱

  测试执行:单元测试的执行-setUp()-->执行测试动作-->tearDown()

  测试断言(Assert):实际上就是验证被测程序在测试中的行为或状态的一个宏或者函数,断言失败会引发异常,终止测试的执行。

  测试用例的编写:初始化Fixture-->按照某个测试功能和流程对Fixture进行操作-->验证结果是否正确-->对Fixture相关的资源进行释放

51/512345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号