APP测试Web测试

测试类型

2020-05-04  本文已影响0人  Jeff_9021

软件测试的分类——从不同的角度进行分类(掌握)

测试种类

1)        根据开发阶段划分为:单元测试、集成测试、系统测试、验收测试

单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。

对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。

总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

单元测试包含内容:--入口和出口函数、--输入和输出信息、--错误处理信息、--部分边界数值测试

集成测试

集成测试,也叫组装测试或联合测试。

在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。

实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。

集成测试包括两种方法:--非增量式集成 --增量式集成:自顶向下增量式测试、自底向上增量式测试

系统测试(System Testing)

将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试.

系统测试是针对整个产品系统进行的测试

目的:验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案

系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。

系统测试对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。

系统测试范围:--功能、--界面、--性能、--安全性、--安装、--卸载、--易用性、--兼容性等

验收测试

验收测试指按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。在系统测试的后期,以用户测试为主或有测试人员等质量保证人员共同参与的测试。

α测试:指的是指的是由用户,测试人员、开发人员等共同参与的内部测试。

β测试:指的是内测后的公测,即完全交给最终用户测试

验收测试的重要性:验收签字,收钱。

2)        根据是否运行程序划分:静态测试、动态测试

静态测试

不运行被测试的软件,而只是静态的检查代码、界面或者文档

方式名称执行人员检查内容检查过程

桌面检查程序员对源程序代码进行分析、检验,并补充相关的文档,发现程序中的错误

代码审查程序员和测试员组成的审查小组通过阅读、讨论和争议,以程序进行静态分析的过程第一步:小组成员提前阅读设计规格书、程序文本等相关文档

第二步:召开程序审查会,开发人员读程序,审查小组讨论、发现、解决问题

动态测试

实际运行被测试的软件,输入相应的测试数据,检查实际的输出结果是否和预期结果相一致的过程。

3)        根据是否查看代码划分:白盒测试、灰盒测试、黑盒测试

白盒测试

又称为结构测试。着重于程序内部结构和算法,不关心功能和性能指标

灰盒测试

介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。

黑盒测试

把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明

备注:灰盒测试有啥缺点?

◇不适用于简单的系统——所谓的简单系统,就是简单到总共只有一个模块。由于灰盒测试关注于系统内部模块之间的交互。如果某个系统简单到只有一个模块,那就没必要进行灰盒测试了。

◇对测试人员的要求比黑盒测试高——从上面的介绍来看,灰盒测试要求测试人员清楚系统内部由哪些模块构成,模块之间如何协作。因此,对测试的要求就提高了。因此,会带来一定的培训成本。不过捏,依照俺的经验,培训难度不大。稍微有点基础的测试人员,都可以在短期培训之后胜任。

◇不如白盒测试深入——显然,灰盒不如白盒那么深入。不过捏,考虑到灰盒测试相比白盒测试有显著的成本优势,该缺点不是太明显。

4)        其他分类:回归测试、冒烟测试、随机测试、敏捷测试

回归测试

对软件的新版本测试时,重复执行上一个版本测试时使用的测试用例。防止出现“以前应用没有的问题现在出问题了” 。

1、回归测试是指重复以前的全部或部分的测试用例。

2、新加入测试的模组,可能对其他模组产生副作用,故须进行某些程度的回归测试。

3、回归测试的重心,以关键性模组为核心。

冒烟测试(BVT测试(Build Verification Test ))

冒烟测试的对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。

随机测试(又名猴子测试)

测试数据是随机产生的,在测试用例之外。只能作为一个测试的补充。

敏捷测试(敏捷开发引发)

首先敏捷测试(Agile testing)是测试的一种,原有测试定义中通过执行被测系统发现问题,通过测试这种活动能够提供对被测系统提供度量等概念还是适用的。

敏捷测试是遵循敏捷**的一种测试实践:

1、强调从客户的角度,即是从使用系统的用户的角度,来测试系统。

2、重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。

3、建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。

敏捷测试的特点:高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈。

上一篇下一篇

猜你喜欢

热点阅读