现在是第六周
现在我需要的是想一想我们这个项目的诉求注意事项,以及在推出后与受众人机交互中需要留意得点,正好这几天刚学了软件测试技术,感觉像一个提前测试一样:
现实意义
- 提高医疗效率:通过自动化的病例病情问答,可以极大地提高医疗服务的效率,减少医生在基础信息收集和解释上的时间消耗。
- 优化患者体验:患者可以随时随地通过该程序了解自己的病情和治疗方案,减少了等待和焦虑,提升了患者的就医体验。
- 辅助医疗决策:该程序可以作为医生的辅助工具,提供基于大数据和机器学习算法的治疗建议,帮助医生做出更准确的决策。
人机交互设计建议
-
用户友好性:
- 界面设计应简洁明了,避免过多的冗余信息和复杂的操作流程。
- 提供清晰明了的病例输入模板,确保用户能够准确、快速地输入自己的病情信息。
- 反馈机制应即时有效,让用户了解自己的操作是否成功以及下一步应该怎么做。
-
智能性:
- 利用大模型对病例进行深度学习和理解,确保程序能够准确理解用户的问题并给出合理的回答。
- 对于复杂或不确定的病例,程序应能够给出相应的提示或建议,引导用户进行更详细的描述或咨询专业医生。
-
隐私保护:
- 在设计和开发过程中,应充分考虑患者隐私的保护问题,确保用户的个人信息和病例数据不被泄露或滥用。
- 可以通过数据加密、访问控制等技术手段来保障数据的安全性。
-
可访问性:
- 程序应支持多种输入方式(如文字、语音等),以满足不同用户的需求。
- 对于老年人或视力、听力障碍等特殊群体,应提供相应的辅助功能(如放大字体、语音播报等)。
-
持续优化:
- 定期对程序进行更新和优化,以适应新的医疗需求和技术发展。
- 通过用户反馈和数据分析来不断改进人机交互设计,提升用户体验和满意度。
第七周——第九周乐
Python脚本的学习和应用
在我们开始准备这一项目的时候,遇到了一些问题,首当其冲的就是我对于Python是完全不熟(,然后再就是我们的模型在项目的初期总没有办法在服务器上跑起来(这也是一个问题),于是我们需要来写一个脚本让他可以自动问答,这样暂时取代模型的功能。以便其他朋友写前后端更加方便。于是我根据网上的教程一起学习了。
1. 首先确定Python版本与操作系统的兼容性
首先,你需要确保你的操作系统与你想使用的Python版本兼容。Python有多个版本可供选择,但Python 2已经停止维护,因此被推荐使用Python 3。你可以通过访问Python的官方网站(https://www.python.org/downloads/)来查看不同版本的兼容性信息。
2. 安装Python
接下来,你需要下载并安装Python。访问Python的官方网站,选择适合你操作系统的安装包进行下载。安装过程中,你可以选择添加Python到系统的环境变量中,以便在命令行中直接运行Python命令。安装完成后,你可以通过打开命令行窗口并输入python --version
或python3 --version
来验证Python是否安装成功。
3. 选择并安装Python集成开发环境(IDE)
为了提高开发效率,你可以选择一个适合你的Python集成开发环境(IDE)。PyCharm、VS Code、Spyder等都是非常受欢迎的IDE选择。前往所选IDE的官方网站下载安装包,并按照安装向导进行安装。安装完成后,你需要配置IDE以使用Python解释器。这通常包括选择已安装的Python解释器、设置项目的工作目录等。
4. 配置环境变量(可选)
如果你希望能够在命令行中直接运行Python命令,或者希望IDE能够自动找到Python解释器,你可能需要配置环境变量。在Windows系统中,你可以通过“系统属性”->“高级”->“环境变量”来添加Python的安装路径到系统的Path
变量中。对于IDE的环境变量配置,你可以参考IDE的官方文档或在线教程。
5. 安装必要的库和依赖(可选)
Python有许多第三方库和依赖可以帮助你完成各种任务。你可以使用Python的包管理工具pip来安装这些库。在命令行中输入pip install library_name
(将library_name
替换为你想安装的库的名称)即可安装。如果你安装了Anaconda或Miniconda,你还可以使用conda命令来安装和管理Python库和依赖。conda不仅支持Python库,还支持其他语言和数据科学工具。
以下是我参考的博客:
Python环境配置教程(最新超详细图文版)-CSDN博客
python入门第一步——环境配置 - 知乎
实用工具---python环境安装注意事项_cnmaps-1.1.7-py3
------------------------在第十周-------------------------------
根据我配置好的环境和短暂的Python代码学习,写出来这个脚本然后贴到了包里
1. 导入模块
python复制import sys
import time
sys
模块:这个模块提供了一些变量和函数,用于与Python解释器进行交互或访问一些由解释器使用或维护的变量和与解释器强烈交互的函数。在这里,我们使用sys.stdout.buffer.write()
来直接写入标准输出缓冲区,以便在控制台上显示文本。time
模块:这个模块提供了各种与时间相关的函数。在这里,我们使用time.sleep()
函数来模拟系统的启动时间和处理时间。
2. 实现问答逻辑
问答逻辑部分使用了一个无限循环来持续接收用户的输入,并根据输入内容作出响应。
python复制# 模拟系统启动时间
time.sleep(5)
sys.stdout.buffer.write("你好,欢迎使用医疗问答系统!\n".encode('utf-8'))
while True:
# 接收用户输入
user_input = input("请输入你的病情描述(输入'exit'退出):")
# 检查退出指令
if user_input.strip() == "exit":
print("感谢使用,退出医疗问答系统...")
break
# 模拟数据的发送和处理时间
time.sleep(5)
# 模拟模型的输出
sys.stdout.buffer.write("根据你的描述,可能的诊断结果是:模型输出\n".encode('utf-8'))
time.sleep(5)
:模拟系统的启动时间。当脚本运行时,会先等待5秒,然后显示欢迎消息。同样地,在每次用户输入后,也会等待5秒来模拟系统的处理时间。input()
函数:用于从标准输入(通常是键盘)读取一行,并返回该行的字符串。这里,我们用它来接收用户的病情描述。user_input.strip()
:去除用户输入两端的空白字符(如空格、制表符、换行符等)。sys.stdout.buffer.write()
:将字符串编码为字节并直接写入标准输出缓冲区。这里,我们用它来显示系统消息和模拟的模型输出。
3. 运行脚本
将上述代码保存到一个Python文件中(如 medical_qa_simulator.py
),然后在命令行中使用 python
命令运行该文件。脚本将开始运行,并等待用户输入。
---------------------现在是第十一周----------------------------
我们现在的进度是前后端都可以正常运行了,只差与模型相连,因此在这个基础上我们感觉需要对这个项目进行一次测试,因此我想要根据我这学期学的软件测试技术进行规划和测试:
-
功能全面验证:
- 验证软件的所有功能是否按照预定的需求和规格正确执行,没有遗漏或偏差。
- 特别关注病例信息的输入、处理和病情回复的生成,确保它们与业务逻辑和医疗标准一致。
-
性能达标评估:
- 评估软件在处理大量病例时的性能表现,包括响应时间、吞吐量、资源利用率等。
- 确保软件在高负载和并发场景下依然能够稳定运行,满足业务要求。
-
安全漏洞排查:
- 深入检查软件是否存在安全漏洞,包括但不限于数据泄露、非法访问、越权操作等。
- 特别关注病例数据和个人信息的保护,确保用户隐私安全。
-
用户体验优化:
- 从用户的角度出发,评估软件的易用性、可访问性和用户满意度。
- 收集用户反馈,针对用户提出的问题进行改进和优化。
-
兼容性广泛测试:
- 测试软件在不同操作系统、浏览器和设备上的兼容性,确保软件能够在各种环境下正常运行。
测试范围
-
核心功能测试:
- 覆盖软件的核心功能模块,如病例信息管理、病情分析、病情回复生成等。
- 根据需求文档和测试计划,制定详细的测试用例,确保所有核心功能都得到充分测试。
-
边界条件测试:
- 关注输入数据的边界情况,如空值、特殊字符、超长字符串等。
- 验证软件在边界条件下的处理能力和稳定性。
-
异常处理测试:
- 测试软件在异常情况下的处理能力和容错性。
- 模拟各种异常情况,如网络中断、数据丢失等,验证软件的恢复能力和稳定性。
-
非功能性需求测试:
- 关注软件的性能、安全性、易用性等非功能性需求。
- 制定相应的测试计划和用例,确保软件在这些方面满足要求。
以上就是我所规划的测试的想法,然后在上面的这些要求中,有一大部分都是基于经验测试或者白盒测试,也有少部分我希望用到自动化技术,接下来的几周我讲仔细的去测试。
十二周到现在
一、第一次测试情况
本次测试针对的是我们chatmed的核心功能、用户体验及兼容性。经过全面的测试,我们已经完成了功能全面验证、用户体验优化以及兼容性广泛测试这三项主要任务。下面详细阐述测试过程和结果。
二、测试过程
1. 功能全面验证
- 测试用例设计:根据需求文档和规格说明书,我制定了详细的测试用例,覆盖了软件的所有功能模块。
- 测试执行:我按照测试用例逐项执行测试,包括病例信息的输入、处理以及病情回复的生成等。我们特别关注了业务逻辑和医疗标准的符合性。
- 结果分析:经过测试,所有功能均按照预期执行,没有发现遗漏或偏差。我验证了软件的准确性、稳定性和可靠性。
2. 用户体验优化
我进行了一项模拟用户意见收集,邀请了周围的同学进行体验
- 用户反馈收集:在测试过程中,我积极收集用户的反馈和意见,了解用户对软件易用性、可访问性和满意度的评价。
- 问题整改:针对用户提出的问题,我进行了整改和优化,包括界面布局的调整、操作流程的简化等。
- 效果评估:通过对比整改前后的用户反馈和测试数据,我验证了用户体验的改进效果。用户满意度得到了显著提升。
3. 兼容性广泛测试
- 测试环境搭建:我准备了多种操作系统、浏览器和设备利用我的虚拟机和另一台设备运行,以模拟用户在不同环境下的使用情况。
- 测试执行:在各种环境下运行软件,观察其运行情况和稳定性。我特别关注了软件的兼容性和错误率。
- 结果分析:经过测试,软件在各种环境下均能正常运行,没有出现明显的兼容性问题。我验证了软件的广泛适用性和稳定性。
三、测试结果
1. 功能全面验证
- 结果:通过
- 备注:所有功能均按照预期执行,没有发现遗漏或偏差。
2. 用户体验优化
- 结果:通过
- 备注:用户满意度得到了显著提升,软件易用性和可访问性得到了优化。
3. 兼容性广泛测试
- 结果:通过
- 备注:软件在各种环境下均能正常运行,没有出现明显的兼容性问题
未完待续.......