一、什么是软件测试
总结起来就是:
- 使用人工或自动的手段来运行或者测试某个系统的过程。
- 目的在于检验它是否满足规定的需求。
- 弄清楚预期结果和实际结果的差别。
二、软件测试的目的
软件测试的目的:以最小的人力,物力和和时间,找出软件中潜在的错误和缺陷
三、测试的原则
四、测试的标准
作为一个软件测试工程师,第一个需要深入理解的知识就是软件质量模型。对测试而言,工作不仅仅是提缺陷,还需要评估产品质量。如何评估产品质量呢,评估的结果是否客观,有没有标准或者可以分析的维度。
在为产品做质量评估之前,我们需要先弄清产品质量是什么? 根据IEEE24765-2010的定义,产品质量是只“在特定的使用条件下,产品满足明示的和隐含的需求的固有特性”,简言之,质量就是满足需求。进行软件质量评估,评估的主要内容其实就是产品是否满足用户需求。
产品满足用户需求,不仅仅是满足产品需求中明确提及那些的功能,还要满足行业规范、约定俗成的要求或者用户的使用习惯等隐形需求。由于行业背景不一样,个人的知识储备不一样,且用户需求在传递的过程中可能会有变形失真等原因,我们需要借助软件质量模型进行系统分析,识别这些隐藏的需求,预防缺陷,提升产品质量。
ISO/IEC 25010
同9126相比,25010将质量模型从原来的6个属性扩展到8个属性,新增加的内容是安全性 和 兼容性, 另外还对功能性、易用性和可维护性做了修改,具体内容如下所示。
五、测试的基本要求
六、bug的由来
七、测试的流程
八、开发模式
瀑布模型
增量模型
快速模型
其他开发模型
螺旋模型
九、测试与开发的关系