对【判断闰年】函数的白盒测试
最近学习了白盒测试。白盒测试的测试方法有很多种:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
void LeapYear(int year);
void main() {
int year=0;
LeapYear(year);
}
void LeapYear(int year) {
cout<<"请输入年份:"<<endl;
cin>>year;
while(!(year>=1811 && year<=2013)) {
cout<<"年份超过界限,请重新输入"<<endl;
cin>>year;
}
if((year%4==0 && year%100!=0) || (year%400==0)) { //检查闰年
cout<<"闰年"<<endl;
}
else{
cout<<"不是闰年"<<endl;
}
}
测试用例:
改良后的代码:
public void handle(MouseEvent arg0) {
boolean judge1 = true;
boolean judge2 = true;
String s = textfiled1.getText();
if ((s.length() > 6) || (s.length() < 1))
{
text.setText(str2);
return;
for (int i = 0; i < s.length();i++)
{
char c = s.charAt(i);
if (!((c >= 'A' && c <= 'Z')||(c >= 'a' && c <='z')||(c >= '0' && c <= '9')))
{
judge1 = false;
break;
}
}
if (!judge1)
{
text.setText(str2);
return;
}
s = textfiled2.getText();
if ((s.length() > 6) || (s.length() < 1))
{
text.setText(str2);
return;
}
for (int i = 0; i < s.length();i++)
{
char c = s.charAt(i);
if (!((c >= 'A' && c <= 'Z')||(c >= 'a' && c <='z')||(c >= '0' && c <= '9')))
{
judge2 = false;
break;
}
}
if (!judge2)
{
text.setText(str2);
return;
}
s = textfiled3.getText();
int i=Integer.parseInt(s);
if (i != a)
{
text.setText(str2);
}
else
{
text.setText(str1);
}
}
});*/
测试用例: