软件测试面向对象测试技术课件.ppt

软件测试面向对象测试技术课件.ppt

ID:57050641

大小:82.00 KB

页数:20页

时间:2020-07-28

软件测试面向对象测试技术课件.ppt_第1页
软件测试面向对象测试技术课件.ppt_第2页
软件测试面向对象测试技术课件.ppt_第3页
软件测试面向对象测试技术课件.ppt_第4页
软件测试面向对象测试技术课件.ppt_第5页
资源描述:

《软件测试面向对象测试技术课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、12.4设计测试用例一、测试类的方法面向对象的单元就是类,类的测试又被称之为单元测试。类测试的目的主要确保一个类的代码能够完全满足类的说明所描述的要求。1、随机测试随机测试是没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。举例一个银行类Account:属性:balance(账户余额)和creditLimit(透支额)其操作有:open()打开账户、setup()建立、deposit()存款、withdraw()取钱、balance()查

2、询余额、summarize()操作清单、close()关闭账户从上列序列可以随机产生一系列不同的操作序列,例如:测试用例#r1opensetupdepositdepositbalancesummarizewithdrawclose从上列序列可以随机产生一系列不同的操作序列,例如:测试用例#r2opensetupdepositwithdrawdepositbalancecreditLimitwithdrawclose2、划分测试这种测试可以减少用完全相同的方式检查类测试用例的数目。这很像传统软件测

3、试中的等价类划分测试。划分测试又可分三种:基于状态的划分,按类操作是否改变类的状态来划分(归类);基于属性的划分,按类操作所用到的属性来划分(归类);基于类型的划分,按完成的功能划分(归类)。举例一个银行类Account:属性:balance(账户余额)和creditLimit(透支额)其操作有:open()打开账户、setup()建立、deposit()存款、withdraw()取钱、balance()查询余额、summarize()操作清单、creaditLimit()透支限额close()

4、关闭账户举例基于状态划分就是根据它们改变类状态的能力对类操作进行划分。考虑Account类,状态操作包括deposit()、withdraw(),非状态操作包括balance()、summarize()、creaditLimit()。将给改变状态的操作和不改变状态的操作分别进行测试。因此:测试用例a:open→setup→deposit→deposit→withdraw→withdraw→close测试用例b:open→setup→deposit→summrize→creaditLimit→ba

5、lance→withdraw→close举例基于属性划分就是根据它们所使用的属性进行划分。对于account类来说,可以使用属性balance来定义划分,从而把操作划分成3个类别:使用balance的操作;修改balance的操作;不使用也不修改balance的操作。然后,为每个类别设计测试序列。举例基于功能的划分根据类操作所完成的功能来划分类操作。例如,可以把account类中的操作分类为初始化操作(open,setup),计算操作(deposit,withdraw),查询操作(balance

6、),终止操作(close)。然后为每个类别设计测试序列。3、基于故障的测试基于故障的测试是首先推测软件中可能有的错误,然后设计出最可能发现这些错误的测试用例。例如,软件工程师经常在问题的边界处犯错误,因此,在测试SQRT操作时,应该着重检查边界情况:一个接近零的负数和零本身。把语句if(x>=0)calculate_square_root();误写成if(x>0)calculate_square_root();例如:inti,a[10];for(i=0;i<=10;i++){a[i]=0;}二、

7、集成测试方法集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。集成测试的目的1.各个子功能组合起来,能否达到预期要求的父功能;2.一个模块的功能是否会对另一个模块的功能产生不利的影响;3.全局数据结构是否有问题;4.单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。需求描述被测试段代码实现的功能是:如果a>b,则返回a,否则返回a/b被测试段代码由两个函数实现,分别是intmax(inta,intb,char

8、*msg)voiddivide(int*a,int*b)divide函数实现a/b功能,max函数实现其他对应功能,并进行结果输出intmax(inta,intb,char*msg){chardsp[20];/*声明一个大小为20的char型数组*/if(a<0

9、

10、b<0)/*如果a和b中有一个数不是正数*/return-1;/*则直接返回*/if(a>b)/*如果a大于b,*/;/*什么也不做*/elsedivide(&a,&b);sprintf(dsp,”%s%d”,msg,a);print

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。