测试案例梳理

测试的关键问题是()
    如何选择测试用例、
    

项目立项后,对项目进行需求分析后,开始着手编写测试用例;

先通过xmind直接整理测试点
再通过Excel直接编写

测试案例的管理软件:
    禅道
    jira
    bugfree
    github    
    redmine
    QC


测试用例重要的作用:
    技术上将需求转化为具体可验证的指标
    以文档的形式记录软件可能存在的问题
    防止测试过程的活动出现遗漏,提高工作效率
    测试工作量的展示


如何编写测试用例:
    常规思考,设身处地的从用户角度出发
    测试理论方法的支撑
    产品的熟悉和经验的积累

软件质量模型特性说明:
    功能性:功能有没有,好不好用     
    性能效率:对应系统的资源耗费程度及响应时间     
    易用性:容易理解、学习、使用      
    兼容性:能够兼容不同的软硬件平台
        不同浏览器显示与操作
        相同浏览器不同版本
        不同移动设备不同浏览器
        不同分辨率
        
    可靠性:不易出问题,万一出问题容易恢复    
    安全性:对于用户的安全保障(外在的人生安全、内在的信息安全等) 
        密码存储加密
        密码传输加密
         密码有效期
        直接输入已经登录的URL
        密码复制粘贴
        密码信息源码查看
        输入“sql"注入
        多次登录失败提示
        同一用户同一终端多浏览器登录
                
    可移植性:能否在不同环境条件下无故障运行    
    可维护性:对于后期的修复维护是否方便快捷

软件测试用例主要由
    测试输入数据和
    测试的预期结果
 


测试用例的组成元素:
    用例编号
    用例标题
        字数不能太多
        概括性-看到标题就能清楚这条用例测试点是什么
        不能歧义性
    功能模块名称
    前置条件
    输入数据
    操作步骤
    预期结果
    优先级
    执行结果
    编写人
    执行人
    
    
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试。
    白盒测试是基于代码的测试,通过程序代码或者通过开发工具找出软件的缺陷。
    白盒测试总体上分为两大类为
        动态分析:代码运行结束后。模块功能检查和系统压力测试,必须执行代码后才能分析。
        静态分析:代码运行之前。数据流分析和代码覆盖率,不需要执行代码就可分析。
        静态测试包括
            代码检查、
            静态结构分析、
            代码质量度量等。
            它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。
                人工测试技术主要包含三种静态测试技术,分别是走查、审查和正式评审。
                编码规则检查
                程序结构分析
                程序复杂度分析
    白盒测试的主要方法有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等。
        白盒测试法的覆盖标准有
            逻辑覆盖、   (六种覆盖标准发现错误的能力呈由弱到强的变化:语句覆盖<判定覆盖<条件覆盖<语句/判定覆盖<条件组合覆盖<路径覆盖)
                语句覆盖
                判定覆盖
                条件覆盖
                判定/条件覆盖
                条件组合覆盖
                路径覆盖
            循环覆盖、
            基本路径测试。
                基本路径V(G)
                1、V(G)=P+1 (P是判定节点)
                2、V(G)=D (D是区域数)
                3、V(G)=E-N+2(E是边的条数,N是节点数)
        
        1.语句覆盖---每条语句至少执行一次。
            例子1:使用语句覆盖对下列代码进行测试用例设计时,需要设计 2 个测试用例
                public  static void Test(int a, int b, int c)
                    {
                        if ((a > 1) && (c == 0))
                            b = b / a;
                        if ((a == 1) && (b > 1))
                            b = b + 1;
                    }
                    
            例子2:只要看见switch就要注意每个case后有没有break,请注意,语句覆盖,case2没有break,因此case2和case3可以同时在value=2时得到覆盖   

        2.判定覆盖---每个判定的每个分支至少执行一次。
            用判定覆盖设计的测试数据:(2)
                 a=5 (判定表达式的值为“真”)
                 a=0 (判定表达式的值为“假”)
                 这里不需要管b的取值,就已经满足判定覆盖的条件了。
            以下程序至少需要( )个测试用例,才可以满足判断覆盖
                if(x && y){....}
                    else{....}    
                    
        3.条件覆盖---每个判定的每个条件应取到各种可能的值。
            例子1:用条件覆盖设计的测试数据:(4)
                语句if(a>5 && b<0)满足条件组合覆盖需要设计测试用例的个数为
                    a=5 (条件a>1的值为“真”)
                    a=0(条件a>1的值为“假”)
                    b=5 (条件b>1的值为“真”)
                    b=0 (条件b>1的值为“假”)
                    这里不考虑 a>1 or b>1 这个表达式的取值的情况,但必须把a>1 和 b>1 这两个条件的取值考虑全。   
       

            
        4.判定/条件覆盖---同时满足判定覆盖条件覆盖。
             例子1:针对程序段:IF(A||B||C)THEN  W=W/X,对于(A,B,C)的取值,( )测试用例能够满足MCDC(修正条件逻辑判定)的要求。
                 (A||B||C)一共有2^3=8,8种2组合,但是因为是或,or 或语句只要判断前面的,
                  若第一项为T,后面无论是啥,都为真,(T X X)  =(T T F)=(T T T)=(T F F)=(T F T)等效    4种
                  若第一项为F,则判断第二项,第二项为T,则后面无需判断,(F T X)   =(F T F)=(F T T)等效    2种
                  第二项为F,则判断第三项,第三项为T      (F F T)     1种
                  第二项为F,则判断第三项,第三项为F      (F F F)     1种
                  (T,F,F) (F,T,F) (F,F,T) (F,F,F)
    


        5.条件组合覆盖---每个判定中各条件的每一种组合至少出现一次。
            为下列代码设计测试用例,要求满足条件组合覆盖,需要设计测试用例的个数为(4个)
                BEGIN
I               NPUT(A,B)
                IF(A>5)AND(B<O)
                THEN
                X=A+B
                ELSE
                X=A-B
                END
                    都符合,都不符合,一个符合一个不符合(有两种情况)。
        6.路径覆盖---使程序中每一条可能的路径至少执行一次。
            

黑盒测试
    测试用例设计方法:
        等价类划分法:
            分类:
                有效等价类
                无效等价类(一条测试用例只能包含一个无效等价类)
            等价类划分的原则:
                按区间划分
                    按数据集合划分
                    按数据布尔值划分
                    按数值划分
                    按限制条件或规则划分
                    按细分等价划分
            举例:(手机号码输入验证)
                  输入数据类型                        划分等价类规则
                手机个数(11位)              1个有效等级类(11个数字)           无效等价类(大于或者小于11个数字)
                集合(手机号都是数字组成)                 (正确的数字集合)               (非数字:包括字母,汉字,特殊字符)
                符合某些规则的输入(手机号首位为1)        (首位为1)                      (首位不为1)
                取值范围
                布尔值
         
        边界值分析法:   
            边界值分析的值:(例如:输入框的输入数据范围为3-6(包含3和6),则内点是4,5;上点是3,6;离点是2,7。)  
                内点:域内的任意点都是内点
                上点:指边界上的点,无论此时域是开区间还是闭区间,上点就是域的上限与下限值
                离点:指的就是离上点最近的点,这里就跟闭区间还是开区间就有关系了,如果是开区间,那么离点就在域内,如果闭区间,那么离点就在域外(开内闭外)    
        
        
        判定表法:
            判定表法设计用例——规则数:2的n次方(n是条件数)
            条件数:4 —> 规则:16
            条件数:5 —> 规则:32
            条件数:6 —> 规则:64
            条件数:7 —> 规则:128

………
                举例:支付宝个人账户注册——验证用户名需求:
                    条件桩      
                        第一项输入手机号码
                        第一项属于电子邮箱
                        第二项输入正确的验证码
                    动作桩
                        报错l
                        填写账户信息
                        报错m
        
        因果图:
            考虑所有输入/输出条件的相互制约关系以及组合关系
            考虑输入条件之间的依赖关系
            再根据分析的关系来转化为判定表的规则
        
        
        状态迁移:
            例子:飞机售票系统
                路径1:预订—已取消
                路径2:预订—已支付—已取消
                路径3:预订—已支付—已出票—已取消
                路径4:预订—已支付—已出票—已使用
            
        
        场景法:
            软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
            重要概念:
                基本流
                备选流
                异常流
        
        
        
        正交试验:
            条件:因子 取值:水平。
        
        
        
        
        决策表
        错误推测法    


bug的管理:
    bug生命周期:
    一般:
        新建->指派->已解决->待验->关闭。
        重新打开(激活)->指派->已解决->待验,循环这个过程。中间还包括其他状态:拒绝、延期等        
        bug的跟踪:
            已经指派的bug
            已解决的bug
            重复bug
            不是缺陷
            无法重现
            不予解决
            无法重现
            不予解决
            设计如此
            延期修改
            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值