一,理清测试相关概念
1,质量 : 实体特性的总和,满足明确或隐含要求的能力
2,软件质量 :软件特性的总和,软件满足规定或潜在用户需求的能力
在1991年软件产品质量评价,国标标准ISO9126中定义是:软件满足规定或潜在用户需求特性的总和。
到1999年,ISO14598经典的定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。
一般对“质量”的理解是一个实体的“属性”,属性好就是质量好,但这不够全面,内在的特性好,不一定能用胜任和完成用户的任务,所以软件质量有三个属性来衡量,在2001年ISO 9126定义中,软件质量包括“内部质量”,“外部质量”和“使用质量”。
3,质量保证(QA)与软件测试(QC)
4,什么是软件测试
测试是为发现错误而执行的一个程序或系统的过程
正向思维 (代表人物:Bill Hetze博士) 测试就是建立一种信心,确信程序能够按期望的设想进行
逆向思维 (代表人物:Glenford J.Myers博士) 测试是为了发现错误而执行一个程序或者系统的过程 测试是为了证明程序有错,而不是证明程序无错
5,测试目的
测试是为了寻找错误,并尽最大可能找出最多的错误,并对软件质量进行度量与评估,
以提高软件质量。测试可以证明软件存在错误,但不能保证软件没有错误
6,测试原测
基于测试是为了寻找软件错误与缺陷,评估与提高软件质量提出了以下原则:
1)所有的软件测试都应追溯到用户需求
2)应当把“尽早地和不断的进行软件测试”作为软件测试者的座右铭
3)完全测试是不可能的,测试需要终止
4)测试无法显示软件潜在缺陷
5)充分注意测试中的群集现象
6)程序员应避免检查自己的程序
7)尽量避免测试的随意性
二,软件生命周期及开发模型,测试模型
1,生命周期
2,开发模型
3,测试模型
V模型:
三,测试分类和测试技术
测试分类
按开发阶段划分:单元测试,集成测试,系统测试,确认测试,验收测试
按测试组织划分:开发方测试(α测试),用户测试(β测试),
第三方测试 按测试技术划分:白盒测试,黑盒测试,灰盒测试
黑盒测试
通过软件的外部表现来发现缺陷和错误 黑盒测试是把测试对象看成是一个黑盒子,完全不考虑程序内部结构和处理过程。 它只是检测程序是否按需求说明书规定正常实现、
白盒测试
通过对程序内部结构分析来寻找问题。白盒测试是把程序看成是装在一个透明的 白盒子里,清楚了解程序结构和处理逻辑过程。检查所有路径及条件是否正确。 白盒测试又称结构测试。
黑盒测试方法
1,等价类划分(最常用)
2,边界值分析法(最常用)
3,因果图分析法
4,错误推测法
5,判定表驱动法
6,正交试验设计法
7,功能图法
等价类划分的办法是把程序输入条件划分成若干部份,从每个部份中选取少数代表数据作为测试数据
每一类中的代表数据在测试中等价于这整个类的其他数据。
边界值分析法是通过选择等价类刚好被划分的边界值作为测试数据。
错误推测法是基于经验和直觉推测程序中所有可能存在各种错误。
图果图方法是从程序规格说明中找出“因”(输入条件)和“果”(输出),通过因果图转换成判定表。