当前位置: 首页 > news >正文

软件测试阶段简介_单元测试、集成测试、配置项测试、系统测试

文章目录

  • 前言
  • 一、软件测试“V”模型
  • 二、单元测试
  • 三、集成测试
  • 四、配置项测试
  • 五、系统测试
  • 总结


前言

一般来说,按照软件的研制阶段划分,软件测试可分为单元测试、集成测试、配置项测试、系统测试等。本文将对上述各测试阶段进行逐一介绍。


一、软件测试“V”模型

V模型是软件测试过程中一种比较常见的模型,是基于瀑布开发模型而来。虽然V模型有很多缺点,但是它明确规定了各个测试阶段,并能很清晰的反映开发过程和测试过程的关系(如下图所示)。本文将按V模型的顺序讲解各个测试阶段。
在这里插入图片描述

二、单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行测试验证,比如C语言中单元指一个函数,C++里单元可以指一个类。单元测试是白盒测试,主要依据软件详细设计和软件代码进行,不仅要求验证软件设计的功能,还要求对软件代码的覆盖率进行测试。
一般来说,单元测试的流程如下:
在这里插入图片描述

三、集成测试

集成测试(integration testing),在军工行业中也称部件测试,一种旨在暴露接口以及集成组件/系统间交互时存在的缺陷的测试。集成测试是灰盒测试,主要依据软件概要设计和软件代码进行,不仅要求验证软件设计的功能,还要求对软件单元调用的覆盖率和调用时序进行测试。
一般来说,集成测试的流程如下:
在这里插入图片描述

四、配置项测试

配置项测试(CSCI testing),主要是对单个可独立运行的软件进行的测试。配置项测试是黑盒测试,主要依据软件需求规格说明书进行,验证软件的功能、性能、可靠性、兼容性、易用性、维护性、信息安全、可移植性等。
一般来说,配置项测试的流程如下:
在这里插入图片描述

五、系统测试

系统测试(system testing),主要是对多个软件组成的系统进行的整体测试。系统测试是黑盒测试,主要依据系统规格说明书进行,验证系统的功能、性能、可靠性、兼容性、易用性、维护性、信息安全、可移植性、接口等。
一般来说,系统测试的流程如下:
在这里插入图片描述


总结

以上测试阶段主要依据《GB/T 15532 计算机软件测试规范》和《GJB/Z 141 军用软件测试指南》进行划分。在更新的测试标准中,在配置项测试和系统测试之间,还有一个配置项集成测试,依据系统接口需求规格说明进行,主要针对多个软件的集成进行测试,比如各个软件之间工作时序、接口等测试,测试流程和系统测试类似,此处不再赘述。
总的来说,每个测试阶段的测试对象、测试依据、测试侧重点都不相同,每个测试阶段都有其存在的意义,只有把每个阶段的测试都执行好,才能尽可能的确保软件质量。

相关文章:

  • 表的增删改查 进阶(二)
  • MySQL(四)——约束
  • Python GUI 新手入门教程:轻松构建图形用户界面
  • [足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05
  • 我用 ChatGPT 做了一次探索性数据分析,真的太太太实用了!
  • 【算法与数据结构】Java实现查找与排序
  • TPU编程竞赛系列|第八届集创赛“算能杯“报名开启!
  • 阿里云服务器配置选择之线下IDC直接映射
  • 【备战蓝桥杯】吃奶酪问题 / 超硬核,文附template拓展知识!
  • 位运算的规则(算法村第十一关青铜挑战)
  • ❤ Uniapp使用四( 高阶使用配置和各种实现篇)
  • 【CC++】为什么 scanf 函数在读取字符串时不需要用取地址运算符
  • git中合并分支时出现了代码冲突怎么办
  • 可狱可囚的爬虫系列课程 12:在网站中寻找 API 接口(补充)(王者荣耀英雄信息抓取)
  • 【AUTOSAR】RTE 接口类型、应用场景差别及实例讲解
  • 【翻译】babel对TC39装饰器草案的实现
  • 2017 前端面试准备 - 收藏集 - 掘金
  • Computed property XXX was assigned to but it has no setter
  • Docker容器管理
  • Logstash 参考指南(目录)
  • Redis中的lru算法实现
  • 百度小程序遇到的问题
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 小李飞刀:SQL题目刷起来!
  • 一天一个设计模式之JS实现——适配器模式
  • gunicorn工作原理
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #每天一道面试题# 什么是MySQL的回表查询
  • (4)Elastix图像配准:3D图像
  • (Java)【深基9.例1】选举学生会
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (七)Knockout 创建自定义绑定
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET与 java通用的3DES加密解密方法
  • @Autowired和@Resource的区别
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @RequestMapping 的作用是什么?
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [.net] 如何在mail的加入正文显示图片
  • [20170705]diff比较执行结果的内容.txt
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [C#]科学计数法(scientific notation)显示为正常数字
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [HTML]HTML5实现可编辑表格
  • [javaSE] GUI(Action事件)
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [Linux]——彻底学通权限
  • [linux]资料收纳
  • [LLM][FT]大模型Fine-Tuning相关技术0
  • [POJ2104]K-th Number