川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

软件测试—外部和内部质量模型(上)

作者:川石学院 日期:2021-07-07 10:09:20 点击数:

  软件测试外部质量和内部质量模型通常划分为6个大的特性,27个子特性,如图5-3 所示。接下来我们将对每个特性进行详细的描述。

  软件测试—外部和内部质量模型(上)(图1)

  图5-3 外部质量和内部质量模型

  一、功能性(Functionality)

  功能性(Functionality)是指当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。功能的特性包含适合性、准确性、互操作性、安全性和功能依从性五个子特性。

  (1)适合性(Suitability)

  适合性是指产品是否适合我们的客户群,适合性这个词的意思是指A 是否适合B,例如去专卖店买衣服,会对衣服有一个试穿的过程,衣服款式没问题并不代表衣服就一定合适当前买家穿。在软件产品中,适合性是指研发出来的产品是否适合用户,那么如何体现是否适合用户,主要是通过用户的需求来体现,也就是如果产品满足了用户需求,则说明我们的产品适合用户;如果产品不满足用户需求,则说明产品不适合用户。

  (2)准确性(Accuracy)

  软件产品提供具有所需精确度的正确或相符的结果或效果的能力。即软件除了能实现所要求的功能外,还要求能正确实现所要求的功能。准确性不单有正确性的意思,还有精度的意思,即相对单纯的正确性来说,精度是其强调的一个维度。一般情况下我们可能很少注意到精度的概念,但对于一些行业来说精度显得尤为重要,如军工、医疗等。例如研发导弹,该导弹需要准确地打击到1000 公里外的目标,这个时候就涉及到一个精度的问题,也就是导弹所落下的位置应该是在被打击的一个有效半径范围内,否则就不能精确地打击到目标。而导弹发射时其本身受到天气、环境等因素影响,所以这个时间精度就显得尤为重要。

  (3)互操作性(Interoperability)

  互操作性(Interoperability)是指软件产品与一个或更多的规定系统进行交互的能力。产品在使用时处于一个大的系统下,在这个大的系统中有三种对象:人、机器、环境。人指的是用户,机器指的是产品。人与机器之间的互操作性更多的是指产品的易用性,当然这个方面又分两个维度的内容,一是如果测试的是纯软件,那么人也软件之间的互操作性是指GUI 的易用性,即图形界面接口;二是如果测试的是纯产品,那么互操作性是指UI 测试,指的是工业设计的易用性。

  机器与环境的互操作性指的是兼容性,这也包含两个方面的内容:一是如果纯软件与环境之间的兼容性,如与操作系统间的兼容性,与其他类似操作系统之间的兼容性;二是产品与环境之间的兼容性,如手机受外界环境温度、湿度的影响,冬天手机的续航能力肯定比夏天差。这就是环境对产品的影响,当然环境对产品的影响远不止是温度、湿度,还有很多其他方面的影响。

  (4)安全性(Security)

  安全性(Security)是指软件产品保护信息和数据的能力。主要包含两方面:

  •   防止未得到授权的人或系统访问相关的信息或数据。

  •   保证得到授权的人或系统能正常访问相关的信息或数据。

  不同的系统对于安全性的需求差别很大,通常包括以下几方面:

  1.   低:如Word 的文档加密。

  2.   中:如论坛登录密码验证、登录次数限制、用户名、IP 限制。

  3.   高:如防火墙软件主要是测试功能的安全性测试。

  常见的安全性测试如下:

  •   用户验证:登录密码验证、IP 地址访问限制等。

  •   用户权限管理:验证低级别用户是否具有了高级别用户的权限,各级别用户权限都得到了实现。

  •   系统数据的保护:对系统文件、用户密码文件等进行隐藏、密码验证、内容加密、备份。

  •   防DoS 攻击:DoS(Denial of Service)攻击:拒绝服务攻击。

  •   防溢出攻击。

  加密、解密:在计算机通信中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。

  •   防病毒。

  关于安全性的测试在后面的章节中会详细介绍。

  (5)功能依从性(Functionality Compliance)

  功能依从性(Functionality Compliance)是指软件产品遵循与功能性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等。

  二、可靠性(Reliability)

  可靠性(Reliability)是指在规定条件下使用时,软件产品维持规定的性能级别的能力。规定条件的三要素,也称“三规”,包括规定的环境、规定的时间、规定的性能。

  可靠性可以通过以下三个指标来衡量:

  •   MTTF(Mean time to failure):平均无故障时间。

  •   MTTR(Mean time to restoration):平均恢复时间或平均修复时间(Mean time to repair)。

  •   MTBF(Mean time between failures):平均失效间隔时间,如图5-4 所示。

  软件测试—外部和内部质量模型(上)(图2)

  图5-4 平均失效间隔时间

  MTBF 平均失效间隔时间公式如下:

软件测试—外部和内部质量模型(上)(图3)

  •   可靠性主要包括:成熟性、容错性、易恢复性和可靠依从性四个子特性

  (1)成熟性(Maturity)

  成熟性(Maturity)是指软件产品为避免由软件中错误而导致失效的能力。这里主要是指软件避免自身的错误、自身模块间的错误而导致整个软件失效,如对其他模块传递的指针进行非空检查。

  子系统、模块、单元模块的设计人员应该仔细分析与自身有接口关系的子系统、模块、单元模块,识别出这些接口上可能会传递过来的错误,然后在自己子系统、模块、单元模块内部对这些可能的错误预先进行防范,规避这些错误传递到自身而引起自身的失效。

  如在研究“神七”载人航天飞船时,一般根据其他国家开展载人航天和舱外活动的经验,航天员上天后一般要3 到4 天才可开展出舱活动,但“神七”的任务是航天员第二天就要出舱活动。这样无论是对航天员的船体还是对飞船、测控都带来一个巨大的挑战。所以为了保证航天员出舱的可靠性,在研究的时候设立了243 个故障模式来应对航天员出舱可能存在的问题。

  (2)容错性(Fault Tolerance)

  容错性(Fault Tolerance)是指在软件出现故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力(注:规定的性能级别可能包括失效防护能力)。

  这里主要是指软件和外部的接口,如用户接口、硬件接口、外部软件接口等,设计人员应该充分分析外部接口可能产生的错误,然后在设计上对这些错误一一予以防范,防止这些外部传入的错误波及自身而失效。

  •   例如:用户登录,要求用户密码小于或等于6 位,则用户接口处要判断大于6 位时要进行的相应处理。

  (3)易恢复性(Recoverability)

  易恢复性(Recoverability)是指在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力,通常包括以下两个方面的指标:

  1.   原有能力恢复的程度;

  2.   原有能力恢复的速度。

  例如路由器中,在交换板故障的情况下,备用板升为主板,经过短暂的平滑时间后能恢复到原来的性能级别,这里可以用恢复时间、恢复期间丢包数等来衡量易恢复性,如图5-5 所示。

  软件测试—外部和内部质量模型(上)(图4)

  图5-5 路由器交换板故障处理

  开发人员进行设计时,应该充分分析架构中哪个组件风险最集中、最高,那么应该对这类核心组件采用主备倒换等易恢复机制。

  (4)可靠依从性(Reliability Compliance)

  可靠依从性(Reliability Compliance)是指软件产品遵循与可靠性相关的标准、约定或法规的能力。

  三、易用性(Usability)

  易用性(Usability)是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。功能性、可靠性和效率的某些方面会影响易用性。用户可能包括操作员、最终用户和受该软件的使用影响或依赖于该软件使用的间接用户。易用性必须针对软件所影响的所有不同的用户环境。

  •   易用性包括五大子特性:易理解性、易学性、易操作性、吸引性和易用依从性。

  (1)易理解性(Understandability)

  易理解性(Understandability)是指软件产品使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力。用户在使用软件系统的过程中,系统交互给用户的信息是否准确、清晰、易懂,能帮助用户准确理解系统当前真实的状态,指导其进一步的操作。

  •   例如:手机打电话功能,当手机来电时,接电话的一般是绿色的电话图标,挂断电话一般是红色的电话图标,大家使用习惯了,看着就明白了。如果某个手机生产商恰好将这两个图标反过来设计的话,就很容易弄错,所以通常使用一些标准图标更容易被理解。

  (2)易学性(Learnability)

  易学性(Learnability)是指软件产品使用户能学习其应用的能力。例如用户手册、用户手册是否有中文版,帮助文档是否齐全、是否有在线帮助,控件是否有回显功能,是否简明易懂等是易学性考虑的因素。

  一般情况下步骤越少越容易学,当然在实际测试过程中我们会发现易理解的特性也适合易学,因为如果一个功能不易理解就不可能会易学。

  (3)易操作性(Operability)

  易操作性(Operability)是指软件产品使用户能操作和控制它的能力。

  •   例如:我们平时开汽车,自动化档的车显然比手动档的车容易开,因为其他操作步骤更少。一般情况下,符合易学的功能通常是易操作的,因为如果某个功能用户不容易学会,那更无从谈易操作了。

  (4)易吸引性(Attractiveness)

  易吸引性(Attractiveness)是指软件产品吸引用户的能力。这主要考虑的是产品的界面等外在美观因素,这也是一个产品质量很重要的组成部分,甚至是关键因素。例如目前手机产品已经成为时尚产品,外观就成了其成败的关键。

  (5)易用依从性(Usability Compliance)

  易用依从性(Usability Compliance)是指软件产品遵循与易用性相关的标准、约定、风格指南或法规的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等,例如企业内部的界面规范。

  •   例如:美国康复法案508 条款要求联邦机构的电子和信息技术对残疾人士是可访问的。该标准提供了特定于各类技术的标准,包括:软件应用程序和操作系统、基于Web 的信息或应用程序、电信产品、视频和多媒体产品、自给自足的、保密的产品、台式机和便携式计算机。

  本章节主要讲解了关于“软件测试—外部和内部质量模型(上)”的内容,下一章继续跟新“软件测试—外部和内部质量模型(下)部分内容,大家觉得有用的话记得来学习哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-07-07 10:09:20
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-07-07 10:09:20
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-07-07 10:09:20
  • 建筑工程专业朱同学成功转行为软件测试人!2021-07-07 10:09:20
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-07-07 10:09:20
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-07-07 10:09:20
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-07-07 10:09:20
  • 文科生转行软件测试照样拿下高薪15K!2021-07-07 10:09:20
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-07-07 10:09:20
  • 毕业1年,迷茫的他最终选择转行软件测试2021-07-07 10:09:20