【软件测试】详解软件质量
发布日期:2021-11-12 15:29:23 浏览次数:1 分类:技术文章

本文共 5030 字,大约阅读时间需要 16 分钟。

目录


一、软件质量是什么?

软件与明确地和隐含地定义的需求相一致的程度:符合需求规格、符合用户显式需求、符合用户实际需求(包含一些隐式需求)

二、影响软件质量的因素

需求不明确、开发流程不规范、开发技术不过硬、缺乏质量把控(测试不过关)

三、软件质量管理体系

ISO:国际质量管理标准

CMM:软件能力成熟度模型

6S:整理、整顿、清洁、清扫、安全、素养

四、软件质量模型(外部质量测试)

引用的解释:

一、功能性

是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。

适合性(Suitability):

软件产品为特定的任务和用户目标提供一组合适功能的能力。
例如: 功能或者操作是否按照用户手册或者需求规格说明中的规定执行,并提供合理、可接受的结果以实现用户任务所期望的特定目标。

准确性(Accuracy):软件产品为特定的任务和用户目标提供一组合适功能的能力。

例如: 由于数据精度的错误导致错误的计算结果, 在运行期间所执行的任务与期望结果有差别,或者实际的操作规程与操作手册上的规程不一致。

互操作性(Interoperability): 软件产品与一个或多个特征、系统相互配合的能力,交互能力

例如: 数据和命令格式在软件产品和与之相连的其他系统之间是否易于传递。

安全保密性(Security): 软件产品保护信息和数据的能力,以保证未受权的用户或系统不能阅读和修改这些信息与数据,而不拒绝授权人员或系统的访问

功能性的顺从性(Functionality Compliance): 软件产品符合和该功能相关的标准、规范、规则或特定的能力(如对于一款计算器,计算规则要和数学中相关规则保持一致)

二、可靠性

是指在特定条件下使用时,软件产品维持规定的性能级别能力

下面三个层层递进的句子,可以帮助我们来理解用户可靠性方面的要求:第一层:设备最好不要出故障;第二层:设备出现故障了不要影响主要的功能和业务;第三层:如果影响了主要功能和业务,系统可以尽快定位并恢复。

成熟性(Maturity): 软件产品为避免因软件故障而导致失效的能力

容错性(Fault Tolerance): 软件产品在软件发生故障或者违反指定接口的情况下,维持规定的性能级别的能力

可恢复性(Recoverability):软件产品在失效发生的情况下,重建规定的性能级别并恢复直接影响的数据的能力

可靠性的顺从性(Reliability Compliance):软件产品遵循与可靠性相关的标准、约定或规定的能力(如对于通信类产品,系统的故障率不能高干多少、故障恢复时间不能长于多少等)

三、易用性

是指用户在指定条件下使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力。简单10个字:易懂、易学、易用、漂亮好看。

易理解性(Understandability): 软件产品使用户能理解软件是否适合以及如何能将软件用于特定的任务和使用条件的能力

易学(Learnability):软件产品使用户能学习其应用的能力, 例如用户需要多长时间才能学会使用某一特殊的功能。

易操作性(Operability):软件产品使用户能够操作的控制它的能力

吸引性(Attractiveness):软件产品吸引用户的能力, 如软件产品中颜色使用和图形化设计特征是否吸引用户

易用性的依从性(Usability Compliance):软件产品遵循与易用性相关的标准、约定、风格指南(style guide)或法规的能力(如对Windows的计算器来说,在界面设计上模仿实体计算器是易用性依从性的一个体现)

四、效率

是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品性能。

时间特性(Time Behavior): 在规定条件下软件产品执行其功能时,提供适当的响应和处理时间和吞吐量的能力。 平均事务响应时间,吞吐率,TPS(每秒事务数)

例如:用户申请加入IGMP组播组的响应时间和处理时间

资源利用率(Resource Utilization):在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力

例如: 多个用户同时申请加入IGMP组播组时系统的内存使用情况

效率依从性(Efficiency Compliance): 软件产品遵循与效率相关的标准或约定的能力(如对系统资源的占有率又不能高于多少)

五、可维护性

是指产品可被修改的能力。这里的修改是指纠正、改进软件产品和软件产品对环境、功能规格变化的适应性

易分析性(Analysability): 软件产品诊断软件中的缺陷、失效原因或识别待修改部分的能力

易修改性(Changeability): 软件产品能够被修改和可以被实现的能力,实现包括编码、设计和文档的更改。

稳定性 (Stability): 软件产品不会因为修改而造成意外结果的能力

可测试性 (Testability):软件产品已修改的部分能够被确认修复的能力

可维护性的依从性(Maintainability Compliance):软件产品遵循与维护相关的标准或约定的能力(如软件出现故障时会弹出“XXX遇到问题要关闭”之类的提示)

六、可移植性

是指软件产品从一种环境迁移到另外一种环境的能力。这里的环境,可以理解为硬件、软件或组织等不同的环境。

适应性(Adaptability): 软件产品无须采用额外的活动或手段就可适应不同指定环境的能力

易安装性 (Insatiability): 软件产品在指定环境中被安装的能力

共存性 (Co-Existence): 软件产品在公共环境中同与分享公共资源的其他独立件共存的能力

易替换性(Replaceability): 软件产品在同样的环境下,替换另一个相同用途的指定软件产品的能力

可移植性的依从性(Portability Compliance): 软件产品遵循与可移植性相关的标准或约定的能力(如产品不是针对某款特定的操作系统开发的,需要支持Windows所有操作系统)

顺便学几个单词

参考书籍:《软件测试设计》电子工业出版社 马均飞 郑文强著

以上是引用其他博主的详细解释,我看了以后使用简单的解释来给大家理解,斜线的是指不是很重要的特性。

理解的解释:

一、功能性

1.适合性:有没有用户所需要的功能

2.准确性:用户需要的功能对不对

3.互操作性:系统级别的,软件放在windows上或者Linux上能否正常运行

4.安全保密性:数据信息加密存储等,安全测试是一门单独的测试,比较复杂

5.功能性的依从性:功能性符合行业标准(基本上所有的东西都有一个行业标准,行业标准一般会写在需求文档里)

二、可靠性

1.成熟性(内部接口防范):避免出错后软件失效(常见的软件崩溃)

2.容错性(外部接口防范):出现一点小问题,程序依旧可以正常运行

3.易恢复性:出现一些问题,赶紧恢复正常

4.可靠性的依从性:可靠性符合行业标准

三、易用性(字面理解即可)

作为一个没有使用过的用户来思考:易懂,易学,易用,好看

1.易理解

2.易操作

3.易学习

4.吸引性

5.易用性的依从性:易用性符合行业标准

四、效率

1.时间特性:响应时间

2.资源特性:占用资源/内存量

3.效率依从性

五、可维护性

1.易分析性

2.易修改性

3.稳定性:不会因为被修改而造成软件出错

4.易修改性

5.可维护性的依从性

六、可移植性

1.适用性

2.易安装性

3.共存性

4.易替换性

5.依从性

五、软件测试质量的过程

过程质量—内部质量—外部质量—使用质量

过程质量:

设计的完善程度而后过程执行的力度 (测试活动:SQA)

内部质量:

软件研发过程中,中间过程产品(软件的零部件)的质量(测量活动:静态测试:SRS,HLD,LLD、代码评审、动态测试:UT)

外部质量:

软件系统作为完整的整体运行时所表现出来的各方面的质量体特性(测量活动:动态测试:ST)六大质量属性

使用质量:

最终用户在其真实环境中运行软件系统时,所感受到的软件各方面特性与目标的符合程度(【测量活动:验收测试(一般是指交付前的测试)、α(除去测试人员进行的内部测试)测试、β(完全交由用户内测后的公测)测试】

六、实例操作软件质量测试

接下来举几个实际中的例子,让大家理解一下外部质量测试(注意逻辑性和详细性,从六个质量模型方向来阐述),并且在测试的时候,一定要牢记这个东西的需求到底是什么,不需要测的不用测,需要测的不能少。

面试官偶尔会让你针对一个物体进行测试,这时候就使用这些体系去阐述。
在实际的软件测试过程中,是依据需求文档进行测试的。

1.测试一个玻璃水杯

功能性:能不能装冷水、开水、冰水、咖啡、可乐(适合性);是否能装杯子规定容量的水(准确性);杯子是否有过于尖锐的边角(安全性);

可靠性:如果有一个边缘细微裂缝,是否可以继续使用?

易用性:杯子拿起来好拿吗?握在手上好握吗?杯子外形好看吗?

可维护性:杯子从50cm高初落下会不会碎?杯子从1m高度落下会不会碎?放在桌上是否稳定不打滑?

2.测试一个保温水杯

功能性:能不能装热水、冰水、冷水?装热水、冰水是否有保温功效?保温时间是否符合杯子规定时长?是否能装杯子规定容量的水?杯子是否有过于尖锐的边角?

可靠性:杯子外部变形是否影响装水和保温功能?

易用性:杯子拿起来好拿吗?握在手上好握吗?杯子外形好看吗?

可维护性:杯子从50cm高初落下会不会变形,会不会影响保温?杯子从1m高度落下会不会?放在桌上是否稳定不打滑?

3.测试一支中性笔

功能性:能否正常出水写字?是否是规格要求的墨水颜色?笔的材质是否符合规定的安全标准、不含有害物质?

可靠性:这支笔可以连续写多久?分别从不同高度落下会不会坏?笔头摔歪了是否还能写字?

易用性:笔的外观好看吗、吸引人吗?拿笔的握感好吗?使用方法会不会过于复杂?写字是否舒适?

可维护性:笔从50cm高处落下是否容易坏?

可移植性:是否可以更换笔芯继续使用?更换笔芯方便吗?

4.测试一支铅笔

功能性:能否写字?一段铅笔芯使用完之后是否可以削开后边的继续使用?写字颜色是否按照要求?使用材质是否无毒无害安全?

可靠性:这支笔可以连续使用多久?从不同高度摔到地上会不会坏、笔芯会不会断?摔断了表面的笔芯后削开后面的笔芯能否继续使用?

易用性:同中性笔

可维护性:同中性笔

铅笔一般不会更换替芯,就不考虑可移植性了。

5.测试你面前的桌子

就写测试我面前的书桌吧,如果是餐桌会有所不同。

功能性:桌子桌面、桌角是否完整无缺?桌子能否平稳在地面上?桌子的材质是否无毒无害安全?

可靠性:桌子是否能承受规定的重量?桌子桌面边角损坏会不会影响桌子的稳定性和正常使用?桌子桌角和桌面的小耗损是否容易修复?

易用性:桌子外观好不好看?使用的时候复杂不复杂?坐在桌前办公舒适与否?高度是否符合人的身高特征?

可维护性:桌子更换一个零件能不能继续正常使用?

可移植性:桌子安装是否简单?

6.测试台灯

功能性:台灯能否点亮?台灯光亮颜色和亮度是否符合它的规格?台灯的材质是否对人无毒无害安全?会不会漏电、电压标准是否符合规定标准?

可靠性:台灯一直点亮可以亮多久?灯泡工作多久会有损耗情况?电压不稳定时台灯能否正常使用?

易用性、可维护性、效率、可移植性留给你们思考吧,我写的也不会很全面,欢迎大家来指正。这里都是测试一些实物,是面试官喜欢问到的问题,后面我也会写怎么测一个软件

七、QA和QC的概念

引用百度百科QA与QC的解释

QA即英文Quality Assurance的简称,中文意思是质量保证 ;

QC即英文Quality Control的简称,中文意义是质量控制。

QA和QC的主要区别前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作,以提供内外部的信任.同时QC和QA又有相同点:即QC和QA都要进行验证,如QC按标准检测产品就是验证产品是否符合规定要求,QA进行内审就是验证体系运作是否符合标准要求,又如QA进行出货稽核和可靠性检测,就是验证产品是否已按规定进行各项活动,是否能满足规定要求,以确保工厂交付的产品都是合格和符合相关规定的。

 

转载地址:https://blog.csdn.net/IGGIRing/article/details/104493179 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:移动硬盘文件或目录损坏且无法读取
下一篇:【软件测试】软件测试的定义、软件测试的目的

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月01日 10时11分15秒