基于SpringBoot+Vue的B2B平台的医疗病历交互系统(3)https://developer.aliyun.com/article/1558384
5.2 用户角色
5.2.1 医院注册
用户可以在医院注册界面对注册医院信息。医院注册页面的运行结果如图5-3所示:
图5-5 医院注册界面
5.2.2 医疗安排
用户可以在医疗安排界面查看医疗安排信息。医疗安排页面的运行结果如图5-3所示:
图5-6 医疗安排界面
5.3 医院角色
5.3.1 院区注册
医院可以在院区注册界面对注册院区信息。院区注册页面的运行结果如图5-3所示:
图5-7 院区注册界面
5.3.2 医院公告
医院可以在医院公告界面对医院公告信息进行添加,修改,删除,查询等操作。医院公告页面的运行结果如图5-3所示:
图5-8 医院公告界面
5.4 医生角色
5.4.1 医院工作人员
医生可以在医院工作人员界面查看医院工作人员人员。医院工作人员页面的运行结果如图5-3所示:
图5-9 医院工作人员界面
5.4.2 病人病历
医生可以在病人病历界面对病人病历信息进行添加,修改,删除,查询等操作。病人病历页面的运行结果如图5-3所示:
图5-10 病人病历界面
第6章 程序测试与评价
6.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
6.2 程序的测试
6.2.1 测试的重要性及目的
(1)测试的重要性
在软件生命周期中,软件的测试占据着一个重要的位置,在传统的瀑布模式中,软件测试学只是处于在运行维护阶段之前,是软件产品交付给大众用户使用之前用以保证软件质量重要的一个方法。近来,软件工程界中更加趋向于一种新观点,即认为软件每一阶段中的生命周期都理应包含测试,因此使检查本阶段的成果能不能接近预期的结果目标,进而尽可能早一点发现到错误并加以改正,如果测试不是在早期阶段进行的,那么错误将延时扩散,最后常常会导致成品测试面临巨大的困难。
对于软件来讲,事实上,无论采用任何方法或者任何技术,系统中仍然会出现错误。采用新的开发方式、先进的语言、完善的开发过程,可以最大限度的降低错误的引进,但还是不能完全的杜绝软件中有可能出现的错误,这些引入的错误需要通过测试找出来,系统中错误的密度也需要通过测试来进行估量。测试是所有学科的工程的最基本的组成单元,是软件开发的一个很重要的部分。自有设计程序的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护程序的工作相当于二次开发,甚至是多次开发,其中一定又包含了很多测试的工作。
在实践中,测试软件非常困难,从而常常使我们敷衍了事或望而却步,这是因为对测试还是存在了一些错误的看法和不正确的态度,这包括:
①难以给测试的工作人员某种成就感; 认为测试工作并不像编码和设计那样容易进行发展
②在测试的过程中发现错位其实是一种对责任者工作的否定; 测试是以发现软件的错误为目标的,这是非建设性的,甚至还是具有破坏性的,
③测试的工作过程非常枯燥无味,因此不足以引起我们的兴趣和爱好;
④测试工作需要是细致而艰苦的进行;
⑤一般来说,我们都对自己编写出来的程序比较盲目的自信,在发现到错误的时候,可能会顾虑别人对我们自己开发的能力的看法。
以上这几个观点对测试系统的工作进行是尤为不利的,我们必须要端正态度、澄清认识,才可能将系统产品的质量加以提高。
(2)测试的目的
如果测试程序的目的是为了尽可能全面地找出系统中的错误,那么测试就必须直观的针对软件较为复杂的部分或者是前期出现错误比较多的位置。
①系统的测试是为了检查出错误而执行程序的运行过程;
②测试则是为了证明程序中有错误,而不是用来证明程序没有错误;
③每一个好的测试的用例是因为它能检查到至今未出现的错误;
④一个很成功的测试就是检查出了至今未能发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有检查出错误的测试也有它的价值,完整的测试是测试质量评定的一种方式。
6.2.2 测试的步骤
类似系统开发的过程,测试工作的过程也需要分步骤来进行,每个步骤在逻辑上是前一个步骤的继续。大型系统软件一般是由若干个子系统而组成的,每一个子系统又是由若干个小的模块组成的。因此,大型系统软件的测试功过基本上由下面的几个步骤组成:
(1)模块测试 在对模块进行的测试工作步骤中所发现的经常是详细设计和编码的错误。
(2)系统测试 在对系统进行的测试工作步骤中发现的经常是软件设计时出现的错误,也有可能会发现需求说明中的出现错误。
(3)验收测试 在对验收进行的测试工作步骤中发现的经常是系统需求说明书中出现的错误。
6.2.3 测试的主要内容
我们在进行测试工作的时候为了保证系统的质量,可以将测试工作的内容分成以下所说的几个部分,即: 审查代码、集成测试、单元测试、系统测试和确认测试。
(1)单元测试
检查系统设计最小的单位(—个模块)就是单元测试,通过测试检查出用来定义该模块的功能说明不符合与实现该模块的实际功能的情况,以及编码时的错误。
(2)集成测试
我们可以将每个小的模块按照设计的需求组装起来后同时进行集成测试,集成测试的主要目的是检查与接口有关联的某些问题。假设一个模块和另一个模块可能会出现由于疏忽的问题而引起有危害的影响;把子功能模块组合起来后可能不能产生预期的主功能;有个别的看起来视乎能接受的误差却很有可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,基本排除了接口的错误,接下来我们就应该进一步的检验系统软件的有效性,就是确认测试工作的任务,是将系统软件的性能和功能发挥到如用户们合理期待的一样。
(4)系统测试
完成软件设计开发以后,最后还要将它与系统中其他的部分整合运行,从性能测试、安全测试、强度测试和恢复测试等四个方面来进行系统测试。
此外对系统的单独测试主要从以下三个方面入手:
① 功能测试:测试能否满足开发的要求,能否实现了设计所描述的功能,能否让用户的需求得到满足。系统测试必须和最常用的测试是功能测试。一般来说还会以对软件正式的说明书为标准进行测试。
② 性能及强度的测试:最高实际限度的测试系统能力,即软件在某些超负荷环境下功能是否还实现的情况。
③ 安全测试:对安装在系统内的安全保护机构确实能能不能保护系统进行验证,使系统不会受到各种不正常的干扰。因此针对本次开发的系统主要是测试错误的数据、无效的数据,测试权限系统和对抗非法数据干扰的能力。
经过了一系列的需求分析、设计和编码等开发工作后,本设备管理系统的设计也将接近尾声,接下来需要对系统的一些功能进行测试是否能够达到预期的结果。由于在测试前系统的各个模块都会存在一定的错误和缺陷,从而可能导致系统的非正常运行,有时候会出现很严重的后果。所以,对于程序设计开发来说,软件测试是一项非常重要的工作。
(1) 测试案例的内容
周期:测试时间域。
层次:测试的层面。
类型:测试的分类。
系统:测试何系统。
分系统: 测试何分系统。
模块: 测试何模块。
平台: 测试的环境。
描述: 对测试问题说明与叙述。
目的: 测试的目标与期望。
此外,还包括测试文档号、测试设置、输入条件、测试结果和期望结果。
(2) 测试案例与脚本
1)测试案例与脚本设计主要包括以下内容:
检查集成测试策略
制定测试数据目的和性能目标
找出关键测试条件
检查已有的在线测试脚本
输入或抓取在线测试脚本
检查已有的用于测试的数据
生成测试数据
检查重要的数据
执行测试数据和测试脚本
6.2.4 测试用例
(1) 用户登录测试
用户登录信息测试过程如表6-1所示:
表6-1 用户登录测试表
测试目的 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
用户登录 |
填写用户名密码,点击首页【登录】按钮 |
用户名:1 密码:a |
登录失败 |
提示错误信息 |
用户名:liu 密码:123456 |
登录成功 |
登录成功 |
(2) 信息发布测试
信息发布测试过程如表6-2所示:
表6-2 信息发布测试表
测试项目 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
信息发布 |
管理员登陆后点击首页【信息】按钮,发布信息 |
空 |
发布失败,弹出提示按钮 |
发布失败,提示请填写内容 |
信息有可能延迟 |
发表成功 |
发表成功 |
(3)后台管理登录测试
后台管理登录测试过程如表6-3所示:
表6-3 后台管理登录测试
测试目的 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
后台管理登录 |
点击首页填写用户名密码,点击首页【登录】按钮 |
用户名:liu 密码:123456 |
登录失败 |
提示错误信息 |
用户名:a 密码:a |
登录成功 |
登录成功 |