软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,根据需要设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
软件测试的目的:
1,发现错误
2,好的测试用例能发现至今未发现的错误
3,成功的测试是发现了至今未发现的错误测试
测试信息流
测试与软件开发各阶段的关系
测试用例的设计
1,白盒测试
逻辑覆盖
语句覆盖:每一个可执行语句至少执行一次
判定覆盖:程序中每个判断的取真分支和取假分支至少经历一次
条件覆盖:每个判断的每个条件的可能取值至少执行一次
判定—条件覆盖:判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次
条件组合覆盖:每个判断给的所有可能的条件取值组合至少执行一次
路径测试:覆盖程序中所有可能的路径
测试路径选择
当程序中的判断多于一个时,形成的分支结构可以分为两类:嵌套型分支结构,连锁型分支结构。对于嵌套型分支结构,若有n个判定语句,需要n+1个测试用例。对于连锁型分支结构,若有n个判定语句,需要2的n次方的测试用例,覆盖它的2的n次方的测试用例。
a,条件测试路径选择
b,循环测试路径选择
2,黑盒测试
主要说一下因果图:
表示原因和结果之间的关系有:
表示约束条件的符号
例如:
软件测试策略之间的关系