软件测试的现状
文章目录
@<font color="red”> 本文为"software testing"一书的读书笔记 @</font>
测试公理
不可能完整地测试一个程序
原因有:
- 可能的输入是巨大的
- 可能的输出也是巨大的
- 软件的使用方式是多种多样的
- 软件说明是主观的。
软件测试是一个冒险的工作
随着测试用例的增加,找到的bug会越来越少,从而测试的代价就越来越高,我们要 合理地设置测试用例的范围,减少测试的冒险性和成本。
测试并不表明有的bug不存在
你哪里找到的bug越多,那里的bug就越多
原因有:
- 程序员可能会在某天很开心,于是写出的代码很好,可能在某天很不开心,写出来的
代码就有bug,于是bug都聚集在一起。
- 程序员总是犯同一个错误,这是人类的习惯造成的。
杀虫剂矛盾(你用同样的方法找bug,下次就不管用了)
你找到的bug中,不会全部被修复
原因有:
- 时间不够
- 你找到的其实不是一个bug
- 修复这个bug太危险了,可能会诞生更多的bug
- 修复这个bug不值得。
有时候不知道这个是不是一个bug
产品说明从来不会终止
软件测试师不是一个项目组里面最受欢迎的人
下面是和队友搞好关系的贴士:
- 尽早找到bug
- 不要太骄傲(当你找到bug的时候)
- 不要总是报告坏消息
软件测试名词和定义
- precision准确性 and accuracy精确性
下面这幅图很好地说明了两者之间的区别: ~/pictures/images.jpe
- verification and validation
verification是验证软件是否符合产品说明的过程, validation是验证软件是否符合用户需求的过程。
- quality and reliability
quality:高质量, reliability,可靠性。 可靠性只是高质量的一个方面。
- testing and quality assurance(QA)
软件测试是要尽早地找到bug,并确保它们被修复。 质量保证是要创造和加强标准、方法来改善软件开发过程,防止bug的产生。