软件工程分析报告07测试计划书——基于Paddle的肝脏CT影像分割

目录

测试计划书

 1. 引言

 2. 测试目标

 3. 测试方法

3.1 黑盒测试

(1)等价类划分:

(2)边界值分析:

(3)因果图:

​编辑(4)错误推测法

3.2 白盒测试

测试用例!!

 4. 测试环境

 5. 测试计划

6.测试内容

(1)单元测试

(2)集成测试

(3)确认测试

(4)系统测试


测试计划书

 1. 引言

本测试计划书旨在描述基于Paddle框架、使用Unet语义分割网络进行CT影像中肝脏和肝脏肿瘤分割的测试策略和方法。通过该测试,旨在验证模型的准确性、稳定性和性能。

 2. 测试目标

本次测试的主要目标是评估Unet网络在肝脏和肝脏肿瘤分割任务上的性能。具体包括以下方面:

· 验证Unet网络对CT影像中肝脏的分割准确性,以IOU指标进行评估。

· 验证Unet网络对CT影像中肝脏肿瘤的分割准确性,以IOU指标进行评估。

· 验证Unet网络在不同数据集上的泛化能力和稳定性。

 3. 测试方法

本次测试将采用黑盒测试和白盒测试相结合的方式进行。

3.1 黑盒测试

为了对Unet网络进行全面的黑盒测试,我们将从以下几个方面进行测试:

(1)等价类划分:

根据输入数据的特点,将其划分为不同的等价类,并从每个等价类中选择代表性的测试用例进行测试。例如,对于CT影像数据,我们可以将其划分为正常肝脏、肝脏肿瘤、肝硬化等等等价类。然后,我们可以从每个等价类中选择代表性的测试用例,以验证Unet网络在不同情况下的分割效果。

 

(2)边界值分析:

针对输入数据的边界情况,设计测试用例进行测试,以验证系统在边界值处的表现。例如,对于肝脏和肝脏肿瘤的大小、形状、位置等边界情况,设计相应的测试用例进行测试。这有助于我们评估Unet网络在处理边缘情况时的性能和稳定性。

(3)因果图:

根据系统的功能和交互关系,绘制因果图,设计相应的测试用例进行测试。例如,根据Unet网络的输入、输出和内部处理过程,设计相应的测试用例进行测试。这有助于我们评估Unet网络在不同情况下的处理过程和结果。

(4)错误推测法

1. 数据预处理错误:将3D体数据转换成2.5D切片时,可能会出现数据丢失或者切片顺序不正确等问题。

2. 模型训练错误:在训练过程中可能会出现过拟合、欠拟合等问题,导致模型性能不佳。

3. 分割预测错误:在进行肝脏和肝脏肿瘤分割时,可能会出现模型无法准确识别肝脏和肝脏肿瘤区域的问题,导致分割结果不理想。

4. 用户上传数据错误:用户可能会上传错误的CT影像数据或格式不正确的数据,导致系统无法进行分割处理。

5. 系统后处理错误:在进行后处理步骤时,可能会出现算法错误或者数据处理错误,导致临床指标计算不准确。

6. 性能评估错误:在对分割模型的性能进行评估时,可能会出现评估指标不准确或者评估方法不恰当的问题。

7. 结果展示错误:在展示分割结果和临床指标时,可能会出现数据显示错误或者界面设计不合理的问题,导致用户无法正确理解结果。

针对上述可能存在的错误和特殊情况,可以进行错误推测法分析,设计如下测试用例:

1. 数据预处理错误:

a) 生成的切片数量不正确。

b) 切片顺序不正确。

2. 模型训练错误:

a) 过拟合或者欠拟合问题。

b) 训练过程中出现异常导致模型无法训练。

3. 分割预测错误:

a) 对于某些CT影像数据无法进行准确的分割。

b) 对于某些肝脏或者肝脏肿瘤形状、位置复杂的情况,分割结果不理想。

4. 用户上传数据错误:

a) 上传格式不正确的文件。

b) 上传大小超过系统能够处理的限制。

5. 系统后处理错误:

a) 临床指标计算错误。

b) 后处理算法出现异常。

6. 性能评估错误:

a) 评估指标计算不正确。

b) 评估方法不恰当。

7. 结果展示错误:

a) 数据显示错误。

b) 界面设计不合理。

3.2 白盒测试

项目路径概述:该程序有L1(sacdfgh),L2(sacbdfgh),L3(sacdfegh),L4(sacbdfegh)

语句覆盖,使得被测程序的每个可执行语句都至少执行一次,只需执行路径L1即可

判定覆盖,每个判定框的真假分支都至少执行一次,只需执行L2,L3

条件覆盖:使得被测程序的每个判定中的每个条件的所有可能可能取值都至少执行一次。只需L4,L3

判定/条件覆盖,每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次,只需执行L1,L4

条件组合覆盖,使得每个判断的所有可能的条件取值组合至少执行一次,只需L1,L2,L3,L4.

路径覆盖,使得被测程序的每条可能路径都至少执行一次,只需L1,L2,L3,L4

点覆盖,执行时至少经过程序图中每个节点一次

边覆盖,使得程序执行路径的每一个边执行一次

测试用例!!

测试用例编号:T001

测试项目:正常肝脏分割测试(L1)

标题:验证系统对正常肝脏CT影像的分割准确性

重要级别:高

预置条件:已有一张正常肝脏的CT影像和标准分割结果

输入:正常肝脏的CT影像

操作步骤:

1. 选择一张正常肝脏的CT影像进行分割;

2. 比较系统生成的分割结果和标准分割结果,计算IOU值;

3. 判断分割结果是否符合需求。

预期输出:系统生成的分割结果与标准分割结果相似,IOU值达到0.9以上。

测试用例编号:T002

测试项目:检测错误CT图像模块(L2)

标题:验证系统对错误CT图像的判断

重要级别:中

预置条件:错误的CT的图像

输入:一张错误的CT图像

操作步骤

  1. 选择一张错误CT图像输入
  2. 检测到CT图像错误,让操作者从新输入
  3. 输入正确CT图像

4.比较系统生成的分割结果和标准分割结果,计算IOU值;

5. 判断分割结果是否符合需求。

6.预期输出:系统生成的分割结果与标准分割结果相似,IOU值达到0.9以上。

测试用例编号:T003

测试项目:分割CT图像模块(L3)

标题:检测分割CT图像标签的准确性

重要级别:高

预置条件:准备根据不同分割标签的图像与专家验证结果

输入:一张需要特殊分割的CT图像

操作步骤:

  1. 选择一张需要特殊分割的CT图像
  2. 在分割失败后,调整分割标签选项
  3. 再次进行分割

测试用例编号:T004

测试项目:项目整体检测错误(4)

标题:验证系统对各模块错误的判断

重要级别:高

预置条件:准备需要特殊分割和错误的CT的图像

输入:一张需要特殊分割以及错误的图像

操作步骤:

  1. 输入上述图像
  2. 判断出CT图像错误,从新输入一张没错误而且需要特殊分割的图像
  3. 分割失败,调整分割标签选项
  4. 再次进行分割

 4. 测试环境

· 操作系统:Windows 10

· 开发工具:Python 3.7, Paddle框架

· 硬件要求:具备足够的计算资源和存储空间

·测试工具:pytest、coverage

 5. 测试计划

5.1 测试准备阶段

· 确定测试目标和测试方法。

· 安装配置测试环境。

· 准备测试数据集。

6.测试内容

本次测试包括单元测试、集成测试、确认测试和系统测试四个阶段。

(1)单元测试

• 按下图配置测试环境

• 编写测试数据

• 进行多个单元的并行测试

针对Unet网络的各个组件进行单元测试,确保其功能的正确性。

单元测试将针对系统中的各个模块进行测试,主要测试项如下:

·图像读取模块是否能够正确读取CT影像数据。

·模型加载模块是否能够正确加载训练好的模型。

·分割模块是否能够正确对肝脏CT影像进行分割。

·结果输出模块是否能够正确输出分割结果。

(2)集成测试

自顶向上集成

自顶向下集成

将Unet网络与其他模块进行集成测试,验证系统整体的功能和性能。

集成测试将测试系统中各个模块之间的接口和交互是否正常,主要测试项如下:

·图像读取模块和模型加载模块之间的接口是否正常。

·模型加载模块和分割模块之间的接口是否正常。

·分割模块和结果输出模块之间的接口是否正常。

(3)确认测试

1. 功能测试:对软件所有功能进行测试,验证其是否与需求规约一致,并能够满足用户需求。具体测试内容包括:

a) 用户登录:测试用户登录功能是否正常运行,能否正确识别用户身份并授予相应权限。

b) 上传CT影像:测试系统是否能够成功接受上传的CT影像文件,并将其进行后续处理。

c) 查看分割结果:测试用户是否能够顺利查看分割后的肝脏和肝脏肿瘤图像以及临床指标,并确认其准确性。

d) CT影像分割:测试系统使用2.5D Unet网络对上传的CT影像进行分割的准确性。

e) 后处理:测试系统是否能够顺利进行必要的后处理步骤,以提取有用的临床指标。

f) 性能评估:测试系统能否对分割模型的性能进行评估,计算IOU等指标。

2. 配置复审:对程序和文档配置进行复审,确保其齐全、分类有序,并包括了软件维护所必须的细节。具体测试内容包括:

a) 程序配置复审:测试程序的配置是否齐全、分类有序,并包括了软件维护所必须的细节。

b) 文档配置复审:测试文档的配置是否齐全、分类有序,并包括了软件维护所必须的细节。

c) 两者一致性检验:测试程序和文档配置是否一致,是否能够相互匹配。

3. α测试:由一个用户在开发环境下进行测试,验证软件的功能是否符合设计要求。具体测试内容包括:

a) 代码编译测试:测试是否能够成功编译程序代码,并输出正确的结果。

b) 单元测试:测试各个模块的正确性和稳定性,发现并修正潜在的错误。

c) 集成测试:测试各个模块之间的协同工作,确保系统整体功能的完整性和稳定性。

4. β测试:由软件的多个用户在一个或多个用户的实际使用环境下进行测试,验证软件是否能够正常运行,并满足用户需求。具体测试内容包括:

a) 功能测试:测试所有功能是否正常运行,并能够满足用户需求。

b) 兼容性测试:测试软件是否与不同操作系统、硬件设备、浏览器等兼容。

c) 性能测试:测试软件的响应速度、稳定性和负载能力等性能指标。

d) 安全测试:测试软件的安全性,包括数据安全、用户隐私保护等方面。

e) 用户体验测试:测试软件的用户体验是否良好,是否符合用户习惯和期望。

(4)系统测试

1. 功能测试:验证系统是否按照预期功能进行操作。包括以下几个方面:

   - 用户登录测试:确认系统能够正确验证用户身份和授予相应的权限。

   - CT影像上传测试:验证系统能够接受并正确处理上传的CT扫描图像文件。

   - 分割结果查看测试:确保用户能够正确查看分割后的肝脏和肝脏肿瘤图像。

   - 临床指标查看测试:确认系统能够正确计算和展示肝脏及肝脏肿瘤体积、肝脏肿瘤负担等临床指标。

2. 性能测试:测试系统在正常负载下的性能表现。可以包括以下方面:

   - 分割速度测试:验证系统在给定的硬件配置下,对CT影像进行分割的速度是否满足实际需求。

   - 资源利用率测试:检查系统在运行过程中对CPU、内存等资源的占用情况,确保系统资源利用合理。

   - 并发访问测试:模拟多个用户同时访问系统,测试系统对并发请求的处理能力。

3. 强度测试:测试系统在非正常工作条件下的稳定性和可靠性。可以包括以下方面:

   - 容错能力测试:在系统运行过程中,人为制造错误并观察系统是否能够检测到错误、修正错误并继续正常运行。

   - 安全性测试:评估系统中已存在的安全措施和保密措施是否有效,确保系统没有漏洞并能够保护用户数据的安全性。

   - 异常情况测试:模拟系统异常情况,如网络中断、数据库故障等,测试系统对这些异常情况的处理能力。

4. 可用性测试:评估系统的易用性和用户体验。可以包括以下方面:

   - 用户界面测试:验证系统的用户界面设计是否符合用户习惯,操作是否简单直观。

   - 错误处理测试:测试系统对用户输入错误或异常操作的处理能力,确保系统能够给出明确的提示信息。

   - 响应时间测试:测试系统对用户请求的响应时间,确保系统能够及时响应用户操作。

 5. 测试执行和记录

根据测试计划,执行各个阶段的测试,并记录测试过程中的关键信息,包括测试用例、测试数据、测试结果等。

 6. 缺陷管理

在测试过程中,发现的缺陷将记录在缺陷管理系统中,并按照优先级进行修复和验证。

肝脏和肝脏肿瘤分割系统进行了集成测试。测试主要覆盖了图像读取模块、模型加载模块、分割模块和结果输出模块等方面。经过测试,系统的各个模块都能够正常工作,没有发现明显的问题。

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

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

相关文章

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中,该注解会失效! 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…

MySQL时间类型注意事项

MySQL常见的时间类型有YEAR、DATE、TIME、DATETIME、TIMESTAMP,绝大多数业务都是精确到秒的,所以通常用后两种。并且MySQL5.6以后后两种支持精度到毫秒(最多小数点后6位) DATETIME占8字节,不论要不要毫秒 TIMESTAMP占4…

密钥安全存储方案探讨与实践

随着信息技术的迅猛发展和应用范围的不断扩大,我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中,密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案,并提出一些解决方案。 一、密钥安全存…

数据结构 1、基本概念 动态数组实现

一、大O表示法 判断一个算法的效率 难点 二、线性表 1.定义 2.数学定义 线性表是具有相同类型的n(n>0)个数据元素的有限序列(a0,a1,a2,...,an),ai是表项,n是表长度 3.性质 4.线性表的基本操作 1.创建线性表 2…

微软允许OEM对Win10不提供关闭Secure Boot

用户可能将无法在Windows 10电脑上安装其它操作系统了,微软不再要求OEM在UEFI 中提供的“关闭 Secure Boot”的选项。 微软最早是在Designed for Windows 8认证时要求OEM的产品必须支持UEFI Secure Boot。Secure Boot 被设计用来防止恶意程序悄悄潜入到引导进程。问…

论文精读 MediaPipe BlazeFace

BlazeFace:Sub-millisecond Neural Face Detection on Mobile GPUs BlazeFace:基于移动GPUs的亚毫秒神经人脸检测 论文地址:arxiv.org/pdf/1907.05047.pdf 源码地址:GitHub - tkat0/PyTorch_BlazeFace: Unofficial PyTorch implementation…

【OpenVINO】基于 OpenVINO C# API 部署 RT-DETR 模型

基于 OpenVINO C# API 部署 RT-DETR 模型 1. RT-DETR2. OpenVINO3. 环境配置4. 模型下载与转换5. C#代码实现5.1 模型推理类实现1. 模型推理类初始化2. 图片预测API 5.2 模型数据处理类RTDETRProcess1. 定义RTDETRProcess2. 输入数据处理方法3. 预测结果数据处理方法 6. 预测结…

【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV1)模型算法详解

【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV1)模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV1)模型算法详解前言GoogLeNet(InceptionV1)讲解Inception结构InceptionV1结构1x1卷积的作用辅助分类器 GoogLeNet(Inceptio…

算法通关村第十六关青铜挑战——原来滑动窗口如此简单!

大家好,我是怒码少年小码。 从本篇开始,我们就要开始算法的新篇章了——四大思想:滑动窗口、贪心、回溯、动态规划。现在,向我们迎面走来的是——滑动窗口思想!😝 滑动窗口思想 概念 在数组双指针里&am…

虚拟化服务器+华为防火墙+kiwi_syslog访问留痕

一、适用场景 1、大中型企业需要对接入用户的访问进行记录时,以前用3CDaemon时,只能用于小型网络当中,记录的数据量太大时,本例采用破解版的kiwi_syslog。 2、当网监、公安查到有非法访问时,可提供基于五元组的外网访…

SPI协议详解

SPI协议详解 文章目录 SPI协议详解前言一、SPI是什么?二、通信原理SPI 通信的 4 种工作模式 总结 前言 好久没写这种协议了,最近正好需要用到,便详细的复习一下。 一、SPI是什么? SPI是串行外设接口(Serial Periphe…

MES系统如何赋能制造企业实现4M防错追溯?

生产过程4M管理和MES系统的结合是现代制造业中关键的质量管理实践,它有助于提高生产效率、降低生产成本并保证产品质量。本文将深入探讨4M管理的概念,以及MES系统如何赋能制造企业实现4M防错追溯。 一、4M管理的概念 4M管理是指在制造过程中管理和控制四…

leetCode 92.反转链表 II + 图解

92. 反转链表 II - 力扣&#xff08;LeetCode&#xff09; 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 206. 反转链表 - 力扣&#xff08;LeetCode&am…

区块链链游合约系统开发项目模式技术方案

​随着区块链技术的发展&#xff0c;链游合约系统开发逐渐成为了一个备受关注的项目。本文将探讨区块链链游合约系统开发项目的技术方案&#xff0c;包括项目背景、开发目标、技术架构、系统流程、安全措施等方面的内容。 一、项目背景 链游是一种基于区块链技术的游戏&#xf…

加密磁盘密钥设置方案浅析 — LUKS1

虚拟化加密磁盘密钥设置方案浅析 前言元数据分析元数据格式整体格式头部格式加密算法密码校验key slot格式其它字段 流程验证 前言 我们在虚拟化加密磁盘密钥设置方案浅析 — TKS1中介绍了加密磁盘密钥设置方案&#xff0c;TKS1对密钥设置(Linux Unified Key Setup)的流程和方…

阿里云容器镜像服务的运维总结

一、背景 容器镜像服务&#xff0c;作为一个可选付费产品&#xff0c;主要作用是存储docker的镜像仓库&#xff0c;供k8s拉取到Pod节点里。 你可以自己搭建一个harbor镜像仓库&#xff0c;在公司的开发环境下&#xff0c;将image推送到仓库&#xff1b;然后在生产k8s从仓库拉取…

ECharts:显示暂无数据

ECharts 是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;满足各种需求&#xff0c;实现各种炫酷的统计图表效果。 如上图所示&#xff0c;有数据的时候固然好看&#xff0c;但是当它没有数据的时候&#xff0c;就是光秃秃的一片&#xff0c;所…

排序算法之-快速

算法原理 丛待排序的数列中选择一个基准值&#xff0c;通过遍历数列&#xff0c;将数列分成两个子数列&#xff1a;小于基准值数列、大于基准值数列&#xff0c;准确来说还有个子数列&#xff1a;等于基准值即&#xff1a; 算法图解 选出基准元素pivot&#xff08;可以选择…

[文件读取]shopxo 文件读取(CNVD-2021-15822)

1.1漏洞描述 漏洞编号CNVD-2021-15822漏洞类型文件读取漏洞等级⭐⭐漏洞环境VULFOCUS攻击方式 描述: ShopXO是一套开源的企业级开源电子商务系统。 ShopXO存在任意文件读取漏洞&#xff0c;攻击者可利用该漏洞获取敏感信息。 1.2漏洞等级 高危 1.3影响版本 ShopXO 1.4漏洞复现…

【Git】第一篇:Git安装(centos)

git查看安装版本 以我自己的centos7.6为例&#xff0c;我们可以输入以下指令查看自己是否安装了git. git --version安装了的话就会显示自己安装的版本。 git 安装 安装很简单&#xff0c;一条命令即可 sudo yum install git -ygit 卸载 sudo yum remove git -y