第二章 软件测试基础

**

第二章 软件测试基础

**
2.1.1什么是软件测试
“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。
注:软件需求和设计阶段是相当重要的两个步骤。

2.1.2什么是软件质量
“软件质量”是:软件满足规定或潜在用户需求特性的总和。
2001年,软件“产品质量”国际标准ISO 9126定义的软件质量包括:“内部质量”、“外部质量”、“使用质量”三部分

2.2 软件测试目的
早期的软件定义指出软件测试的目的是寻找错误,并且尽最大的可能最多的错误。
Bill Hetzel 提出了测试目的不仅仅是为了发现软件缺陷与错误,而且也是对软件质量和评估,以提高软件的质量。
同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择与接受提供有力的依据。

2.3 软件测试原则
完全测试是不可能的,测试需要终止,主要有三个原因:
①输入量太大;
②输出结果太多;
③路径组合太多;

2.4 软件测试对象
在整个软件生命周期中,各阶段有不同的测试对象,形成了不同开发阶段的不同类型的测试。
需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明书、概要设计规格说明、详细设计规格说明以及源程序,都应成为“软件测试”的对象。

2.5 软件测试分类
2.5.1 按照开发阶段划分
按照开发阶段划分软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试
①单元测试(又称模块测试)
是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。目的在于检查每个程序单元是否能正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现模块中可能存在的错误。
②集成测试(又称组装测试)
通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。
集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试也叫版本验证测试、提交测试。
③确认测试
确认测试是通过检验和提供客观证据,证实软件中是否满足特定预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的要求。
④系统测试
系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足于用户需求。
⑤验收测试
按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。

2.5.2按照测试实施组织划分
按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。
①开发方测试
通常也叫“验证测试”或“α测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。
②用户测试
由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。
β测试通常被看成是一种“用户测试”。主要是把软件产品有计划地免费发放到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中产商获取的信息,可以有助于软件产品的成功发布。
③第三方测试
介于软件开发和用户方之间的测试组织的测试。第三方也称为独立测试。一般情况下在模拟用户真实应用环境下,进行软件确认测试。

2.5.3按照测试技术划分
按照测试技术划分:白盒测试、黑盒测试、灰盒测试。也可划分为静态测试和动态测试。静态测试是指不运行程序,通过人工对程序和文档进行分析与检查;静态测试技术又称为静态分析技术,实际上是对软件中的需求说明书、设计说明书、程序源代码等进行非运行的检查。
静态测试包括:走查、符号执行、需求确认等。
动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。
①白盒测试(又称结构测试)
通过对程序内部结构的分析、检测来寻找问题。可以看成把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理问题,检查是否所有的结构及路径都是正确的。
②黑盒测试
通过软件的外部表现来发现其缺陷和错误。把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查样序是否按照需求规格说明书的规定正常实现。
③灰盒测试
介于黑盒测试和白盒测试之间的测试。灰盒测试关注输出对于输入的正确性;同时也关注内部表现。
灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
单元测试可应用白盒测试;集成测试应用近似灰盒测试方法;而系统测试和确认测试应用黑盒测试方法。
2.6软件测试过程模型
①V模型
图片来源
在这里插入图片描述
它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段。
②W模型
图片来源
在这里插入图片描述
③H模型
图片来源
在这里插入图片描述

注:此博客的文字是出于软件评测师教程,写博客只是为了加深自己的理解

原创文章 5 获赞 5 访问量 320

猜你喜欢

转载自blog.csdn.net/keniy3/article/details/105522265