测试基础知识是2008-9-20笔记整理,大部份内容来自软件评测师教程,年限已久,有些笔记已丢失。
一,理清测试相关概念
1,质量 : 实体特性的总和,满足明确或隐含要求的能力
2,软件质量 :软件特性的总和,软件满足规定或潜在用户需求的能力
在1991年软件产品质量评价,国标标准ISO9126中定义是:软件满足规定或潜在用户需求特性的总和。
到1999年,ISO14598经典的定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。
一般对“质量”的理解是一个实体的“属性”,属性好就是质量好,但这不够全面,内在的特性好,不一定能用胜任和完成用户的任务,所以软件质量有三个属性来衡量,在2001年ISO 9126定义中,软件质量包括“内部质量”,“外部质量”和“使用质量”。
外部质量与内部质量,其质量属性分为6个特性:功能性,可靠性,易用性,效率,维护性,可移植性。
使用质量是从用户的角度看待的质量,属性分为4种特性:有效性,生产率,安全性和满意度。
3,质量保证(QA)与软件测试(QC)
4,什么是软件测试
测试是为发现错误而执行的一个程序或系统的过程
正向思维(代表人物:Bill Hetze博士) 测试就是建立一种信心,确信程序能够按期望的设想进行
逆向思维(代表人物:Glenford J.Myers博士) 测试是为了发现错误而执行一个程序或者系统的过程 测试是为了证明程序有错,而不是证明程序无错
5,测试目的
测试是为了寻找错误,并尽最大可能找出最多的错误,并对软件质量进行度量与评估,
以提高软件质量。测试可以证明软件存在错误,但不能保证软件没有错误
6,测试原测
基于测试是为了寻找软件错误与缺陷,评估与提高软件质量提出了以下原则:
1)所有的软件测试都应追溯到用户需求
2)应当把“尽早地和不断的进行软件测试”作为软件测试者的座右铭
3)完全测试是不可能的,测试需要终止
4)测试无法显示软件潜在缺陷
5)充分注意测试中的群集现象
6)程序员应避免检查自己的程序
7)尽量避免测试的随意性