测试的分类

按照开发阶段划分

上一个阶段的准出条件是下一个阶段的准入条件。

  • 单元测试

单元测试又称模块测试,是针对软件设计的最小单位一程序模块进行正确性检验的测试工作。 其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。主要测试两个:单元内部的逻辑结构(条件的真假,功能的基本路径)和代码内容(代码编写规范)。

详细设计文档会产生一个单元测试方案。

单元测试测得是内聚,集成测试测得是耦合

  • 集成测试

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

扇入:当前模块被其他模块调用的技术
扇出:当前模块调用其它模块的技术,程序的复杂度与扇出数的平方成正比
具有大扇入和大扇出的处于不良设计

  • 确认测试

确认测试也叫有效性测试。是在模拟的环境下,验证软件的所有功能和性能及其他特性是否与用户的预期要求致。 通过了确认测试之后的软件,才具备了进入系统测试阶段的资质

  • 系统测试

系统测试是在真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件支持平台等)正确配置、连接,也就是兼容性和应用性,并最终满足用户的所有需求

  • 验收测试

是软件产品检验的最后一个环节。 按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统,直接决定产品是否可以进入发布阶段

α测试: 由公司内部人员扮演用户的角色来完成的验收测试
β测试:由实际用户完成的验收测试

单元测试阶段主要是白盒;集成测试阶段是白盒为主,黑盒为辅;确认测试阶段是黑盒测试未主,白盒测试为辅;系统测试阶段则主要就是黑盒测试。

按照测试技术划分

  • 黑盒测试

■ 通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子 ,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查样序是否按照需求规格说明书的规定正常实现。黑盒测试主要做的是功能测试,主要关注的是输入和输出之间的对应关系。

  • 白盒测试

■ 透明盒测试,通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。白盒测试又称结构测试,关注代码内部逻辑结构和路径。

  • 灰盒测试

■介于白盒测试与黑盒测试之间的测试,常用于web测试。灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
■灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计

白盒测试当中静态测试为主,动态测试为辅;黑盒测试中以动态测试为主,静态测试为辅。

按照代码运行划分

  • 静态测试

指不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的过程
◆代码测试:主要测试代码是否符合相应的标准和规范
◆界面测试:主要测试软件的实际界面与需求中的说明是否相符
◆文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求

  • 动态测试

指实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。所以我们判断个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序

按照软件特性划分

  • 功能测试

■是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求
◆逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试

  • 性能测试

功能的另一个指标,主要关注软件中的某功能在指定的时间、空间条件下,是否使用正常;
软件的性能包括很多方面,主要有时间性能和空间性能两种

其他划分

  • 回归测试

是指对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例
目的:
◆1.验证之前版本产生的所有缺陷已全部被修复;
◆2.确认修复这些缺陷没有引发新的缺陷

  • 冒烟测试

■是指在对一个新版本进行系统大规模的测试之前,先验证一 下软件的基本功能是否实现,是否具备可测性。所以也叫可测性测试
如果冒烟测试没有通过,后续测试也不用展开

  • 随机测试

■也称为随意性测试,是指测试人员基于经验和直觉的探索性测试,其目的是模拟用户的真实操作,并发现些边缘性的错误

冒烟测试--执行该版本的所有测试用例--大范围的随意性测试--改版本测试总结

软件测试生命周期

测试生命周期
测试生命周期

软件测试的原则

  • 所有测试的标准都是建立在用户需求之上。
  • 软件测试必须基于"质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。
  • 事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估
  • 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。
  • 穷举测试是不可能的。甚至一个大小适度的程序,其路径排列的数量也非常大,因此,在测试中不可能运行路径的每一种组合
  • 第三方进行测试会更客观,更有效。
  • 软件测试计划是做好软件测试工作的前提。
  • 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性
  • 对发现错误较多的程序段,应进行更深入的测试。-般来说, -段程序中已发现的错误数
    越多,其中存在的错误概率也就越大。
  • 重视文档,妥善保存一-切测试过程文档(测试计划、测试用例、测试报告等)
  • 应当把"尽早和不断地测试”作为测试人员的座右铭
  • 回归测试的关联性一 定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见
  • 测试应从"小规模”开始,逐步转向"大规模”。必不可将测试用例置之度外,排除随意性。必必须彻底检查每一 个测试结果。
  • 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系
  • 对测试错误结果一定要有一 个确认的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值