软件测试

介绍

谢晓园

课程内容

  • 测试的技术
  • 测试自动化
  • 测试的度量
  • 测试的生成
  • 测试的挑战

Week1

一个经典错误

1
2
3
4
5
6
7
8
9
int gcd(int u, int v)
{
if(u*v==0) //溢出bug
// if(u==0 || v==0)
{
//......
}
return;
}

小测验

输入三个数,判断是等边等腰还是其他

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int func(int x, int y, int z)
{
if(x<=0 || y<=0 || z<=0)
{
return 0;
}
if(x+y-z<=0 || x+z-y<=0 || y+z<=0)
{
return 0;
}
if(x==y && x==z)
{
return 1;
}
if(x==y || y==z || z==x)
{
return 2;
}
return 3;
}

测试用例

invalid valid

测试七大原则

  • 测试显示缺陷存在,但不能证明系统不存在缺陷
  • 穷尽测试是不可能的,应设置及时终止的条件