zoukankan      html  css  js  c++  java
  • [读书笔记]软件测试的艺术 Glenford Myers

    软件测试的原则:
    1、测试用例的预期结果必须预先定义。2、彻底检查每个用例的结果而不中途放弃。3、用例应包含无效和未预料的状况。4、不但测试软件是否做了应做的,还要测试有没做不应该做的。5、测试用例使用完后应当保存,方便做“回归测试”。6、在已发现错误部分很有可能发现更多错误。7、应默认软件存在缺陷。

    发现软件缺陷的方法:
    1、代码检查:由开发人员向几个非开发本软件的程序员和测试员讲解代码。缺陷往往由非开发人员提出。
    代码检查不是对程序员的批判。
     
    用于错误检查的常用错误列表
    1、数据引用错误:1-数据未初始化 2-数组越界、数组下标非整数 3-指针所引用的内存是否已经分配、是否内存已被释放而指针还在使用 4-指针被重新赋值时类型是否出错 5-是否所有继承需求都在类的实现中满足
    2.数据声明错误:1-数据的默认声明是否符合要求(尽量所有的数据是人工初始化而不使用默认初始化) 2-变量(一般是数组)的长度和类型是否正确 3-是否存在名称相似的变量(非常容易导致出错)
    3.运算错误: 1-是否存在类型不一致数据之间的运算 2-是否有类型相同而字长不同的数据运算 3-赋值目标变量的长度和精度是否小于等号右面的表达式(截断、溢出) 4-赋值号左右两边的类型是否相等 5-除法中除数表达式是否可能为0 6-特定场合下变量值是否超出了有意义范围 7-混合运算的操作符优先级错误 8-
    4.比较错误:1-有否不同类型之间的比较如字符串与地址等 2-布尔表达式是否存在逻辑错误 3-是否存在布尔与整形的比较 4-布尔运算符的优先级错误 
    5.控制流错误: 1-是否所有循环都得到终止(while) 2-循环执行条件是否从不满足 3-循环是否多一次少一次(for) 
    6.接口错误: 1-实参数量和类型是否跟形参一致 2-
    7.输入输出错误 1-是否有足够大的内存读取文件 2-是否所有文件都在使用前被打开 3-是否所有文件都在使用后被关闭 4-IO出错情况时候被处理 5-打印文本信息中是否存在语法、拼写错误
     
    2、代码走查:与代码检查类似,用简单的测试用例走一篇程序,在讨论和提问中发现问题。
    3、桌面检查:单人进行代码检查。
    4、同行评分:
     
    测试用例的设计:
    1、白盒测试
    白盒测试关注的是测试用例覆盖源代码逻辑机构的程度。更强的是条件覆盖,用例应覆盖每个判断条件的两条分支。所有的函数入口都是用一次。
    等价划分:1、每个测试用例都尽可能地代表更多的状态 2、将输入划分为几个等价类
    边界值分析:1、考虑输入输出中,恰好是边界和边界往前和往后三个部分的用例。
    因果图:
  • 相关阅读:
    Iphone [Tab Bar实现多view切换,Picker,DataPicter实现
    基于socket、多线程的客户端服务器端聊天程序
    C/C++面试题
    Unity3D打Box游戏
    Unity3D项目开发一点经验
    Unity3D使用过程中常见的20个问题
    @property中strong跟weak的区别
    java多线程系列8 高级同步工具(2)CountDownLatch
    java多线程系列7 高级同步工具(1)信号量Semaphore
    java多线程系列6 synchronized 加强版 ReentrantLock
  • 原文地址:https://www.cnblogs.com/iyjhabc/p/2987479.html
Copyright © 2011-2022 走看看