软件测试的目的即是尽可能发现软件中的缺陷;软件缺陷可以定义为软件实现的遗漏(用户需求实现遗漏)、错误(与有用户需求不符)、多余(额外的实现)。
80%的错误集中在20%的代码中----经验有理。。。
1、测试分类
黑盒测试,不关注内部实现逻辑,把所有实现看成一个黑盒子,只关注输入和输出,具体包括:
功能测试、性能测试、可用性、可靠性、安全性、可服务性。
白盒测试,针对程序内部实现逻辑进行测试
程序插装,在程序中插了打印、断言打出要求测试的内容。
域测试
符号测试
2、测试方法
黑盒
a. 功能测试
等价类划分
边界值
错误推断
因果图
判定表
正交分析
b. 性能测试
指标:吞吐量ThroughOut、延迟Latency、丢包率Frame Lost Rate等
白盒
a. 逻辑覆盖
语句覆盖
判定覆盖
条件覆盖
判定-条件覆盖
路径覆盖
b. 程序结构分析
控制流、数据流、信息流
参考
1. RFC2544