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

软件测试外部质量和内部质量模型

作者:川石学院 日期:2021-03-02 14:51:19 点击数:

       外部质量和内部质量模型通常划分为 6 个大的特性,27 个子特性,接下来我们将对每个特性进行详细的描述.

        功能性(Functionality)

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


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


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

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

        (3)互操作性(Interoperability) 互操作性(Interoperability)是指软件产品与一个或更多的规定系统进行交互的能力。产品在 使用时处于一个大的系统下,在这个大的系统中有三种对象:人、机器、环境。人指的是用户,机器指的是产品。 人与机器之间的互操作性更多的是指产品的易用性,当然这个方面又分两个维度的内容,一是 如果测试的是纯软件,那么人也软件之间的互操作性是指 GUI 的易用性,即图形界面接口;二是 如果测试的是纯产品,那么互操作性是指 UI 测试,指的是工业设计的易用性。 机器与环境的互操作性指的是兼容性,这也包含两个方面的内容:一是如果纯软件与环境之间 的兼容性,如与操作系统间的兼容性,与其他类似操作系统之间的兼容性;二是产品与环境之间的 兼容性,如手机受外界环境温度、湿度的影响,冬天手机的续航能力肯定比夏天差。这就是环境对 产品的影响,当然环境对产品的影响远不止是温度、湿度,还有很多其他方面的影响。

        (4)安全性(Security) 安全性(Security)是指软件产品保护信息和数据的能力。主要包含两方面:  防止未得到授权的人或系统访问相关的信息或数据。  保证得到授权的人或系统能正常访问相关的信息或数据。 不同的系统对于安全性的需求差别很大,通常包括以下几方面:  低:如 Word 的文档加密。  中:如论坛登录密码验证、登录次数限制、用户名、IP 限制。  高:如防火墙软件主要是测试功能的安全性测试。 常见的安全性测试如下:  用户验证:登录密码验证、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):平均失效间隔时间,MTBF 平均失效间隔时间公式如下: (downtime uptime) MTBF number of failures    可靠性主要包括:成熟性、容错性、易恢复性和可靠依从性四个子特性。 (1)成熟性(Maturity) 成熟性(Maturity)是指软件产品为避免由软件中错误而导致失效的能力。这里主要是指软件 避免自身的错误、自身模块间的错误而导致整个软件失效,如对其他模块传递的指针进行非空检查。 子系统、模块、单元模块的设计人员应该仔细分析与自身有接口关系的子系统、模块、单元模块, 识别出这些接口上可能会传递过来的错误,然后在自己子系统、模块、单元模块内部对这些可能的 错误预先进行防范,规避这些错误传递到自身而引起自身的失效。 如在研究“神七”载人航天飞船时,一般根据其他国家开展载人航天和舱外活动的经验,航天 员上天后一般要 3 到 4 天才可开展出舱活动,但“神七”的任务是航天员第二天就要出舱活动。这 样无论是对航天员的船体还是对飞船、测控都带来一个巨大的挑战。所以为了保证航天员出舱的可 靠性,在研究的时候设立了 243 个故障模式来应对航天员出舱可能存在的问题。 (2)容错性(Fault Tolerance) 容错性(Fault Tolerance)是指在软件出现故障或者违反指定接口的情况下,软件产品维持规 定的性能级别的能力(注:规定的性能级别可能包括失效防护能力)。 这里主要是指软件和外部的接口,如用户接口、硬件接口、外部软件接口等,设计人员应该充 分分析外部接口可能产生的错误,然后在设计上对这些错误一一予以防范,防止这些外部传入的错误波及自身而失效。 例如:用户登录,要求用户密码小于或等于 6 位,则用户接口处要判断大于 6 位时要进行的相 应处理。(3)易恢复性(Recoverability) 易恢复性(Recoverability)是指在失效发生的情况下,软件产品重建规定的性能级别并恢复受 直接影响的数据的能力,通常包括以下两个方面的指标:  原有能力恢复的程度;  原有能力恢复的速度。 例如路由器中,在交换板故障的情况下,备用板升为主板,经过短暂的平滑时间后能恢复到原 来的性能级别,这里可以用恢复时间、恢复期间丢包数等来衡量易恢复性,开发人员进行设计时,应该充分分析架构中哪个组件风险最集中、最高,那么应该对这类核心 组件采用主备倒换等易恢复机制。

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