分享

软件测试的分类

 kahyo 2018-06-05

按照全生命周期的软件测试概念,测试对象应该包括软件设计开发的各个阶段的内容,此处重点讲述开发阶段的测试和程序测试。

(1)按照开发阶段划分:

按照开发阶段划分软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试。

1)单元测试:单元测试又称为模块测试,是针对软件设计的最小单位—程序模块进行正确性检验的测试工作。其目的在于坚持每个程序单元能否正确的实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

2)集成测试:集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步即成为符合概要设计要求的程序部件或整个系统。

软件集成的过程是一个持续的过程,会形成很多个临时版本,在不断地集成过程中,功能集成的稳定性是真正的挑战。在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试(BVT (Build Verification Test))也叫做版本验证测试、提交测试。

展开剩余71%

3)确认测试:确认测试时通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的要求。

4)系统测试:系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统的测试。系统测试时在真实或者模拟系统运行的环境下,检查完整的程序能否与系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足用户需求。

5)验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接受或者拒收系统。

(2)按照测试实施组织划分

按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。

1)开发方测试:通常也叫“验证测试”或“α测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。验证测试是在软件开发环境下,由开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的要求。主要是指在软件开发完成以后,开发方对要提交的软件进行全面的自我检查与验证,可以与软件的“系统测试”一并进行。

2)用户测试:在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况下,用户测试不是指用户的“验收测试”,而是指用户的使用性测试,由用户找出软件应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。

β测试通常被看成是一种“用户测试”。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件中存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获得的信息,可以有助于软件产品的成功发布。

3)第三方测试:介于软件开发方和用户方之间的测试组织的测试,第三方测试也成为独立测试。独立的验证和确认活动。在模拟用户真实应用环境下,进行软件确认测试。

(3)按照测试技术分

第一种划分:静态测试、动态测试;

1)静态测试:指不允许程序,通过人工对程序和文档进行分析与检查。又称为静态分析技术,实际上是对软件中的需求说明书、设计说明书、程序源代码等进行非运行检察,包括:走查、符号执行、需求确认。

2)动态测试:是指通过人工或者使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。

第二种划分:白盒测试、黑盒测试、灰盒测试;

1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。白盒测试是在清楚了解程序结构和处理过程的基础上,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明书的规定正常进行。又称为结构测试。

2)黑盒测试:通过软件的外部表现来发现其缺陷和错误,完全不考虑程序内部结构和处理过程,在程序界面处进行测试,只是检查程序是否按照需求规格说明书的规定正常实现。

3)灰盒测试:介于白盒测试与黑盒测试之间的测试,关注输出对于输入的正确性;同时也关注内部表现,但是这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、时间、标志来判断内部的运行状态。

帅哥为什么要拒绝美女的微信?

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多