单元測试用例概述

摘要:
通过上述方法,可以实现测试用例的逻辑覆盖和路径覆盖。预期输出完整的测试用例应该具有预期输出。预期输出是程序执行后的预期结果。通常,表会更改一些数据,即预期输出应主动推断程序重写的数据的结果值是否符合预期。

測试的覆盖种类
        1.语句覆盖:语句覆盖就是设计若干个測试用例,运行被測试程序,使得每一条可运行语句至少运行一次。
        2.判定覆盖(也叫分支覆盖):设计若干个測试用例,运行所測程序,使程序中每一个推断的取真分支和取假分支至少运行一次。
        3.条件覆盖:设计足够的測试用例,运行所測程序,使程序中每一个推断的每一个条件的每一个可能取值至少运行一次。
        4.判定——条件覆盖:设计足够的測试用例,运行所測程序,使程序中每一个推断的每一个条件的每一个可能取值至少运行一次,而且每一个可能的推断结果也至少运行一次。
        5.条件组合測试:设计足够的測试用例,运行所測程序,使程序中每一个推断的全部条件取值组合至少运行一次。
        6.路径測试:设计足够的測试用例,运行所測程序,要覆盖程序中全部可能的路径。
        用例的设计方案基本的有以下几种:条件測试,基本路径測试,循环測试。通过上面的方法能够实现測试用例对程序的逻辑覆盖,和路径覆盖。

測试的目的是检查程序的行为是否符合设计规格,程序的行为就是某种输入时会产生什么输出,因此,一个典型的測试用例完毕下面工作:设定输入数据、执行程序、验证输出是否符合预期。

函数的输入数据一般包含:
A、參数;
B、成员变量,仅仅考虑函数须要读取的成员变量;
C、全局变量,仅仅考虑函数须要读取的全局变量;
以上三项,当涉及到复杂数据类型时,仅仅考虑函数须要读取的域,比如,一个结构对象,有十个域,而函数仅仅读取当中一个域,则不必考虑其它九个域。
D、其它数据,如函数须要读取文件或数据库中的数据,则要先在文件或数据库中设置好这些数据。

显然,全部可能输入都进行測试,既不可能也无意义,我们应该用一定的规则选择有代表性的数据作为输入。输入可分为三大类:正常输入,边界输入,非法输入,每大类还可再分为若干小类,划分小类的根据是:同一小类中每一个数据都具有等价的測试效果,也就是说,小类中取任取一个数据作为输入,假设測试通过,能够肯定同小类的其它输入也能够測试通过,这就是寻常说的“等价类法”。

正常输入

比如字符串的Trim函数,功能是将字符串前后的空格去除,那么正常的输入能够有四类:
前面有空格;
后面有空格;
前后均有空格;
前后均无空格。

边界输入
上例中空字符串能够看作是边界输入。
再如一个表示年龄的參数,它的有效范围是0-100,那么边界输入有两个:0和100。

非正常输入
垃圾数据或使代码不能完毕正常功能的数据,如一个文件操作的函数,非正常输入有这么几类:
文件不存在;
文件夹不存在;
文件正在被其它程序打开;
权限错误。

预期输出
一个完整的測试用例应该有预期输出,预期输出就是程序执行后的预期结果,通常表如今对某些数据的改动,即预期输出要自己主动推断程序所改写的数据的结果值是否符合预期。程序可能改动的数据包含:
A、返回值;
B、输出參数;
C、成员变量,仅仅考虑函数所改写的成员变量;
D、全局变量,仅仅考虑函数所改写的全局变量;
以上四项,当涉及到复杂数据类型时,仅仅考虑函数所改写的域,比如,一个结构对象,有十个域,而函数仅仅改写了当中一个域,则不必考虑其它九个域。
E、其它数据,如函数改写文件或数据库中的数据,也是一种输出,只是通常难于自己主动推断是否符合预期,可用人工查看来取代。 
 

Test Case Template

 

┏━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
用例编号     │     BOSS_ FS_ MARKETING_NEW_01P               
┠──────┼───────────────────────────┨
測试优先级  高(还有较高、中、较低、低几个等级)             
┠──────┼───────────────────────────┨
用例摘要    新增营销记录                     
┠──────┼───────────────────────────┨
測试类型    功能性測试(相应还有安全性測试等)                       
┠──────┼───────────────────────────┨
用例类型    基本事件(相应还有备选事件异常事件)                    
┠──────┼───────────────────────────┨
用例设计者  songfun                                                    
┠──────┼───────────────────────────
设计日期    2005-04-25                                                 
┠──────┼───────────────────────────┨
相应需求编号REQ_ MARKETING_NEW_01                            
┠──────┼───────────────────────────┨
相应UI       Marketing.htm                                               
┠──────┼───────────────────────────┨
相应UC     UC_ MARKETING_NEW_01                              
┠──────┼───────────────────────────┨
版本      Build v0.1                                                    
┠──────┼───────────────────────────┨
相应开发者Frank                                                       
┠──────┼───────────────────────────┨
前置条件    操作员登录营销管理系统                                     
┠──────┼───────────────────────────┨
測试方法    等价类划分(相应还有错误推測法边界值分析等)           
┠──────┼───────────────────────────┨
输入数据     username:51testing 性别:男金额:10描写叙述:aaaaaaa             
┠──────┼───────────────────────────┨
运行步骤    .进入【营销下发】页面;                                        
             .点击『添加』button;                                            
             .输入相应数据;                                            
             .点击『确定』button;                                            ┃ 
             .在后台数据库(test/test@testDB)输入查询语句验证:        
               select * from MarketingTab where ID='1001'                 
                                                                          
┠──────┼───────────────────────────
预期输出    .运行步骤后,页面弹出加入成功提示信息框;               
             .运行步骤后查询数据库,记录确实加入成功且数据无误   
                                                                          
┠──────┼───────────────────────────┨
实际结果     符合预期                                                   
┠──────┼───────────────────────────┨
測试日期    2005-05-01                                                 
┠──────┼───────────────────────────┨
结论                                                                      
┗━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
測试用例制定的原则

測试用例要包含欲測试的功能、应输入的数据和预期的输出结果。測试数据应该选用少量、高效的測试数据进行尽可能完备的測试;基本目标是:设计一组发现某个错误或某类错误的測试数据,測试用例应覆盖方面:

1、    正确性測试:输入用户实际数据以验证系统是满足需求规格说明书的要求;測试用例中的測试点应首先保证要至少覆盖需求规格说明书中的各项功能,而且正常。

2、    容错性(健壮性)測试:程序可以接收正确数据输入而且产生正确(预期)的输出,输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示并进行对应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行随意操作。

3、    完整(安全)性測试:对未经授权的人使用软件系统或数据的企图,系统可以控制的程度,程序的数据处理可以保持外部信息(数据库或文件)的完整。

4、    接口间測试:測试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。

5、    数据库測试:根据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行測试。

6、 边界值分析法:确定边界情况(刚好等于、稍小于和稍大于和刚刚大于等价类边界值),针对我们的系统在測试过程中主要输入一些合法数据/非法数据,主要在边界值附近选取。

7、 压力測试:输入10条记录执行各个功能,输入30条记录执行,输入50条记录运行。。。进行測试。

8、等价划分:将全部可能的输入数据(有效的和无效的)划分成若干个等价类。

9、错误猜測:主要是依据測试经验和直觉,參照以往的软件系统出现错误之处。

10、效率:完毕预定的功能,系统的执行时间(主要是针对数据库而言)。

11、可理解(操作)性:理解和使用该系统的难易程度(界面友好性)。

12、可移植性:在不同操作系统及硬件配置情况下的执行性。

13、回归測试:依照測试用例将全部的測试点測试完成,測试中发现的问题开发者 已经解决,进行下一轮的測试。

14、比較測试:将已经发版的相似产品或原有的老产品与測试的产品同一时候执行比較,或与已往的測试结果比較

说明:针对不同的測试类型和測试阶段,測试用例编写的側重点有所不同。

1、  当中第1、2、6、8、9、13项为模块(组件、控件)測试、组合(集成)測试、系统測试都涉及并重点測试的方面。

2、  单元(模块)測试(组件、控件)測试:重点測试第5项。

3、  组合(集成)測试:重点进行接口间数据输入及逻辑的測试,即第4项。

4、  系统測试:重点測试第3、7、10、11、12、14项。

5、  当中压力測试和可移植性測试假设是公司的系列产品,能够选用当中有代表性的产品进行一次代表性測试就可以。

6、  GMPS基础測试用例设计完毕后,其它的測试项目仅仅编写设计与之不同部分的測试用例。

7、  对于每一个測试项目測试的測试用例不是一成不变的,随着測试经验的积累或在測试其它项目发现有測试不充分的測试点时,能够不断的补充完好測试项目的測试用例。

免责声明:文章转载自《单元測试用例概述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇项目版本控制工具VSS介绍--转载centos7没有netstat命令的解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

常用的软件测试方法

随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强;选择合适的软件测试方法可以让我们事半功倍。以下是一些常用的软件测试方法:   β测试_Beta测试   β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。   β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试...

软件测试理论1

软件测试理论知识点 第一天 1、按是否查看程序内部结构分为:(1)黑盒测试(black-box testing):只关心输入和输出的结果(2)白盒测试(white-box testing):去研究里面的源代码和程序结构2、按是否运行程序分为:(1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在...

边界值(极值)

一、定义:边界值是指对于输入等价类和输出等价类而言稍高于其边界值及稍低于其边界值的一些特定情况。 边界值分析法也是常用的的黑盒测试方法。(大量的错误是发生在输入或输入范围边界上,而不是在输入的范围内部) *注意:有效和无效的分界点,往往是程序的判定点,是程序中最容易出错的地方,也是测试人员重点的测试内容 二、-如何解决这类问题 --找到测试数据的边界点,也...

软件测试学习随笔(3) 等价类划分之三个输入框

     在上一篇博客中使用了一个例子来说明等价类划分的方法,今天将在这篇博客中对这个程序的改进版进行测试。首先先来看一下改进版的截图:                     在原来一个输入框的基础上增加了为三个输入框,每个输入框的输入要求和原来的一样,即允许输入1-6个英文字符或数字。然后我们将对它进行测试            等价类划分如下:...

等价类划分法设计测试用例

等价类划分法是一种典型的黑盒测试用例设计方法。采用等价类划分法时,完全不用考虑程序内部结构,设计测试用例的唯一依据是软件需求规格说明书。 等价类 所谓等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。等价类又分为有效等价类和无效等价类。有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入(即不正确的输入值)。有效...

等价类划分方法的应用(二)

等价类划分方法的应用(二) 题目: 三个EditBox,全部值允许输入1-6个英文字符或数字,按OK结束。 以输入条件划分等价类: 输入的字符串必须满足以下条件: 条件1:第一行长度1-6 条件2:第一行字符为'0'-'9'或'a'-'z'或'A'-'Z' 条件3:第二行长度1-6 条件4:第二行字符为'0'-'9'或'a'-'z'或'A'-'Z' 条件...