本文简述了常见的软件测试类型,以及提供了一些简单的图表来展示各种测试间的关系和一些近似数据。图表并非经过严格测量,而是根据经验画出的示意近似值,并且假定的前提条件是,尽可能在现有条件下把自动化程度提到最高。
各类常见的软件测试简介
单元测试
用于测试最小的独立功能单元,比如一个函数的输入输出,或者一个类的组成和调用。单元测试的细节程度高,覆盖面广,因此数量也多。
功能测试
一般用于测某个功能模块,比如说测试系统是否能完成某一个任务。由于功能测试的范围完全取决于系统的结构,所以相对单元测试来说,功能测试边界更为模糊。
集成测试
用于测试系统功能或模块间的交互,比如说各种接口和边界,以保证数据能平滑地从一个地方进入另一个地方。和功能测试互相配合,都属于中层测试。
系统测试
测试整个系统的功能和需求的完整性。由于其复杂程度也可变换的用例很多,所以自动化难度大,有些部份必须通过手工完成。属于外部高层次的测试,覆盖面较小,执行成本也较高。
回归测试
当系统更新或者升级时,对更新的部份,或者所有关联的部份,甚至整个系统进行测试。
验收测试
由系统的使用者来校验系统是否能满足功能上的需求,以及最终完成任务的结果是否正确。
性能测试
测试系统在指向的条件下是否能达到速度和数据处理量等性能指标。
安全测试
测试系统是否能保障数据的完整性、机密性,以及抵抗内部和外部伤害的能力。
可用性(易用性)测试
测试系统是否对于人类用户友好,是否容易使用。
白盒/灰盒/黑盒测试
这三种本身并不是一种独立且可执行的测试种类,而是指跟据测试者对系统内部原理和结构的信息利用程度而划分出来的测试种类。
白盒测试是指在直接针对源代码和内部数据结构进行的测试,比如说单元测试和功能测试,需要知道每个函数或者模块的运作原理。
黑盒测试是指那些不需要看源代码或内部数据流,直接从系统的外部,或者以最终用户的角度进行的测试,比如说系统测试,性能测试,可用性测试等。
灰盒测试则是介乎于黑白之间,也就是说不需要了解源代码和内部原理,但是对系统的组件进行的测试,比如说集成测试。
此图展示了不同层次的白盒测试对代码覆盖的相对关系。由图可知单元测试的覆盖率最高,而功能测试和集成测试则各自负责不同的方面,当然它们之间也会有很大的重复覆盖的区域。
此图展示了白盒率测试作用之间的重叠关系。
内部(Alpha)测试/公开(Beta)测试
内测和公测都是针对打包并部署好的最终成品而进行的。内测是在开发组织内部,或者通过邀请少量最终用户进行。公测则是通用软件向公众发布,让所有最终用户参与试用。
各类测试的简易对比
此图展示了各种测试随着项目推进,在各个时间段所要投入的综合成本,包括编写,运行和维护
此图展示了各种测试相对要花费的机器和人力成本。
此图展示了各种测试的覆盖面和精准度。覆盖面是指对代码各部分(分支,子程序)的执行覆盖情况。精准度是指是否精细正确地测试数据和逻辑。注:左下角的红点是颜色错误,应该是黑色(安全测试)。
此图展示了各种测试实现自动化的难度。
此图展示了各种测试对测试人员的经验和技术水平的要求。
引图展示了各种测试在问题后,定位问题所在的难度。
分享到:
相关推荐
分散加载文件浅释.pdf 本文主要介绍分散加载文件的格式及应用,旨在帮助初学者快速了解分散加载文件的基本概念、语法和应用实例。 基础知识 在嵌入式系统中,分散加载文件是一种特殊的文件格式,用于描述程序的...
《软件生存周期各阶段活动定义浅释》 软件生存周期是指从软件开发的起点——需求提出,直至软件在实际应用中淘汰的整个过程。这一概念的提出,旨在规范和优化软件开发流程,确保项目的有效管理、维护和升级。软件...
软件生存周期各阶段活动定义浅释.pdf
周立功单片机:分散加载文件浅释.pdf文档中,作者详细解释了如何编写分散加载文件,并通过实际的嵌入式应用实例,展示了如何配置和使用这些文件。例如,可能会讲解如何为特定的微控制器配置中断向量表、栈空间、堆...
《周立功单片机:分散加载文件浅释》是一本深入探讨单片机编程技术的专业书籍,尤其关注分散加载文件这一重要概念。在嵌入式系统开发中,单片机扮演着核心角色,而理解如何有效地管理和加载程序到单片机的存储器中是...
浅释“教学模式
有时候用户希望将不同代码放在不同存储空间,也就是通过编译器生成的映像文件需要 包含多个域,每个域在加载和运行时可以有不同的地址。要生成这样的映像文件,必须通过 某种方式告知编译器相关的地址映射关系 ...
浅释“教学模式ppt.ZIP
大乘百法明门论浅释
4. 测试:包括单元测试、集成测试、系统测试和验收测试,确保软件功能的正确性和性能的稳定性。测试计划应提前编写,并在软件验收时作为依据。 5. 部署与运行:软件发布并投入实际使用,可能需要进行安装、配置等...
变频器低频运行浅释主要探讨了在变频器驱动的交流调速系统中,当系统运行在较低频率时面临的问题以及相应的解决方案。在低频启动时,启动转矩减小,可能导致启动困难,这主要是因为随着频率的降低,电动机的机械特性...
《名词浅释(CPU篇)》是对计算机中央处理器(CPU)相关术语的详细解析,涵盖了处理器的基本构造、技术特点和不同型号的CPU的区别。本文主要介绍了一些关键的CPU概念: 1. **3D Now!**:这是AMD公司推出的一种指令集...
3. **服务测试**:WSDL文件可以用于自动化测试工具,以便验证服务是否按照定义正确工作。 4. **服务治理**:在SOA(Service-Oriented Architecture)环境中,WSDL是服务注册、版本控制、服务监控等的关键文档。 四...
### 浅释 .NET 三层架构的设计与实现 #### 一、引言 随着信息技术的飞速发展,软件系统的复杂度不断提高,为了更好地满足企业级应用的需求,软件架构设计成为了关键。传统的一体化开发模式逐渐显露出局限性,无法...
PID_比例积分微分控制方法_原理浅释与相关资料搜集.doc
半导体材料在当今科技发展中扮演着至关重要的角色,它们是电子工业的基础,对现代社会的影响深远。本文主要探讨了半导体材料在科学技术中的地位、发展历程以及分类。 首先,半导体材料在科学技术中的地位无可替代。...
常用插件及浅释 也可以看我的博客: 插件可以来这个仓库查找: 这里给出几个平时常用的as插件,方便我们的开发。点击标题就直接可以进入插件的github源码查看。 如何自己开发插件,请参考鸿洋大神的博客: as第一大...
【全固态中波广播发射机故障判断浅释】 全固态中波广播发射机作为现代广播电台的主要设备,以其高效、稳定、节能等优势逐渐取代了传统的电子管发射机。这种发射机的工作原理和故障判断是维护人员必须掌握的关键知识...
《从人性分析角度浅释人性化医疗构建》这篇文章深入探讨了现代医学中人性化医疗服务的重要性,并指出在科技进步和资本驱动的背景下,构建人性化医疗所面临的挑战。人性化的医疗关注的不仅是疾病的治疗,更是对患者...