Swagger UI 允许任何人(无论您是开发团队还是最终用户)都可以可视化 API 资源并与之交互,而无需任何实现逻辑。它是根据您的 OpenAPI(以前称为 Swagger)规范自动生成的,具有可视化文档,可简化后端实现和客户端使用。
软件测试是软件质量保证的关键步骤。越早发现软件中存在的问题,修复问题的成本就越低,软件质量也就越高,软件发布后的维护费用越低。
为了能更好的保障软件质量,在软件测试的实践中,慢慢形成了一些流程用来达到这一目标。下面就来介绍一下常见的测试流程。
传统测试流程
在传统的测试流程中包含了如图所示的步骤。
下面分别介绍下每一步流程的含义。
单元测试
单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。
- 测试阶段:编码后
-
- 测试对象:最小模块
-
- 测试人员:开发
-
- 测试依据:代码、注释、详细设计文档
-
- 测试方法:白盒测试
-
集成测试
- 集成测试是在软件系统集成过程中所进行的测试。目的是检查软件模块之间的接口是否正确。
-
- 测试阶段:单元测试完成后
-
- 测试对象:模块间的接口
-
- 测试人员:开发
-
- 测试依据:单元测试模块、概要设计文档
-
- 测试方法:黑盒与白盒结合
-
冒烟测试
冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件基本功能进行确认验证的手段。
- 测试阶段:提测后
-
- 测试对象:整个系统
-
- 测试人员:测试
-
- 测试依据:冒烟测试用例
-
- 测试方法:黑盒测试(手工或自动化手段)
-
系统测试
- 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。
-
- 测试阶段:冒烟测试通过后
-
- 测试对象:整个系统
-
- 测试人员:测试
-
- 测试依据:需求文档、测试方案、测试用例
-
- 测试方法:黑盒测试
- 一般系统的主要测试工作都集中系统测试阶段。根据不同的系统,所进行的测试种类也很多。
- 在系统测试中,又包括如下测试种类:
-
- 功能测试:功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。
-
- 性能测试:性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
-
- 安全测试:安全测试检查系统对非法入侵的防范能力。
-
- 兼容测试:兼容性测试主要是测试系统在不同的软硬件环境下是否能够正常的运行。
-
验收测试
- 验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求。
-
- 测试阶段:发布前
-
- 测试对象:整个系统
-
- 测试人员:用户/需求方
-
- 测试依据:需求、验收标准
-
- 测试方法:黑盒测试
-
软件测试模型
- 软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法。众所周知,开发过程的质量决定了软件的质量,同样的,测试过程的质量将直接影响测试结果的准确性和有效性。软件测试过程和软件开发过程一样,都遵循软件工程原理,遵循管理学原理。
随着测试过程管理的发展,软件测试专家通过实践总结出了很多很好的测试过程模型。这些模型将测试活动进行了抽象,并与开发活动有机的进行了结合,是测试过程管理的重要参考依据。
下面介绍几种常见的测试模型。
V 模型
V 模型是开发模型中瀑布模型的一种改进。瀑布模型将软件生命周期划分为计划、分析、设计、编码、测试和维护六个阶段,由于早期的错误可能要等到开发后期的测试阶段才能发现,所以可能带来严重的后果。
V 模型在这点改进了瀑布模型,在软件开发的生存期,开发活动和测试活动几乎同时开始,在开发活动进行的时候,测试活动开始进行相应的文档准备工作,从而改进软件开发的效率和效果。
V 模型的优点是明确的标注了测试过程中存在着那些不同的测试类型,并且可以清楚的表达测试阶段和开发过程各阶段的对应关系。
但是,它也有一些缺点。比如容易让人误解为测试是在开发完成之后的一个阶段。而且由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些 Bug 可能不容易找到其根源,并且代码修改起来很困难。在实际工作中,因为需求变更较大,使用 V 模型可能导致要重复变更需求、设计、编码、测试,返工量会比较大。
W 模型
W 模型从 V 模型演化过来。相对于 V 模型,W 模型增加了软件各开发阶段中应同步进行的验证和确认活动。
W 模型由两个 V 字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。测试与开发是同步进行的,有利于尽早的全面发现问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZKOUsshU-1651720622229)(https://ceshiren.com/uploads/default/original/3X/6/a/6a60e1ed8fcc4faf9cd38f7ca1750c2e92211214.png)]
W 模型认为测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试。
W 模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。
对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。
使用 W 模型的优点很明显。首先测试的活动与软件开发同步进行,而且测试的对象不仅仅是程序,还包括需求和设计。这样可以尽早发现软件缺陷可降低软件开发的成本。
但是 W 模型还是有一些缺点存在。比如开发和测试依然是线性的关系,需求的变更和调整,依然不方便。而