软件测试级别单元测试_第1页
软件测试级别单元测试_第2页
软件测试级别单元测试_第3页
软件测试级别单元测试_第4页
软件测试级别单元测试_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试级别-单元测试单元测试在软件系统中,系统对象的基本组成单元称为组件或程序单元。程序代码中的函数或者类称为单元,或者实现某个独立需求的功能模块,称为组件/单元。组件可能由多个单元组成。组件/单元测试(unittesting)是针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的测试工作,其目的是检测被测组件/单元与详细设计说明书的符合程度。通过组件/单元测试活动验证被测对象的功能特性或非功能性特性,发现其可能存在的内存泄露、算法冗余、分支覆盖率低、循环调用效率低等问题,此类缺陷在系统测试层面很难发现。因此,组件/单元测试能够尽早地发现缺陷,修复缺陷成本相对较低。组件/单元测试一般由开发人员负责,成本较高。在敏捷研发模型中,测试工程师也可能需要实施此测试活动。组件/单元测试活动亦可以使用自动化测试方法。单元测试组件/单元测试活动依据包括组件/单元需求说明、详细设计文档、被测代码、编程规范等,典型的测试对象一般有组件、函数、类、数据转换/移植程序、数据库模型、关键字典等,关注被测对象内部数据结构、逻辑控制、异常处理等实现的正确性。例如,一个计算器软件具有加、减、乘、除4种基本功能,对其实现单元测试,利用Junit单元测试工具实施如下。单元测试计算器功能代码:packagecom.test.junit3;publicclassCalculator{

publicstaticvoidmain(String[]agrs) { }

publicintadd(inta,intb) {

returna+b; }

publicintminus(inta,intb) {单元测试-案例分析

returna-b; }

publicintmulti(inta,intb) {

returna*b; }

publicintdivd(inta,intb)throwsException {

if(b==0) {

thrownewException("除数不能为0!"); }

returna/b; } }单元测试-案例分析单元测试代码:packagecom.test.junit3;importjunit.framework.Assert;importjunit.framework.TestCase;publicclassCalculatorTestextendsTestCase{

publicvoidtestAdd() { Calculatorcal=newCalculator();

intresult=cal.add(1,2); Assert.assertEquals(3,result); }

publicvoidtestMinus() { Calculatorcal=newCalculator();

intresult=cal.minus(1,2);单元测试-案例分析

Assert.assertEquals(-1,result); }

publicvoidtestMulti() { Calculatorcal=newCalculator();

intresult=cal.multi(1,2); Assert.assertEquals(2,result); }

publicvoidtestDivd()throwsException { Calculatorcal=newCalculator();

intresult=cal.divd(4,1); Assert.assertEquals(4,result); }}单元测试-案例分析测试结果如图所示。单元测试-案例分析从上述案例可以看出,除法功能测试失败,期

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论