一、测试模型
随着测试过程的管理和发展,测试人员通过大量的实践,从而总结出了不少测试模型,如常见的V模型、W模型、H模型等。这些模型与开发紧密结合,对测试活动进行了抽象,成为了测试过程管理的重要参考依据。
V模型:V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
1、单元测试
又称模块测诚,针对软件设计中的最小单位—程庄模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
单元定义:C中指一个函数,Java中指一个类,在图形化的软件中,单元一般指1个窗口,1个菜单。
2、集成测试
又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。
3、系统测试(system testing)
指的是将整个软件系统看为一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。
系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等。
4、验收测试
α测试:Alpha是内测版本,即现在所说的C8,比版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。
V模型的优缺点:
1、优点:
包含了底层测试(单元测试)和高层测试(系统测试);
清楚的标识了开发和测试的各个阶段;
自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
2、缺点:
自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;
实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。
W模型:由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。
W模型的优缺点:
1、优点:
开发伴随着整个开发周期,需求和设计同样要测试;
更早的介入测试,可以发现初期的缺陷,修复成本低;
分阶段工作,方便项目整体管理。
2、缺点:
开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!
H模型:相对于V模型和W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。
H模型的优缺点:
1、H模型的优点:
开发的H模型揭示了软件测试除测试执行外,还有很多工作;
软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;
软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;
软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。
2、H模型的缺点:
由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;
H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;
测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;
二、测试流程
为什么要有测试流程?
因为企业在软件开发过程中,测试是确保软件质量的关键步骤。我们必须把控好每一项测试流程。从测试计划到测试用例设计,再到测试执行与测试报告的输出,这些环节相互关联,构成一个完整的测试流程体系。
目前的测试流程主要有需求评审、计划编写、用例设计、用例执行、缺陷管理、测试报告
需求评审:通过将需求规约文档发布给产品、需求方进行检查,发现需求规约中存在缺陷(如错误、不完整性、二义性等)的过程(确保各部门需求理解一致)。
测试计划编写:详细的测试计划可以帮助测试项目组之外的人了解为什么和怎样验证产品(测什么,谁来测,怎么测)。
用例设计:测试用例是一组关于测试输入、操作和预期输出的描述,主要描述如何进行测试以及期望的结果(验证项目是否符合需求的操作文档)。
用例执行:当测试环境搭好后,就可以进行测试用例的执行(项目模块开发完成开始执行用例文档实施测试)。
缺陷管理:缺陷管理/软件缺陷管理(Defect Management)是在软件生命周期中识别、管理、沟通任何缺陷的过程(从缺陷的识别到缺陷的解决关闭),确保缺陷被跟踪管理而不丢失(对缺陷管理的过程,一般可借助工具进行管理)。
测试报告:测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础(实施测试结果文档)。
三、今日学习思维导图