软件测试 白盒测试用例 艾斯医药商务系统覆盖率测试
艾斯医药商务系统覆盖率测试
1.逻辑覆盖测试
逻辑覆盖测试主要是针对程序的内部逻辑结构
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
测试用例的技术,它通过运行测试用例达到逻辑覆盖的目的。
包括以下3种类型的逻辑覆盖:
1.语句覆盖
2.判定覆盖
3.条件覆盖
/**
* 购物车添加商品方法
* 在判断hashmap中没有pid对应商品是为false情况下添加product
* @param pid
* @param product
*/
public void addProduct(String pid,Product product){
if(hashmap==null){
hashmap= new HashMap();
}
if(hashmap.containsKey(pid)==false)//购物车中不存在该商品
{
hashmap.put(pid, product);
}
}
函数的
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图如下:
2.语句覆盖
语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行的语句至少执行一次。根据概念,为了对上面的函数进行语句覆盖,只要设计一个测试用例就可以覆盖2个执行语句块中的语句。
针对程序的判断语句,可在入口处设计测试用例。
测试用例输入为:,hashmap==null,
程序执行的路径为:abd。
如果程序只运行上面的测试用例,虽然可以执行模块中的所有语句,但并不能检查判断逻辑是否有问题。例如在第一个判断中错误地把==写成!=,则上面的测试用例仍可以覆盖所有的执行语句。可以说语句覆盖率是最弱的逻辑覆盖准则。
3.判定覆盖
判定覆盖(也称为分支覆盖),设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少各执行一次。
根据上面的定义,对于上面的程序,只要设计两个测试用例则可以满足条件覆盖的要求。
测试用例的输入为:,hashmap!=null,
,hashmap==null,
上面的两个测试用例虽能够满足判定覆盖的要求,但是有时候也不能对判定条件进行检查。
4.条件覆盖
设计足够多的测试用例,运行所测程序,使程序中每个判断内的每个条件的各个可能取值至少执行一次。
为了清楚的设计测试用例,对例子中的所有条件取值加以标记。
例如:
对于第一个判断:条件hashmap==null,取真值为T1,假值为-T1;
对于第二个判断: 条件hashmap.containsKey(pid)==false,取真值为T2,假值为-T2;
则可以设计测试用例如表5-7所示:
表5-7
测试用例 通过路径 条件取值 覆盖分支 hashmap==null abd bd T1,T2 hashmap.containsKey(pid)==false
Hashmap!=null acd cd -T1,T2 hashmap.containsKey(pid)==false
Hashmap==null abe be T1,-T2 hashmap.containsKey(pid)!=false
上表所示的测试用例不但覆盖了所有分支的真假两个分支,而且覆盖了判断中的所有条件的可能值。但是如果设计了表5-8的测试用例。则虽然满足了条件覆盖,但并不满足分支覆盖的要求。
表5-8
测试用例 通过路径 条件取值 覆盖分支 Hashmap!=null ace ce -T1,-T2 hashmap.containsKey(pid)!=false
来自逍遥乐IT博客 ,荣发村