扫码阅读
手机扫码阅读

软件开发过程中-需要考虑的软件质量因素

191 2023-08-21

背景

大侠说:今天线上环境又的宕机了。。。

大侠首先启动了应急策略,保证线上的系统暂时可以使用

之后召开了一次内部技术分析会,叫上技术经理讨论这次事故的情况

讨论来讨论去,最后得出的结论,居然是:

在测试的时候没有发现这个问题,导致现在线上出现了这个问题。

大侠瞬间觉得十分的懵,难道是因为给的测试时间不够吗?

还是说测试人员的能力不行吗?

大侠很苦难,大侠的师傅知道了这个情况后,就给大侠提了个建议:增加质量标准

质量标准如何定义呢?

其实每个公司,每个项目对于质量的要求都是不一样的。

如何具有针对性地建立符合自己项目和满足客户要的质量标准呢?




软件规划和设计时-需要考虑的软件质量因素

1.正确性(Correctness):系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度;

2.健壮性(Robustness):在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度;

3.效率(Efficiency):为了完成预定的功能,系统需要的计算资源的多少;

4.完整性(Efficiency)或安全性(Security):对未经授权的人使用软件或数据的企图,系统能够控制(禁止)的程度;

5.可用性(Usability):系统在完成预定应该完成的功能时令人满意的程度;

6.风险(Risk):按预定的成本和进度把系统开发出来,并且为用户所满意的概率;

7.可理解性(Comprehensibility):理解和使用该系统的容易程度;

8.可维修性(Maintainability):诊断和改正在运行现场发现的错误所需要的工作量的大小;

9.灵活性(Maintainability)或适应性(Adaptability):修改或改进正在运行的系统需要的工作量的多少;

10.可测试性(Adaptability):软件容易测试的程度;

11.可移植性(Portability):把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用;

12.可再用性(Reusability):在其他应用中该程序可以被再次使用的程度(或范围);

13.互运行性(Interoperability):把该系统和另一个系统结合起来需要的工作量的多少。




软件开发过程中-需要考虑的软件质量因素

(这里我参考https://blog.csdn.net/kevinkevin/article/details/5452381的文章)

1、成本: 给客户带来的损失。比如数据错误,系统宕机。把损失换成金钱,除以此系统本来可以赚的利润,达到一个百分比:

2、用户满意度:比如用户体验差等。

3、缺陷率:测试人员在测试过程中测试出的bug量和需求量的比例。

4、代码质量:修复Bug成本和开发总成本。这里的成本一般指“人/日”等数据。好的设计和代码,改起来会很快,那么这个比值就会很小。这个指标另外也可以督促开发人员尽可能的在测试之前消除Bug,因为Bug越少,这个比值也会越小。

5、需求变更:需求变化量/需求总量,需求的变化也会导致产品质量的变化。

6、可用性:是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或出现故障时系统能够恢复正常的速度来表示。

要提高系统的可用性,常见的战术有:

错误检测:包括命令/响应、心跳和异常。

错误恢复:包括表决、主动冗余、被动冗余。

错误预防:包括把可能出错的组件从服务中删除,引入进程监视器。

7、可靠性:软件系统过在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。

原文链接: https://mp.weixin.qq.com/s?__biz=MzIyNjcwODc5Mw==&mid=2247483784&idx=1&sn=12cc132eae6fe148da6be80e9a1dd33c