软件测试理论-软件测试分类与软件测试的原则

一 软件测试的分类

1.1 按照开发阶段测试

1.1.1 单元测试

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

1.1.2 集成测试(接口测试)

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

1.1.3 确认(冒烟)测试

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

目的:功能是否实现,一般都是正向的测试。一般不作为正式的测试环节。

1.1.4 系统测试

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

全面的:系统所有功能的测试,模拟所有的软件用户的操作。

全方位的:和硬件系统的联系;和系统软件的联系;和其他软件的关系。

1.1.5 验收测试

是软件的最后一个环节。按照项目书或合同、供需双方的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。

一般供求双方验收测试。一般有三种验收测试的主题。

α测试:软件的开发商自己进行的交付前的测试

β测试:软件的需求方自己进行的测试

γ测试:第三方的软件测试

1.2 按照软件特性划分

1.2.1 功能测试:是黑盒测试的一方面,它检查世家软件的功能是否符合用户需求

  • 逻辑功能测试
  • 界面测试
  • 易用性测试
  • 安装/卸载测试
  • 兼容性测试

1.2.2 性能测试

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

1.2.3 安全性测试

验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰。

1.3 其他测试

1.3.1 回归测试

  • 是指对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例
  • 目的:

        1.验证之前版本产生的所有缺陷已经全部被修复;

        2. 确认修复这些缺陷没有引发新的缺陷

1.3.2 冒烟测试

是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。也叫可测性测试。

1.3.3 随机测试

是指测试人员基于经验和直觉的测试,发现一些边缘性的错误。

1.3.4 猴子测试

把自己当成不懂产品的笨蛋或者小动物,随便乱点,没有任何的主观意识和想法参与进来,让一些意想不到的操作造成错误的结果。

1.4  按照测试技术划分

1.4.1 黑盒测试

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

1.4.2 白盒测试

通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒子里,检查是否所有的结构及路径都是正确的。检查软件内部动作是否按照设计说明的规定进行。白盒测试又称结构测试

1.4.3 灰盒测试

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

1.5 总结

系统测试和黑盒测试重点核心是功能测试

集成测试和灰盒测试又称接口测试

单元测试和百合测试是对代码进行测试

自动化测试归属功能测试

性能测试、安全测试归属专项测试

二 测试原则

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值