软件测试基础:Bug故事
第一个Bug:
虫子飞到机器上烧死后导致机器短路;
Grace Hopper:IT界十大最有远见的人才
bug概念:
- Fault:静态存在于软件的缺陷
eg:数组A[5] = {1,2,3,4,5}
测平均值,循环,i = 0;写成i= 1;错失第一个数据;
- Error:运行过程运行到Fault触发的一个错误的中间状态
eg:加和由原来的15变成了14,称之为Error
- Failure:通常指失效,指的是,刚才的Error一直传不到软件的外面使得用户或者测试人员能够观测到失效行为
eg:最后计算的平均值由3变成了其他值,是失效
PIE Model成立的三个条件:
1.执行:执行必须经过这个错误的代码;
2.感染:执行错误代码的时候必须出现一个错误的中间状态;
3.传播:错误的中间状态必须传播到最后输出,使得我们能够观察到与预测输出不同,即失效。
测试未必能执行到fault
执行到fault,不一定触发error
执行到fault,出发了error,但不一定failure

基本术语;
测试用例:Test Input(测试输入)Test Data 测试数据+Test Oracle(测试预言)+Others(测试环境等等,eg:web程序还是软件程序等)
Testing:测试,为了发现bug。
Debugging:找到fault 理解fault再修改fault。
V&V(Verification&&Validation)
- Verification:确认,规格文档是否是用户所需要的
- Valification:测试文档和最后的实现是否一致
Static Testng VS Dynamic Testing
- 静态测试:不需要运行测试,不是测试, 通过扫描测试,
- 动态测试:运行
Black-box Testing VS White-box Testing
黑盒测试:不需要源代码
白盒测试:需要源代码,要分析结构
灰盒测试:不等于 白盒+黑盒测试
是通过其他软件自评或反编译手段获得部分的软件结构信息,进而进行测试
测试层次:单元测试、模块测试、集成测试、系统测试
单元测试:最小级别、一个函数一个方法
模块测试和单元测试分类模糊
模块测试组合构成集成测试;
不同公司定义不同。
V模型、
测试过程:

Fault之间干扰。
浙公网安备 33010602011771号