ddxiang 发表于 2017-12-16 15:29:28

《探索式软件测试》读书心得

关于探索性测试的几个点:
1、探索性测试并不是不需要测试用例,不需要写文档。测试结果、测试实例和测试文档是在运行测试时创建;
2、探索性测试最适合于“敏捷开发过程”,程序开发周期短,将更多的时间投入实际测试而不是维护那些测试实例;
3、探索性测试要重点避免盲目测试——漫无目的地尝试各种情况试图发现软件缺陷,这会浪费大量的时间;
4、明确到底要测什么,怎么测试非常重要。就像一个游客新到一座城市,盲目彷徨想碰巧找到景点一样是比较困难的,这时候就需要一个向导,而探索性测试方法就是充当向导的角色;
5、探索性测试和脚本测试相辅相成,是一种互补的关系,关键在与发现位于两者之间的平衡点;
6、融合探索性测试方法的脚本测试:在测试脚本中加入各种各样的变化元素;
7、为什么要进行非法输入测试:因为开发人员往往不喜欢编写错误处理代码,而更愿意编写功能代码。场景:开发人员编写一段功能代码,用于接收一个输入值,他们可能会立刻想到需要检查该输入值是否合法。他们可能会先停止编写功能代码转而去实现错误处理代码;也可能会先在程序里加一段注释(比如,“本处需要添加错误处理代码”),完成功能代码编写后再回头执行它。前者开发人员的思路很容易被打断,后者则可能导致开发人员再也没有回头添加那些错误处理代码,毕竟开发人员都很忙,不是吗?
8、输入数据时考虑维度:类型、长度、大小、值等;
9、局部输入时考虑原子输入的值以及多个原子输入时的排列组合。

get新技能:
1、如果发现了某个代码区缺陷比较多,就要对其邻近功能使用遍历测试法进行测试,以此验证那些修复已知缺陷的代码是否引入了新的缺陷;
2、判断两个特性/功能是否会交互的三个判断依据:
1)输入:这两个特性是否会处理同一个输入;
2)输出:这两个特性是否会处理同一个输出;
3)数据:这两个特性是否会操作其共享的一些内部数据?是读取共享数据,还是修改共享数据;
3、反叛测试法——反叛行为
1)逆向测试法:输入那些最不可能的数据;
2)歹徒测试法:突破输入的限制,处理非法输入的能力---输入错误的类型、错误的格式、太长的输入或者太短的输入等;
3)错序测试法:错误的顺序做事;
4、针对不同的特性/功能,寻找最合适、最有效的探索性测试方法。

wengwuwei 发表于 2017-12-26 16:55:49

赞一个
页: [1]
查看完整版本: 《探索式软件测试》读书心得