【软件测试】下载多个开源软件,安装并测试这个软件,找到软件bugs或者软件设计不合理之处。

FreeCAD 基于 Qt 的计算机辅助设计程序 测试汇报

目录

一、软件获取及介绍
1.1软件选择
1.2软件介绍
1.3软件来源及下载
1.4参考资料
二、小组分工策略
三、测试环境及方法简介
3.1文心一言工具介绍
3.2 测试环境:
硬件环境
软件环境
3.3测试方法
四、黑盒测试
4.1测试用例
4.2测试结果
4.3Addon Manager checking connection不成功
五、白盒测试
5.1 Addon Manager checking connection不成功
5.2 Python 控制台单元测试
5.3 Python控制台创建和编辑几何图形的测试脚本
六、 AI测试
6.1测试结果
Addon Manager checking connection不成功
七、人工测试与AI测试结果对比
八、总结

一、软件获取及介绍

1.1软件选择
本次实验选择了清华大学开源软件镜像站中的应用软件:FreeCAD (0.21.1)版本进行测试。
1.2软件介绍
FreeCAD 是一个基于 OpenCASCADE 的开源 CAD/CAE 工具。FreeCAD 是一个基于OpenCASCADE的开源CAD/CAE工具,是一种通用的3D CAD建模。FreeCAD直接的目的是在机械工程和产品设计,广泛应用于建筑或其他工程专业,工程制图等。
1.3软件来源及下载
清华大学开源软件镜像(https://mirrors.tuna.tsinghua.edu.cn/)

1.4参考资料
序号 文档名称 备注
1 O. C. Zienkiewicz. The Finite Element Method for Solid and Structural Mechanics (6th Edition). Butterworth-Heinemann, 2005.
2 O. C. Zienkiewicz. The Finite Element Method for Fluid Dynamics(6th Edition). Butterworth-Heinemann, 2005.
3 王勖成. 有限单元法. 清华大学出版社, 2003.
4 张来平. 计算流体力学网格生成技术. 科学出版社,2017
5 张正科. 计算流体力学网格生成方法. 科学出版社, 2020

二、小组分工策略

小组成员 角色 主要职责
测试经理 制作汇报PPT,汇报&答辩
测试工程师 软件获取与部署
测试工程师 编写测试用例并进行软件测试
测试工程师 编写软件测试报告(本文档)

三、测试环境及方法简介

3.1文心一言工具介绍
文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识中融合学习,得到预训练大模型,在此基础上采用有监督精调、人类反馈强化学习、提示等技术,具备知识增强、检索增强和对话增强的技术优势。
网址:https://yiyan.baidu.com/
3.2 头条豆包工具介绍
豆包是字节跳动公司基于云雀模型开发的AI工具,提供聊天机器人、写作助手以及英语学习助手等功能,它可以回答各种问题并进行对话,帮助人们获取信息,支持网页 Web 平台,iOS 以及安卓平台。
网址:https://www.doubao.com/chat/

3.3 测试环境:
硬件环境
序号 名称 型号 配置 用途
2 联想 12th Gen Intel® Core™ i9-12900H 2.50 GHz 450GB可用磁盘空间 测试客户端
软件环境
序号 名称 版本号 用途
1 Windows操作系统 Windows 11 旗舰版 客户端
2 FreeCAD 0.21.1 被测软件
3.4测试方法
手工测试FreeACD各功能模块,包括各模块的界面、样式及业务流程。针对功能缺陷找出相应的源码,进行白盒测试,提出修复性方案。

四、黑盒测试

4.1测试用例
本设计用例涵盖了FreeACD中:新建文档,新建对象,分组,生成面,草图绘制,几何图形绘制,材料参数设置,边界设定处理,网络绘制,计算工具验证后处理操作,浏览器选择,Python控制台调用,Addon Manager,安装非标准库15个功能进行了测试,并对异常的显示进行记录。用例如下图所示:

序号 测试内容 是否通过 优先级 备注
1 新建文档,每一个CAD模型都是一个文档 是 高
2 新建对象,右侧会出现菜单,实现相关参数 是 高
3 分组,将对象进行分类 是 高
4 生成面,选择参数化生成工具生成面 是 高
5
草图绘制,再到Part工作台,拉伸获得常用体 是 高
6 几何图形绘制 是 高
7 材料参数设置 是 高
8 边界设定处理 是 高
9 网络绘制 是 高
10 计算工具验证 是 高
11 后处理操作,包括连接数据、操作等 是 高
12 浏览器选择 否 高
13 Python控制台调用 否 高
14 Addon Manager 否 高
15 安装非标准库 阻塞 高
4.2测试结果
在测试过程中,大部分界面及业务可以正常,新建文档正常,新建对象正常,分组正常,生成面正常,草图绘制正常,几何图形绘制正常,材料参数设置正常,边界设定处理正常,网络绘制正常,计算工具验证后处理操作正常。

1.Addon Manager checking connection不成功
问题描述:打开FreeCAD,单击Tool下的 Addon Manager菜单,一直处于Checking for connection to GitHub状态。
问题截图:

问题代码:

问题初步分析:
该段代码主要是因为gist.github.com无法访问导致,将地址在浏览器中打开,也显示无法打开网页。

五、白盒测试

5.1 Addon Manager checking connection不成功
打开addonmanager_workers_startup.py文件,查找githubusercontent.comg,代码如下:

在源代码中,主要是因为gist.github.com无法访问导致,将地址在浏览器中打开,也显示无法打开网页。

对异常代码的修正:

1.将githubusercontent.com用gitfast.org替换,代码如下

2.打开addonmanager_macro.py,增加一句话:rawcodeurl=False ,代码如下:

5.2 Python 控制台单元测试
在Python控制台中运行简单的算术运算(例如,2 + 2,3 - 1,2 * 3,6 / 3),并检查结果是否与预期相符。
在Python控制台中分配变量(例如,x = 5,y = x + 2),并检查变量的值是否与预期相符。

import unittest
import FreeCAD

class TestPythonConsole(unittest.TestCase):
    def test_simple_arithmetic(self):
        # Test simple arithmetic operations
        self.assertEqual(FreeCAD.console.runCommand("2 + 2"), 4)
        self.assertEqual(FreeCAD.console.runCommand("3 - 1"), 2)
        self.assertEqual(FreeCAD.console.runCommand("2 * 3"), 6)
        self.assertEqual(FreeCAD.console.runCommand("6 / 3"), 2)
    
    def test_variable_assignment(self):
        # Test assignment of variables
        FreeCAD.console.runCommand("x = 5")
        self.assertEqual(FreeCAD.console.runCommand("x"), 5)
        FreeCAD.console.runCommand("y = x + 2")
        self.assertEqual(FreeCAD.console.runCommand("y"), 7)

if __name__ == '__main__':
unittest.main()

变量的值是否与预期相符。
5.3 Python控制台创建和编辑几何图形的测试脚本
使用Python控制台中的Part模块中的makeBox函数创建一个立方体,并检查是否创建成功。
使用Python控制台修改立方体的尺寸,并检查修改后的尺寸是否与预期相符。

import unittest
import FreeCAD

class TestPythonGeometry(unittest.TestCase):
    def setUp(self):
        # Create a new document
        FreeCAD.newDocument("TestGeometry") 
    def test_create_box(self):
        # Test creation of a box
        FreeCAD.console.runCommand("import Part")
        FreeCAD.console.runCommand("box = Part.makeBox(10, 20, 30)")
        self.assertIsNotNone(FreeCAD.console.runCommand("box"))
    def test_modify_box(self):
        # Test modification of a box
        FreeCAD.console.runCommand("import Part")
        FreeCAD.console.runCommand("box = Part.makeBox(10, 20, 30)")
        FreeCAD.console.runCommand("box.Length = 40")
        self.assertEqual(FreeCAD.console.runCommand("box.Length"), 40)

if __name__ == '__main__':
    unittest.main()

变量的值是否与预期相符。

六、AI测试

6.1测试结果
1.Addon Manager checking connection不成功
打开addonmanager_workers_startup.py文件,查找githubusercontent.comg,代码如下:

将代码放置于文心一言,检测是否有错误,测试结果如下:

将代码放置于头条豆包,检测是否有错误,测试结果如下:

七、人工测试与AI测试结果对比

从人工白盒测试和AI测试两个方法的测试结果截图来看,AI测试有一定的局限性,主要会从语法上来判断代码的正确性,但也可以做为手工测试之前的第一道关卡,比如record方法上的问题,AI就检测出来了。AI测试相当智能,速度很快,可与人工测试配合着来,进一步提高测试效率。

八、总结

本次软件测试报告完成了本次实验选择了清华大学开源软件镜像站中的应用软件:FreeCAD (0.21.1)版本进行测试。,依次执行了黑盒、白盒、AI工具测试,手工测试过程中,发现了1处异常,Addon Manager checking connection不成功,并进行了源码分析。利于文心一言工具测试时,也报出了建议警示。可以简单总结为AI工具测试在速度上比手工测试要快,但无法完全替代手工测试。

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值