软件测试

一、软件测试
1、测试粒度级别(test granularity levels)
(1)单元测试Unit Testing
对独立单元或模块的测试。
(2)集成测试integration testing
测试多个模块以及它们之间的联系。
大爆炸(Big Bang)集成测试:同时对所有的模块进行集成。
(3)系统测试system testing
将完整的系统作为一个整体来测试。包括功能性测试、非功能性测试。
功能测试:测试软件提供的功能
非功能性测试:测试软件的可用性、可维护性、鲁棒性等等。
(4)验收测试acceptance testing
验证软件是否满足用户需求。
(5)回归测试regression testing
当我们修改系统的时候,进行复验。确保修改有效,且未修改的代码不受影响。
回归误差:修改某处代码,造成连锁反应。
软件系统维护成本高昂的一个重要原因就是回归误差。

2、已上所讲均为“开发者测试”,执行者多为测试团队内部、或者代表测试团队的第三方成员。下一步为阿尔法测试。(图)
(1)阿尔法测试:通过将准备发布的软件系统分发给开发软件的组织内部的一组用户来执行测试。下一步为贝塔测试。
(2)贝塔测试: 将软件系统发给组织外部的一组用户来执行测试。下一步为产品发布

二、黑盒测试
1、范畴划分测试方法(category-partition method)
2、基于有限状态机模型的测试方法

三、白盒测试,又称为结构测试(structural testing)
1、语句覆盖Statement Coverage
2、分支覆盖Branch Coverage
3、条件覆盖Condition Coverage
4、分支与条件组合覆盖,Branch and Condition Coverage/Decision and Condition Coverage
5、修正条件/决策覆盖,MD/DC Coverage:Modified Condition/Decision Coverage,

你可能感兴趣的:(软件测试)