软件测试系列培训课程之一单元测试_第1页
软件测试系列培训课程之一单元测试_第2页
软件测试系列培训课程之一单元测试_第3页
软件测试系列培训课程之一单元测试_第4页
软件测试系列培训课程之一单元测试_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

软件测试系列培训课程之一单元测试软件测试系列培训课程之一单元测试软件测试系列培训课程之一单元测试目录为什么要单元测试第一个单元测试测试哪些内容讨论一些话题从一个案例开始小萍和小迪共同负责一个项目,项目最后交付的期限越来越近了。小萍每天都在心急火燎的编写代码,写完一个类又写一个类,写完一个函数又接着写另一个函数,还经常不得不停下来做一些调整,使得代码能够通过编译。小萍一直保持着这种工作方式,直到最后期限的前一天。而这时已经到了演示所有代码的时候了。小萍运行了最上层的程序,但是一点输出也没有,什么也没有。这时只好用调试器来单步跟踪了。“鞥,绝不可能是这样的,这个变量绝不是0啊”时间已经越来越晚了,小萍终于找到并且纠正了这个BUG;但在这个过程中,小萍又找到了其他好几个BUG;如此几次之后,BUG还是存在,而程序输出仍然没有结果。小萍已经精疲力尽了,一下子陷入到了无助和无奈的状态。及此同时,小迪并没有像小萍那么快的写代码。小迪在每写一个函数的时候,会附带写一个简短的测试程序来测试这个函数。用这个简单的测试,来验证函数的功能是否和程序员期望的一致。小迪在未对刚写的函数做出确认之前,是不会接着写新代码的。也就是说,只有等到已知函数都得到确认之后,小迪才会继续编写下一个函数。最后期限终于到了,小萍没有能完成任务。而小迪的代码被集成到整个系统中,并且能够很好地运行。什么是单元测试开发者编写的一小段代码,用于检验被测代码的功能是否正确。不写测试的接口1.编写单元测试太花时间了2.运行测试的时间太长了3.测试代码并不是我的工作4.我并不清楚代码的行为,所以也就无从测试5.我写的这些代码都能够编译通过,所以都是没有问题的,没必要测试6.公司请我来是为了写代码,而不是写测试7.如果我让测试员或者QA人员没有工作,那我我会很内疚8.我的公司并不会让我在真实系统中运行单元测试为什么需要单元测试计划你的测试思考一下如何测试下面这个方法:StaticintFindMax(int[]list);比如:给定一个数组[7,8,9],结果应该返回9,这就是一个很合理的测试。除此之外,你还想到了多少测试呢?对于一个给定的List而言,元素的位置对该方法的结果不会产生影响:[7,8,9]→9[9,8,7]→9[8,9,7]→9如果list中有两个相等的最大值呢?[7,9,8,9]→9[7,9,9,8]→9如果list中包含负数,会怎样呢?[-8,-9,-7]→-7如果list中只包含一个数呢[1]建议借助测试工具快速构建单元测试本培训试图抛开语言束缚,旨在让开发人员重视单元测试,执行单元测试测试哪些内容Right-BICEPRight--结果是否正确?B--是否所有的边界条件都是正确的?I--能查一下反向关联吗?C--能用其他手段交叉检查一下结果吗?E--你是否可以强制错误条件发生?P--是否满足性能要求?Right--结果正确如果代码能够正确运行,怎样才能知道它是正确的呢?在写代码之前,应该先明确需求建议先设计测试,然后通过“测试驱动”代码编写。Right--结果正确2.使用数据文件对于大量的测试数据,需要考虑用一个独立的数据文件来存储,然后让单元测试程序读取该文件。B-边界条件找边界条件是做单元测试最有价值的工作之一,因为bug一般就出现在边界上。常见的考虑条件:完全伪造或者不一致的输入数据格式错误的数据空值或者不完整的值一些及意料中的合理值相去甚远的数值如果要求的是一个不允许出现重复数值的list,但是传入的是一个存在重复值的list如果要求的是一个有序list,但是传入的是一个无序的list事情到达的次序是错误的,或者碰巧和期望的次序不一致可能的边界条件CORRECTConformance(一致性)值是否和预期一致Ordering(顺序性)值是否如应该的那样,是有序或者无序的Range(区间性)值是否位于合理的最小值和最大值之内Reference(依赖性)代码是否引用了一些不在代码本身控制范围之内的外部资源Existence(存在性)值是否存在Cardinality(基数性)是否恰好有足够的值Time(相对或者绝对的实践性)所有事情的发生是否是有序的,是否在正确的时刻?是否恰好及时?I-检查反向关联对于一些方法,我们可以使用反向的逻辑来验证。C-使用其他手段交叉检查C-使用其他手段交叉检查用已知可行的手段及被测方法交叉验证是否正确。E-强制产生错误条件P-性能特性优良测试的品质A-TRIP自动化Automatic彻底的Thorough可重复Repea

温馨提示

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

评论

0/150

提交评论