八、静态测试
1.评审:培训评审
预备评审
同行评审:
图10 同行评审的文件
同行评审:审查
小组审查
桌面评审
临时评审
2.代码检查:主要检查代码和设计的一致性、代码对标准的遵循、代码的可读性、代码的逻辑表达正确性,代码的合理性
其内容:完整性检查,.一致性检查,正确性检查,可修改性检查,可预测性检查,健 壮性检查,可理解性检查,可验证性检查,结构性检查,可追溯性检查代码标符合性检查
其方法:
代码审查
代码审查组由组长、资深程序员、程序编写者与专职测试人员等,组长不能是被测程序的编写者
桌面检查
程序员自己检查自己所编写的程序
代码走查
代码走查的讨论过程是非正式的
技术评审
最正式的审查类型,具有高度的组织化,要求每一个参与者都接受训练
九、白盒测试和黑盒测试
1、白盒测试;一种按照程序内部逻辑结构和编码结构设计测
试数据并完成测试的一种测试方法。
白盒测试:静态白盒测试技术(1)代码检查
(2)编码标准和规范
动态白盒测试技术;
(1)语句覆盖
每一条语句至少被执行一次
(2)判定覆盖
每一个分支至少通过一次
(3)条件覆盖
判定中的每个条件的各种可能都执行一次。
(4)判定/条件覆盖
每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。
(5)条件组合覆盖
每个判定中条件的各种组合至少出现一次
(6)路径覆盖
所有的路径都至少执行一次 。
2、黑盒测试
1)等价类划分
等价类,把所有可能的输入数据,即程序的输入域划分成若干部分,(有效类和无效类)
划分等价类的考虑因素:输入数据
输出数据
设计测试用例时,要同时考虑有效等价类和无效等价类设计
步骤:
(1)需求分析
(2)划分等价类
(3)建立等价类
(4)设计测试用例
2)边界值
步骤:
(1)需求分析
(2)划分等价类
(3)取边界值
(4)设计测试用例
3)因果图
步骤:
(1)分析软件规格说明描述:原因、结果、标识符
(2)分析软件规格说明描述中的语义:找出逻辑关系
(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,
添加必要的约束条件
(4)把因果图转换成判定表
(5)把判定表的每一列拿出来作为依据,设计测试用例
4)随机测试:测试输入数据是所有可能输入值中随机选取的,是一种基本的黑盒测试方法。
6)猜错法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。
7)探索性测试是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。
十、动态测试
1、单元测试:对系统的最小单元进行测试
执行人:主要是开发人员,由测试人员辅助
方法:评审
代码检查
白盒测试
步骤:(1)静态分析和代码审查
(2)构造测试用例的运行环境
(3)设计“黑盒”测试用例
(4)设计“白盒”测试用例(覆盖测试用例)
好处:程序最小组成部分
可以并行开展
规模小,复杂性低
做好单元测试后,后续的集成测试和系统测试会很顺利
不管怎样,集成测试或系统测试将会抓住所有的bug
尽早的发现缺陷,降低测试成本
2、集成测试:把最小的模块连接起来,测试其连接的接口和输入输出
方法:灰盒测试
3、系统测试:把所有的组装起来,并连接外部设备,在进行测试
测试设计的一般流程:(1)理解软件和测试目标
(2)设计测试用例
(3)运行测试用例并处理测试结果
(4)评估测试用例和测试设计
4、确认测试:严格遵循有关标准的一种符合性测试,以确定软件产品是否满足所给定的要求。在完成集成测试后,依据确认测试准则,针对需求 规格说明进行的测试,以确定所开发的软件系统是否能满足规定的功能和性能要求。
执行人:必须有用户参加,或者是以用户为主进行用户应参与设计测试方案,使用用户界面输入测试数据,并分析测试结果,为使用户积极参与测试,有效使用系统,通常需要对用户进行培训。