运行期质量

简介: 运行期质量


  1. 运行期质量
  1. 性能

对用户而言,最关心的是:响应时间和操作总耗时。点击一个按钮,几秒没反应,用户就蒙了。最简单的方法:点击后,马上禁用按钮,操作完成后启用。客户最关心的是,资源使用率。比如:a,带宽,视频网站这个占大头。b,多少台服务器。如果需要多台服务器,看瓶颈在那?内存、CPU运行速度、磁盘读写速度。如果只需要一台服务器就没必要浪费时间。一台服务器比增加的开发成本少得多。如果是单机程序或客户端,在主流配置下能流畅运行就可以了。

  1. 安全性

完整性:确保信息在传输过程中没有被篡改。私密性:确保只有可信的实体可以看到这些信息。源认证:确保是可信的源发送了这些信息。不可否认性:不能事后否认发送过这条信息。

不可逆加密原理,乘法的逆运算是除法,除法比乘法复杂得多。找两个大质数相乘,逆运算的运算成本太高。密码保存:最笨的办法是保存明码;稍好的是保存MD5码,黑客知道了MD5一样可以登录,密码+固定后缀再取MD5,可以防止自己网站泄露密码后,祸害其它公司;较好的方法,密码服务器只负责不可逆加密、解密,加密后的密码放到另外一个服务器。

 

  1. 易用性

包括:易理解性,易学性,易操作性,吸引性。常见易用性操作:

  • 风格统一。
  • 删除邮件时,放到回收站,30天后才会自动删除。
  • 让用户选择而不是输入。
  • 提供默认值,并记录用户的输入。如果有必要,增加配置。
  • 足够的使用文档和培训文档。
  • 易用不是绝对和通用,必须要细分用户和细分场景。
  • 要平衡效率和易用性。
  1. 可伸缩性

系统的可伸缩性可分为:硬件的可伸缩性和软件的可伸缩性。硬件的可伸缩性增减硬件来应对用户的变化,如增减服务器。某游戏服务端,至少需要两个服务器,主服务器、地图服务器,哪怕只有一个人在线,且两个服务器不能是同一台服务器。这样就不具有伸缩性。软件的可伸缩性,有的软件是按实例数收费的,有的软件是按次数收费的,比如:某pdf转png是按页收费的,价格无封顶。如果价格贵的话,可伸缩性就很差了。

  1. 可靠性

在规定时间内,软件不发生失效的概率。最简单的可靠性模型,有缺陷的测试用例除以总测试用例数。软件可靠性设计:一,避错设计:简单、同型、对称、层次、线型、易证、安全。二,容错设计:时间冗余,失败后重做;结构冗余,不同的人员、设计方法、算法实现相同功能的模块,多个模块同时运行根据规则选择一个结果,或执行一个模块,出错后执行其它模块。信息冗余,信息中通过增加部分信息码以便检测或纠正数据偏差。三,查错设计,程序运行中自动查找存在的错误。四,改错设计,减少错误的危害程度、限制错误的影响范围。

  1. 连续可用性

连续可用性通常以服务器或系统可用时间的百分比来衡量。这通常是以一年为单位,99%的可用性意味着系统每年停机87.6小时,而可用性为99.99%的系统只会停机约一个小时每年。可用性3个9:可用性99.9%。

可靠性和可用性相近,但不同。更新、维护不影响可靠性,但影响可用性;服务端崩了,但马上重启了,某次备份失败,不影响可用性。用户更关心连续可用性,开发人员更关心可靠性。

  1. 健壮性

也称茁壮性、鲁棒性、容错性。指的是系统在不正常的输入或不正常的外部环境下仍能表现出正常的程度。原则:一,“没有什么不会发生”,恶意用户不可不防。二,设计系统的时候,把用户当“傻瓜”。铁打营盘流水的兵,客户肯定会招新人。操作员不会总是处于良好状态,比如:睡眠不足、时间紧急等。三,严格要求自己,减少对客户的要求、假设。

最好能截获异常后做异常处理,比如:弹出界面提醒用户发生了什么。其次,能在日志留下些线索以定位问题并解决问题。

  1. 互操作性

就是指两个实体的通信能力,如果两个实体之间能够没有任何误解的进行通信,那么我们就说这两个实体可以正确的互操作。常见互操作性:一,利用ocx、com进行交互。比如:智造家打印大师利用Com控制AutoCAD启动、打印。二,“牛牛”服务端和客户端利用通讯协议(如:TCP/IP WebSocket)通信。三,利用相同的数据格式通信。如:读写同一个xml文件、json文件、数据库。四,专用接口,如API。


相关文章
|
6月前
|
测试技术
质量标准化实践问题之确保项目进度和质量受控如何解决
质量标准化实践问题之确保项目进度和质量受控如何解决
51 2
|
6月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
125 1
|
7月前
|
编译器 C++ Windows
如何快速提高代码的质量
如何快速提高代码的质量
|
7月前
|
监控 项目管理
LabVIEW项目管理中如何平衡成本、时间和质量
LabVIEW项目管理中如何平衡成本、时间和质量
50 0
|
9月前
|
数据采集 前端开发 JavaScript
前端自动化测试:确保质量和稳定性的关键步骤
前端自动化测试:确保质量和稳定性的关键步骤
前端自动化测试:确保质量和稳定性的关键步骤
|
9月前
|
测试技术
有了测试标准流程后缺陷就不会遗漏到线上吗?
有了测试标准流程后缺陷就不会遗漏到线上吗?
|
安全 测试技术 持续交付
如何提高代码测试的质量和效率
提高代码测试的质量和效率是确保软件质量的关键步骤。通过合理的测试计划、多样化的测试策略以及自动化工具的应用,我们可以更好地发现和修复问题,减少开发过程中的风险。持续集成与持续交付的实践,进一步加速了代码测试的周期,促进了软件开发的快速迭代。通过不断学习和实践,我们可以在保证代码质量的同时,提高开发效率。
244 1
|
运维 算法 调度
(文章复现)建筑集成光储系统规划运行综合优化方法matlab代码
参考文献: [1]陈柯蒙,肖曦,田培根等.一种建筑集成光储系统规划运行综合优化方法[J].中国电机工程学报,2023,43(13):5001-5012.
|
测试技术 微服务
测试质量保障的影响因素
测试质量保障的影响因素
201 0
测试质量保障的影响因素
|
安全 架构师
TRICONEX 3805E 英维思 如何成为过程自动化安全系统
TRICONEX 3805E 英维思 如何成为过程自动化安全系统
123 0
TRICONEX 3805E  英维思  如何成为过程自动化安全系统