软件测试案例 | 气象探测库存管理系统的集成测试计划

将经过单元测试的模块按照设计要求连接起来,组成规定的软件系统的过程被称为“集成”。集成测试也被称为组装测试、联合测试、子系统测试或部件测试等,其主要用于检查各个软件单元之间的接口是否正确。集成测试同时也是单元测试的逻辑扩展,即在单元测试基础之上将所有模块按照概要设计的要求组装成为子系统或系统,然后进行测试。但是,不同的集成策略会导致集成测试方法的选择不同。在实际工作中,时常有这样的情况发生: 每个模块都能单独工作,但是这些模块集成在一起后就不能正常工作。其主要原因是模块间相互调用时会引入许多新的问题: 数据经过接口可能丢失; 一个模块对另一个模块可能造成不应有的影响; 单个模块可以接受的误差在组装后不断累积,达到了不可接受的程度等。所以,单元测试后必须进行集成测试,发现并排除这些单元在集成后可能发生的问题,最终构成符合要求的软件系统。

集成测试主要关注的问题: 应该测试哪些构件和接口?以什么样的次序进行集成?有哪些集成测试策略?

本节将利用一个实际的集成测试案例———“气象探测库存管理系统”的集成测试计划的制订来介绍集成测试相关内容。

01、测试前的准备

1. 目的

气象探测库存管理系统经过编码、单元测试后已形成待集成单元,本集成测试计划主要描述如何进行集成测试活动、如何控制集成测试活动、集成测试活动的流程以及集成测试活动的工作安排等。最终确保程序连接起来也能正常工作,确保程序的完整运行。

2. 范围

本次测试计划主要是针对软件的集成测试,不含硬件、系统测试以及单元测试(需要已经完成单元测试)。

主要的任务如下。

(1) 测试在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。

(2) 测试各个子功能组合起来后能否达到父功能的预期要求。

(3) 测试某个模块的功能是否会对另一个模块的功能产生不利的影响。

(4) 测试全局数据结构是否有问题。

(5) 测试单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。

主要测试方法是使用黑盒测试方法测试集成的功能,并且迭代地对之前的集成进行回归测试。

3. 术语

入库: 气象装备入库是仓储管理业务的第一阶段,是指采购的气象设备进入仓库储存时进行的设备接收、检验检测、搬运、清点数量、检查质量和办理入库手续等一系列活动的总称。气象装备入库管理包括装备接运、装备检验检测、开具合格证和建立装备档案等4方面,其基本要求: 保证入库气象装备数量准确、质量符合要求、包装完整无损、手续完备清楚,入库迅速。

出库: 气象装备出库业务是仓库根据相关业务部门或装备保障部门开出的气象装备出库凭证(提货单、调拨单),按其所列气象装备编号、名称、规格、型号、数量等项目,组织气象装备出库的一系列工作的总称。出库发放的主要任务: 所发放的气象装备必须准确、及时、保质保量地发给收货单位,包装必须完整、牢固、标记正确清楚,核对必须仔细。

盘存: 盘存就是定期或不定期地对在库气象装备进行全部或部分清点,以确实掌握该所属周期内的气象装备应用情况,并对此加以改善,加强管理。掌控气象装备的“进(进货)、销(领货)、存(存货)”,可避免囤积太多气象装备或缺失气象装备的情况发生,其所得数据对计算成本及损失将是不可或缺的。

软件测试: 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。

测试计划: 测试计划是指对软件测试的对象、目标、要求、活动、资源及日程进行整体规划,以确保软件系统的测试能够顺利进行的计划性文档。

测试用例: 测试用例指对一项特定的软件产品进行测试任务的描述,体现具体测试方案、方法、技术和策略的文档。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。

测试对象: 测试对象是指特定环境下运行的软件系统和相关的文档。作为测试对象的软件系统可以是整个业务系统,也可以是业务系统的一个子系统或一个完整的部件。

测试环境: 测试环境指对软件系统进行各类测试所基于的软、硬件设备和配置。一般包括硬件环境、网络环境、操作系统环境、应用服务器平台环境、数据库环境以及各种支撑环境等。

02、测试策划

本系统的集成测试采用自底向上的集成方式。自底向上的集成方式将从程序模块结构中最底层的模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,由于它的子模块(包括子模块的所有下属模块)事前已经完成组装并经过测试,所以不再需要编制桩模块(一种能模拟真实模块,给待测模块提供调用接口或数据的测试用软件模块)。选择这种集成方式是因为管理方便,且测试人员能较好地锁定软件故障所在位置。

软件集成顺序采用自底向上的集成方式,先子系统,再顶系统。

子系统集成顺序上,功能集成采用先查找,后增加、删除、修改的顺序。

模块集成采用先入库出库模块,后盘点和管理员界面的顺序。

集成测试的主要步骤如表1所示,主要有以下几步。

(1) 制订集成测试计划。

(2) 设计集成测试。

(3) 实施集成测试。

(4) 执行集成测试。

(5) 评估集成测试。

■ 表1 集成测试的主要步骤

 

其中,集成元素包括子系统集成、功能集成、数据集成、函数集成等。

1. 子系统集成

(1) 入库模块。气象装备入库是仓储管理的第一阶段,其包括装备接运、装备检验检测、开具合格证和建立装备档案等4方面。

(2) 出库模块。气象装备出库业务是仓库根据相关业务部门或装备保障部门开出的气象装备出库凭证(提货单、调拨单),按其所列气象装备编号、名称、规格、型号、数量等项目,组织气象装备出库的一系列工作总称。

(3) 盘存模块。盘存就是定期或不定期地对在库气象装备进行全部或部分清点。

2. 功能集成

有关增加、删除、修改、查询各个数据的操作。

3. 数据集成

数据传递是否正确,传入值的控制范围是否一致等。

4. 函数集成

函数是否调用正常。

03、测试设计与执行

在本项目中,集成测试主要涉及以下几个过程。

1. 设计集成测试用例

(1) 采用自底向上集成测试的步骤,按照概要设计规格的说明,明确有哪些被测模块。在熟悉被测模块性质的基础上对被测模块进行分层,在同一层次上的测试可以并行进行,然后排出测试活动的先后关系,制订测试进度计划。

(2) 在步骤(1)的基础上,按时间线序关系将软件单元集成为模块,并测试在集成过程中出现的问题。这个步骤可能需要测试人员开发一些驱动模块来驱动集成活动中形成的被测模块。对于比较大的模块而言,可以先将其中的某几个软件单元集成为子模块,然后再集成为一个较大的模块。

(3) 将各软件模块集成为子系统(或分系统)。检测各子系统是否能正常工作。同样,可能需要测试人员开发少量的驱动模块来驱动被测子系统。

(4) 将各子系统集成为最终用户系统,测试各分系统能否在最终用户系统中正常工作。

2. 实施测试

(1) 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告(测试报告必须覆盖所有测试用例)上。

(2) 测试过程中发现Bug,将Bug填写在使用的管理平台上(Bug状态为NEW)发给集成部门经理。

(3) 对应责任人接到管理平台发过来的Bug(Bug状态为ASSIGNED)。

(4) 对明显的并且可以立刻解决的Bug,将其发给开发人员; 对不是Bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改(Bug状态为RESOLVED,决定设置为INVALID); 对目前无法修改的,将其放到下一轮次进行修改(Bug状态为RESOLVED,决定设置为REMIND)。

3. 问题反馈与跟踪

(1) 开发人员接到发过来的Bug后应立刻修改(Bug状态为RESOLVED,决定设置为FIXED)。

(2) 测试人员接到管理平台发过来的错误更改信息后应该逐项复测,填写新的测试报告(测试报告必须覆盖上一次测试中所有REOPENED的测试用例)。

4. 回归测试

(1) 重新测试修复Bug后的系统。重复步骤3,直到本步骤回归测试结果达到系统验收标准。

(2) 如果测试有问题则返回步骤2(Bug状态为REOPENED),否则关闭这项Bug(Bug状态为CLOSED)。

5. 测试总结报告

完成以上4步后,综合相关资料生成测试报告。

整个集成过程如图1所示。

■ 图1 气象探测库存管理系统

04、集成测试的验收标准

1. 模块验收标准

接口: 接口提供的功能或者数据正确。

功能点: 验证程序与产品描述、用户文档中的全部功能点相对应。

流程处理: 验证程序与产品描述、用户文档中的全部流程相对应。

外部接口: 验证程序与产品描述、用户文档中的全部外部接口相对应。

2. 集成测试验收标准

集成测试设计用例中所设计的功能测试用例必须全部通过,性能及其他类型测试用例通过90%以上。在未通过的测试用例中,不能含有“系统崩溃”和“严重错误”之类的错误,“一般错误”应小于5%。

达到以上条件后可申请本轮集成测试结束,提交集成部测试经理,集成部测试经理召集本组人员开会讨论,决定下一轮测试工作。

当且仅当某次回归测试后测试结果符合软件质量的要求后,方可结束集成测试。

05、测试总结

记录问题: 利用Bug管理平台记录Bug,并指定到相关责任人。把Bug管理平台和需求设计文档、开发文档、测试文档、测试用例等联系起来,做成一个软件研发工具套件,之后即可通过一个Bug找到对应的文档、代码、测试用例等。

解决问题: 小组会议以及开发人员协调负责人,协调测试开发之间的工作。

测试结束后,形成测试报告。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/111828.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时序预测 | MATLAB实现基于PSO-BiLSTM、BiLSTM时间序列预测对比

时序预测 | MATLAB实现基于PSO-BiLSTM、BiLSTM时间序列预测对比 目录 时序预测 | MATLAB实现基于PSO-BiLSTM、BiLSTM时间序列预测对比效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现基于PSO-BiLSTM、BiLSTM时间序列预测对比。 1.Matlab实现PSO-BiLSTM和BiLSTM…

nlp大模型课程笔记

自然语言处理基础和应用 👆说明之前的大模型其实有很多都是基于迁移学习的方法。 attention机制的总结,解决了信息瓶颈的问题。 处理词组时BPE的过程 👆pos表示的是token所在的位置 👆技巧是layer normalization。

SQLServer2008数据库还原失败 恢复失败

源地址:http://www.taodudu.cc/news/show-1609349.html?actiononClick 还原数据库问题解决方案 在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们…

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization Segment Any Anomaly without Training via Hybrid Prompt Regularization PDF: https://arxiv.org/pdf/2305.10724.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch Py…

Redis数据类型(list\set\zset)

"maybe its why" List类型 列表类型是⽤来存储多个有序的字符串,列表中的每个字符串称为元素(element),⼀个列表最多可以存储个2^32 - 1个元素。在Redis中,可以对列表两端插⼊(push&#xff09…

SpringBoot笔记——(狂神说)——待续

路线 javase: OOPmysql:持久化 htmlcssjsjquery框架:视图,框架不熟练,css不好; javaweb:独立开发MVC三层架构的网站了∶原始 ssm :框架:简化了我们的开发流程,配置也开始较为复杂; war: tomcat运行 spring再简化: SpringBoot - jar:内嵌tomca…

hive lateral view 实践记录(Array和Map数据类型)

目录 一、Array 1.建表并插入数据 2.lateral view explode 二、Map 1、建表并插入数据 2、lateral view explode() 3、查询数据 一、Array 1.建表并插入数据 正确插入数据: create table tmp.test_lateral_view_movie_230829(movie string,category array&…

多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比

多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比 目录 多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预…

springboot中使用ElasticSearch

引入依赖 修改我们的pom.xml&#xff0c;加入spring-boot-starter-data-elasticsearch <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>编写配…

基于Java+SpringBoot+Vue前后端分离秒杀系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

数学建模:层次分析法

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 层次分析法 步骤描述 将问题条理化&#xff0c;层次化&#xff0c;构建出一个有层次的结构模型。层次分为三类&#xff1a;目标层&#xff0c;准则&#xff08;指标&#xff09;层&#xff0c;方案层。比…

Fooocus:一个简单且功能强大的Stable Diffusion webUI

Stable Diffusion是一个强大的图像生成AI模型&#xff0c;但它通常需要大量调整和提示工程。Fooocus的目标是改变这种状况。 Fooocus的创始人Lvmin Zhang&#xff08;也是 ControlNet论文的作者&#xff09;将这个项目描述为对“Stable Diffusion”和“ Midjourney”设计的重新…

SAP_ABAP_BDC录屏案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、实施步骤 1.1 SHDB --> 新建记录-->输入录制的tcode :BP,-->执行录屏操作-->录制结果封装成函数 1.2 SHDB …

机器学习的测试和验证(Machine Learning 研习之五)

关于 Machine Learning 研习之三、四&#xff0c;可到秋码记录上浏览。 测试和验证 了解模型对新案例的推广效果的唯一方法是在新案例上进行实际尝试。 一种方法是将模型投入生产并监控其性能。 这很有效&#xff0c;但如果你的模型非常糟糕&#xff0c;你的用户会抱怨——这…

PMP®证书增持 CSPM-2证书,含金量高,快来办理

2023年6月起&#xff0c;持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2&#xff0c;不用重新考试&#xff0c;不用重新学习&#xff0c;原PMP证书不影响正常使用&#xff0c;相当于多了一个国标项目管理证书。 第一步准备资料 1、填写能力评价表 2、提供2张2寸蓝底彩照&…

胡歌深夜发文:我对不起好多人

胡歌的微博又上了热搜。 8月29日01:18分&#xff0c;胡歌微博发文称&#xff1a;“我尽量保持冷静&#xff0c;我对不起好多人&#xff0c;我希望对得起这短暂的一生”&#xff0c;并配了一张自己胡子拉碴的图&#xff0c;右眼的伤疤清晰可见。 不少网友留言称“哥你又喝多了吗…

共享数据-vue3

vuex方案 安装vuex4.x 两个重要变动&#xff1a; 去掉了构造函数Vuex&#xff0c;而使用createStore创建仓库 为了配合composition api&#xff0c;新增useStore函数获得仓库对象&#xff1b;获取路由对象使用useRouter global state 由于vue3的响应式系统本身可以脱离…

Python学习 -- 异常捕获技巧

在编写Python代码时&#xff0c;异常处理是确保程序稳定性的关键。Python提供了灵活的异常捕获机制&#xff0c;包括try...except语句、try...except...else语句和try...except...finally语句。本文将详细介绍这些异常处理技巧&#xff0c;并为每种情况提供代码案例。 一、try…

支付宝小程序商城源码开源运营版+模块化DIY+多套模板 一键创建小程序

分享一款支付宝小程序商城源码&#xff0c;源码开源可二开&#xff0c;已测试完美运营版&#xff0c;帮你一键搭建支付宝商城小程序&#xff0c;含多套模板、自由DIY功能和完整的搭建部署教程。程序支持除支付宝小程序商城制作外&#xff0c;还支持一键同步微信、抖音、百度、今…

uni-app开发小程序,radio单选按钮,点击可以选中,再次点击可以取消

一、实现效果&#xff1a; 二、代码实现&#xff1a; 不适用官方的change方法&#xff0c;自己定义点击方法。 动态判断定义的值是否等于遍历的值进行回显&#xff0c;如果和上一次点击的值一样&#xff0c;就把定义的值改为null <template><view><radio-group&…