一、测试用例设计方法
从书本上得来的测试用例设计方法,曾经以为掌握了它们就掌握了软件测试。
1. 黑盒测试法:
a. 等价类划分
b. 边界值分析
c. 因果图
d. 判定表
e. 错误推测
还有随机测试、场景测试等等。
其中错误推测主要依靠测试人员经验,其他的则是通过列表、画图让测试人员思路清晰,更好的思考。
2. 白盒测试法:
白盒测试可以分为静态和动态,静态测试一般指文档、代码等的走查;动态测试法则有:
a. 语句覆盖:每条语句执行一次
b. 判定覆盖:每个判定的每个分支执行一次
c. 条件覆盖:每个判定的每个条件可能取到的值,都执行一次
d. 判定/条件覆盖:判定和条件综合
e. 组合覆盖:每个判定中每个条件的组合,都执行一次
f. 路径覆盖:每一条可能的路径,都执行一次
常用于代码级别的单元测试。
二、测试用例设计
收录过一篇文章,写的是如何测试一个杯子,详见:面试:如何测试一个杯子_编故事的逗老师的专栏-CSDN博客
从功能、界面(外观)、性能、安全性、可用性等方面对一个杯子进行了测试用例设计,所提供的思路非常清晰。
当然,对初级测试人员来说,这些已然足够,但是对于高级测试乃至专家,仅仅从表面测试的程度就不够了,尤其是测试开发,简单的可以从以下方面进行完善:
1. 用户体验
2. UI/功能设计
3. 代码实现
4. 错误分析
5. 性能优化
等等,需要长时间的经验积累。
要知道,测试开发不是自动化测试,如果只是写自动化脚本,哪怕是自动化测试框架、架构,也只是自动化测试人员,并不是测试开发。测试开发其实和开发一样,是团队中面向开发的角色,但是据我来看,国内很少有这样的角色,大部分测试人员focus在测试自动化。《Google软件测试之道》里边对测试开发SET和测试TE分别进行了阐述,看完之后觉得它说了什么,但又没完全说,有兴趣的可以看看,了解一下国外团队的分工。
测试开发,不仅要有测试的广度,更要有开发的深度。