软件测试-理论概念整理(一)
文章目录
1.软件产品质量模型
软件产品质量模型将一个软件产品需要满足的质量划分为六大属性:功能性、可靠性、易用性、效率、可维护性和可移植性
翻阅查询大多数资料指出质量模型分为这六大类,少数资料将可移植性与易用性替换成安全性。
1.1功能性
能够满足明确和隐含要求的功能
1.2可靠性
是指在特定条件下使用时,软件产品维持规定的性能级别能力,且能够处理异常情况,很快从错误中恢复
1.3易用性
指用户在指定条件下使用软件,软件对于用户来说易懂,易学,易操作,一定程度上需要漂亮好看
1.4效率
简单来说就是占用少量的资源,提供适当的性能(大多数从时间、资源上测试体现出来)
在少数文献资料里,效率性与性能等同概念。
1.5可维护性
指软件(产品)可被修改的能力:即对软件的修改实现、改进功能等所表现的适应性
1.6可移植性
指软件从一种环境移植到另一种环境的能力:环境可以是软件间、硬件间、或所处的系统甚至包括使用组织等等
2.软件测试
定义混杂 没有统一标准 但主体中心意思差不多
经典定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
3.软件测试分类-测试方法
根据不同的分类依据,有不同的分类类别。以下列举比较常见(经典)且较有权威性的分类:
3.1 是否考虑覆盖源代码(内部结构)【重要!】
3.1.1 黑盒测试(在另一篇有专门详细的说明)
点击–>>黑盒测试专篇
不考虑内部结构的情况下,在 程序接口 进行测试
3.1.2 白盒测试
检查程序的内部结构,从检查程序的逻辑着手,得出测试数据的基础上进行测试
3.1.3 灰盒测试
介于黑盒与白盒之间
3.2 是否执行程序
3.2.1 静态测试
静态方法是指 不运行被测程序 本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
3.2.2 动态测试
动态测试方法是指通过 运行被测程序 ,检查运行结果与预期结果的差异,并分析运行效率、正确性等性能。
3.3 按阶段划分【重要!】
3.3.1 单元测试
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的功能是否正确。测试的对象是软件设计的最小单位:模块。
3.3.2 集成测试
集成测试也称联合测试或者组装测试,将程序模块(单元测试)采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作