这是我看了有关软件测试的书的一些归纳与总结。
软件测试的核心是发现软件中的缺陷。测试是对软件质量的度量。
一、缺陷
缺陷,目前没有标准定义 。与缺陷相关的一组定义就有:软件错误、软件缺陷、软件故障、软件失效。
软件错误:在软件生存周期内不希望或者不可接受的人为错误;
软件缺陷:存在与软件(文档、数据、程序)之中的那些不希望或不可接受的偏差;例如把!=写成==。
软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态;
软件失效:软件运行时产生的一种不希望或不可接受的外部行为总结;
软件错误是一种人为错误,在相当长一段时间内,软件开发的主角仍然是人,人避免不了犯错,人开发软件过程中的错误遗留在软件中,这样就导致软件缺陷。一个软件错误会产生一个或多个软件缺陷,一个软件缺陷被激活后便产生一个或多个软件故障。若故障没被处理就会导致软件失效。
二、软件测试方法分类
1.根据被测试对象内部实现情况了解程度,分为白盒测试、黑盒测试和灰盒测试;
2.根据是否执行被测系统,分为静态测试和动态测试;
3.根据测试工具支持,分为手动测试和自动测试;
4.根据被测内容,分为功能测试、结构测试和非功能测试;
5.根据显示被测对象是否工作,分为正向测试和反向测试;
6.根据测试过程推进,分为单元测试、集成测试、系统测试和验收测试;