《软件测试》--读书笔记

《软件测试》--读书笔记



        为什么要进行测试(测试的目的)?    两个主要原因:1. 反馈(对质量或可接受性做出判断)    2. 找BUG(发现问题)。 具体
来说就是,功能性测试(黒盒的过程)侧重于反馈,确定置信度。而结构性测试(白盒的过程)侧重于查找缺陷。
        通常人们说:“测试的目的就是为了找BUG。” 这句话是否正确呢?答案应该是正确,但不完整。功能性测试的依据是需求规格,
主要目的是对质量、可靠性或是功能实现的有效反馈。次要目的是发现BUG(其实发现错误也是对程序质量的一种反馈)。
        为什么说发现BUG是次要目的呢?1.因为功能性测试本身可发现的缺陷是有限的(这与其依赖需求规格、只关注输入输出有很大
关系,也就是说容易产生遗漏)。2.而发现这些缺陷的成本相对要高(功能性测试很容易产生大量冗余的测试用例)。
       

软件测试的职能划分:
        QA:Quality Assurance ---> 质量保证:关注如何发现并减少开发过程中的错误做法;
        QC:Quality Control       ---> 质量控制:关注发现产品中的缺陷并反馈;
在很多小公司,其实是没有QA的概念的。测试人员只是做测试,而对于过程、方法等等的基本不涉及。


《软件测试》中提供的一个有用的异常列表:

输入/输出缺陷:

        输入:不接受正确的输入、接受不正确的输入、描述有错或遗漏、参数有错或遗漏;

        输出:格式有错、结果有错、在错误的时间产生正确的结果、不一致或遗漏结果、不合逻辑的结果、拼写/语法错误
                    修饰词错误;


逻辑缺陷:

        遗漏、重复、极端条件出错、解释有错、遗漏条件、外部条件有错、错误变量的测试、不正确的循环迭代、错误的操作字;


计算缺陷:

        不正确的算法、遗漏计算、不正确的操作数、不正确的操作、括号错误、精度不够、错误的内置函数


接口缺陷:

        不正确的中断处理、I/O时序有错、调用了错误的过程、调用了不存在的过程、参数不匹配、不兼容的类型、过量的包含


数据缺陷:

        不正确的初始化、不正确的存储/访问、错误的标志/索引值、不正确的打包/拆包、使用了错误的变量、错误的数据引用
        缩放数据范围或单位错误、不正确的数据维数、不正确的下标、不正确的类型、不正确的数据范围、不一致的数据


功能性测试(黒盒):
        功能性测试的固有弱点是漏洞和冗余性:有些内容没有被测试、而另外一些内容被测试多次。

    边界值分析:原理是大量错误出现在输入变量的极值附近。边界值分析的局限性是边界值分析假设变量是完全独立的,当变量存在
                            相互关联时,就容易造成遗漏。

    等价类分析:



结构性测试(白盒):












注:
    Software  Testing    A  Craftsman's  Approach(Second Edition) (美) Paul C.Jorgensen  著   韩柯  杜旭涛  译    机械工业出版社2003.7


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光明矢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值