基于框架的质量属性

发表于:2016-5-25 10:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:怎么这么多名字    来源:51Testing软件测试网采编

  目前我还是在学习阶段,对框架使用的还不是很熟练,并没有想到要做一个怎么样的系统。在质量属性这方面我在网上查了查关于这方面的介绍。
  1.有效性
  它是指系统在预定的启动时间内正常运行时间的比例,其计算式为系统的平均无故障时间除以系统平均无故障时间与故障维修时间之和。有时,用户的需求可能 会对时间要求更严格,例如:交易系统可能会要求在交易时间内系统的有效性达到99.95%,其他时间只要达到80%就可以了。在调研时要询问用户需要多高 的有效性,是否在所有时间对有效性的要求都是相同的。
  2.高效性
  系统效率是用来衡量处理器优化、磁盘和内存空间利用率、通信带宽利用宰等系统资源的使用情况。如果软件运行占用了系统的所有可用资源,其结果就是系统 性能的急剧下降。因此,在进行需求调研和分析时要对高峰负载进行计算,并且,在满足高峰负载的情况下,预留出一定的处理器能力、内存空间余量和通信带宽余 量,由此计算出系统的最小配置。
  3.灵活链
  灵活性反映的是在软件中添加新功能时所需要的工作量。当用户要求灵活性时,会迫使开发者考虑系统今后的扩充问题。这里我们给出一个描述灵活性需求的例 子:“在库存管理系统中,一个具有6个月以上开发经验的软件维护人员能够在4个小时之内为系统添加一个统计报表,并且这个统计报表的数据项不超过20项, 所涉及的数据库表不超过5个。”用这种非常量化的招标要求系统的灵活性,设计人员在设计系统时就会考虑如何实现灵活性需求。
  4.安全性
  为了使系统不被非法访问,防止数据丢失、病毒入侵和私人数据进入系统,要用明确的术语描述安全性的需求,如身份证、用户特权级别、访问约束以及需要保护的数据等等。一个安全性需求的描述可以是这样的:“只有具有查账特权的用户才能够进行库存统计查询。”
  5.互操作性
  其表明产品与其他系统交换信息和使用服务的难易程度。为了使产品满足互操作性需求,系统分析员必须了解产品将要与哪些系统连接、需要交互什么数据。
  6.可魔性
  它是软件在给定时间间隔内,按照规格说明书的规定正常运行的格率。其反映软件正确执行操作所占的比例,以及在发现新的缺陷之前系统运行的时间和缺陷出现的密度。一个描述可靠性需求的例子:“由于软件失效引起的库存成本计算错误的概率不能超过1%。”
  7.健壮性
  它是指当软件遇到非法输人数据,或相关的运行环境出现异常时,软件仍能正确运行的程度。健壮的系统可以从发牛问题的环境中恢复不常,并且容忍用户的一 些错误。在需求调研时,要询问用户当软件出现缺陷时,用户希望系统如何响应。在需求分析时,分析人员要列出软件所有可能出现的异常和常见的误操作,并且针 对每条失误写出健壮性需求。一个健壮性需求的描述是:“当远程用户中心数据库发送信息被线路故障中断后,系统每隔10秒钟重新连接一次中心数据库,直到数 据库被连接上,然后重新发送所有要发送的信息。”
  8.易用性
  易用性的定量描述可以是对用户某项操作的时间要求,也可能是用户学习操作软件所用的时间要求,或者是对软件操作形式的要求。它所描述的是与用户友好性 相关的各种因素。例如:“软件的操作菜单必须有热键、按钮”,“一个新用户经过不到30分钟的环境适应,就可以进行基本的查询操作”,“一个新的操作人员 经过一天的培训就可以独立完成他所需要的95%的工作”’“一个人库操作的时间应该小于2分钟”等。
  9.可维护性
  它是指纠正一个缺陷或进行一个变更的难易程度。可维护性取决于软件的可理解性、软件的结构和选择的开发工具。为了使软件易于维护,通常需要规范设计和 实现,例如:“函数调用不能超过两层,以便于执行跟踪”,“对库存统计报表格式变化的修改时间不超过一周”等类似的定量描述。
  10.可移檀性
  它是度量把软件从一种环境移到另一种环境中所需要的工作员的性能指标。为了实现可移植性,需要研究软件要移植的环境。可移核性与高效性可能会有冲突, 为了使软件具有更好的可移植性,系统分析人员会做更多的限制,如尽且不使用运行环境提供的库函数等。可移植性对具体的软件系统并非重要,可视具体情况取 舍。
  11.可复用性
  它表明一个软件组件可用于其他软件的程度。可复用软件的开发成本会比较高,因为可复用软件必须标准化、资料齐全、不依赖于特定的应用程序和运行环境,并具有一般性。软件的可复用性是软件走向构件化的途径,是几十年来软件开发人员所追求的最高境界。
  12.可测试
  它是指测试软件组件或集成产品时查找缺陷的难易程度。如果软件中包含复杂的算法和处理逻辑,或者使用了复杂的数据结构,或者功能模块间的关系复杂,则 可测试性的设计尤为重要。对于经常更改的软件,其也是相当重要的。定量的可测试性需求描述的例子是:“一个模块的最大循环复杂度不能超过20。”因为经常 对产品进行回归测试来判断更改是否破坏了现有的功能,因为随着图形引擎功能的不断增强我们需要对它进行多次测试,所以做出了如上的设计目标。循环复杂度是 衡量—。个模块源代码中逻辑分支数目的参数,一个模块中的逻辑分支过多会影响可测试性。
  13.可理解性
  它是指人们通过问读程序源代码和相关文档,了解程序功能、结构和运行方式的难易程度。一个可理解的程序应该具备如下特征f是模块结构良好,功能完备; 二是程序算法简明,没有含糊不清的代码,使用有意义的过程名;三是代码风格和设计风格一致;四是采用结构化编程,程序只使用顺序、分支和循环3种基本语句 结构,并且每个模块都是单人口单出口;五是尽量使用简单的数据结构,使用有意义的数据名和变量名;六是程序处理完整,程序不仅实现了基本的功能,而且还要 有数据检查、出错处理等辅助功能。
  在我掌握了知识以后肯定秉承这些原则去好好地开发一个系统。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号