关于白盒测试的知识点,结合你的项目实践,就可以得出如下题目:
白盒测试有几种,请结合你的代码片段,一一举例说明,并给出测试用例。
白盒测试,书上叫做白箱测试(书上256页):指的是再设计的过程中,设计者可以"看到"软件系统的内部结构,并使用软件的内部结构和知识来选择测试数据级具体的测试方法。"白箱"并不是一个精确的说法,因为把箱子涂成白色,同样也看不见箱子里的东西,有人建议使用“玻璃箱”来表示。
详细介绍见:http://baike.baidu.com/link?url=TvrE2hqYsmfFr-OtQeK-STmAAhaQvCC4CeulS1PpJd0YCGbgUFGbaqTouW1fZoxa_yNdEtodddxPeQLrw27l1a
自己的理解:
白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。用白盒测试产生的测试用例能够:
1)保证一个模块中的所有独立路径至少被使用一次;
2)对所有逻辑值均需测试true和false;
3)在上下边界及可操作范围内运行所有循环;
4)检查内部数据结构以确保其有效性;
白盒测试的集几种覆盖:
- 语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误;
- 判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误;
- 条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支;
- 判定或条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次;
- 修正条件判定覆盖满足条件与判定覆盖,并且需要确定每个条件能够影响到包含的判定的结果。
- 条件组合覆盖是使每个判定中条件结果的所有可能组合至少出现一次,因此判定本身的所有可能解说也至少出现一次,同时也是每个条件的所有可能结果至少出现一次;
- 路径覆盖是每条可能执行到的路径至少执行一次;
白盒测试的应用:用户登陆校验系统。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
逻辑覆盖:
Test1:用户名:数字,密码:数字
Test2:用户名:数字,密码:普通字符
Test3:用户名:数字,密码:特殊字符
Test4:用户名:普通字符,密码:数字
Test5:用户名:普通字符,密码:普通字符
Test6:用户名:普通字符,密码:特殊字符
Test7:用户名:特殊字符,密码:数字
Test8:用户名:特殊字符,密码:普通字符
Test9:用户名:特殊字符,密码:特殊字符
用户名 | 密码 | 覆盖的测试用例 | 结果 |
455354 | 453 | Test1 | 登陆成功 |
54254 | fsahdfh | Test2 | 登陆成功 |
52242 | %@#¥%#@ | Test3 | 登陆成功 |
dfsgd | 2121 | Test4 | 登陆成功 |
dfhf | gfdhg | Test5 | 登陆成功 |
fdhg | #¥%#…… | Test6 | 登陆成功 |
¥#@% | 545 | Test7 | 登陆成功 |
!@¥#!@ | fdghgf | Test8 | 登陆成功 |
%……&……8* | %¥……&%& | Test9 | 登陆成功 |
登陆成功 |
首先设计测试用例:
语句覆盖:
public boolean login()
{
if(userName==null||passowrd==null)
{
msg="用户名或密码不能为空";
return false;
}
else//
{
return true;
}
}
路径覆盖