目录
一、什么是质量
韦氏电子词典中,质量(quality)定义为“优秀程度”或者“同类优越性”
(一)软件质量的历史
在1991年软件产品质量评价国际标准ISO 9126中定义的“软件质量”是:软件满足规定或潜在用户需求特性的总和。到1991年,软件“产品”国际标准ISO 14598经典的“软件质量”定义是:
软件特性的总和,软件满足规定或潜在用户需求的能力。
一般对“质量”的理解是一个实体的“属性”,“属性”好就是质量好的。但这不够全面,“属性”是内在特性,内在特性好,不一定能胜任和完成好用户的任务。因此,软件质量也是关于软件特性具备“能力”的体现。
“内部质量”、“外部质量”和“使用质量”
三部分。
也就是说,“软件满足规定或潜在用户需求的能力”要从软件内部、外部和使用中的表现来衡量。
二、质量的特性
(一)功能性
当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力。
1、适合性:软件为指定任务和用户目标,提供了一组合适功能的能力。
2、准确性:软件系统提供给用户的功能是否满足用户对该功能的精确度要求。
例子:
1)计算器,1+1=2。适合性是看是否有加法功能,准确性是看加法功能的结果是否正确的。
2)手机,发送、接收短信。适合性是看是否能进行发送和接收,准确性是看发送接收的内容是否正确,如,发送的内容和接收到的内容是否一致,有无丢失。
3、互操作性: 软件系统和一个或多个周边系统进行信息交互的能力。
4、功能性的依从性:遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
(二)安全性
保密安全性:
软件系统保护信息和数据的能力。
Ⅰ、防止未得到授权的人或系统访问相关的信息或数据
Ⅱ、保证得到授权的人或系统能正常访问相关的信息或数据
不同的系统对于安全性的需求差别很大
常见的安全性测试:
(1)用户验证:登录密码验证、IP地址访问限制等
(2)用户权限管理:验证低级别用户是否具有了高级别用户的权限,各级别用户权限都得到了实现。
(3)系统数据的保护:对例如系统文件、用户密码文件等进行隐藏、密码验证、内容加密、备份。
(4)防DoS攻击:分析系统业务处理中哪些是消耗大量资源、哪些是响应时间非常长的,针对这类业务有目的地去验证系统是否有防 DoS 攻击防范手段。
(5)加密、解密:在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。
(三)可靠性
可靠性,是指在特定的条件下使用时,软件产品维持规定的性能级别的能力。
可靠性的三要素:规定的环境,规定的时间,规定的性能。
可靠性包括以下子特性:
1、成熟性
软件为避免由软件中的错误而导致软件失效的能力。
2、容错性
软件出现故障或者违反了制定接口的情况,软件规定了维护性能级别的能力。
如:检查外部传进来的指针是否非空、或者外部传进来的参数是否合法.
3、易恢复性
系统失效后重新恢复原有功能、性能的能力
(1)原有能力恢复的程度
(2)原有能力恢复的速度
开发人员应充分分析架构中哪个组件风险最集中,发生可能性最高,对这类核心组件采用主备倒换等易恢复机制。
4、可靠性依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
(三)软件易用性
在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
1、易理解性
用户在使用软件系统的过程中,系统交互给用户的信息是否准确、清晰、易懂,能帮助用户准确理解系统当前真实的状态,指导其进一步的操作。
如下图:
站在用户的角度,关注返回给用户的每一个信息,不要只关注功能的实现。
2、易学性
软件系统提供相关的辅助手段,帮助用户学习使用它的能力。
例如:是否有用户手册,用户手册是否有中文版,界面上控件是否有回显功能等。
例子:控件回显
3、易操作性
软件使用户能操作和控制它的能力。
例如:
①GUI 界面,菜单层次不要太深,一般不超过3层。
②安装软件的过程,采用一键安装。
错误:给用户大量的安装步骤,每步又有大量分支选项(把用户当成本软件的专家)
4、吸引性
软件吸引用户的能力。
美观:游戏GUI界面设计、手机外观等。
新颖:如某手机防护软件最新推出具有防盗、远程定位功能。
5、易用性的依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
6、效率(指的是性能测试)
(1)时间效率:
系统在各业务场景下完成用户指定的业务请求所需的响应时间。
榨一公斤黄豆需要多长时间?
(2)资源效率:
系统在各业务场景下完成用户指定的业务请求所消耗的系统资源。如CPU使用率、内存使用率、IO、通信带宽使用等。
榨一公斤黄豆在这么长的时间里耗掉我多少电,机器损耗有多大?
(3)效率依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
7.维护性
(1)易分析性
易分析性:是指软件产品诊断软件中的缺陷或失效原因,以及判定待修改的部分的能力。
软件系统提供辅助手段帮助开发人员分析、识别缺陷、失效产生的原因,找出待修复部分的能力,降低缺陷定位的成本。
例子:软件的日志功能。
(2)易改变性
是指软件产品使指定的修改可以被实现的能力。
(3)稳定性
稳定性,是指软件产品避免由于软件修改而造成意外结果的能力。
例如:代码中的有物理含义的数字,一定要用变量代替。
(4)易测试性
可以降低发现缺陷的成本,是指软件产品使已修改软件能被确认的能力。
①软件可控制:
软件系统提供辅助手段帮助测试工程师控制该系统的运行,实现其测试执行步骤的能力(如:API测试,通过打点、改变内部状态、值等手段。
②可观察:
软件系统提供辅助手段帮助测试工程师获得充分的系统运行信息,以正确判断系统运行状态和测试执行结果的能力。
a、设计单独的测试模式
b、提供单独的测试版本(如:测试版本上打开日志功能)
(5)维护性的依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
8.可移植性
(1)适应性
软件系统无需做任何相应变动就能适应不同运行环境(操作系统平台、数据库平台、硬件平台等)的能力。
解决平台无关、可移植性问题的一个常用思路是构造出一个虚拟层,虚拟层将下层细节屏蔽,对上层提供统一口。例如:JAVA,JVM
(2)易安装性
易安装性,是指软件产品在指定环境中被安装的能力。
例子:软件的安装类型是文本界面,还是图形导向;
(3)共存性
软件系统和在公共环境与其共享资源的其他系统共存的能力。
测试不仅需要关注自身特性的实现,还要关注本软件是否影响了其他软件的正常功能。
(4)易替换性
是指软件产品在环境相同、目的相同的情况下替代另一个指定软件产品的能力。
软件系统升级的能力。例如:在线升级、打补丁升级等。
(5)可移植性的依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。
9.兼容性
对于常用的BS架构和CS架构,兼容性需要考虑如下方面:
架构 |
兼容性测试内容 |
优势 |
劣势 |
说明 |
BS架构 |
不同浏览器的兼容性 |
可维护性比较好 |
性能相对差一些 |
浏览器—》前端—-》后端架构的原因,导致性能相对差一些 |
CS架构 |
操作系统、屏幕大小、分辨率 |
性能比较好 |
维护性不太好 |
发布了新版本,APP需要升级,同时APP上架还需要审核(IOS需要一周时间审核) |
10.质量保证
为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。
2
个软件质量相关的角色:
- QA即英文QUALITY ASSURANCE 的简称,中文意思是质量保证
- QC即英文QUALITY CONTROL的简称,中文意义是质量控制
三、软件质量模型
四、QA与QC
(一)定义
QC就是测试人员,职责是尽可能早地发现软件的缺陷,并确保缺陷得到修复(有些企业里,测试人员被称为SQA)
QA是流程的监督者,职责是创建和执行 改进软件开发过程,并防止软件缺陷发生 的标准和方法
(二)区别
QC和QA的主要区别:前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作,以提供内外部的信任
今天的文章【测试开发学习历程】软件质量指标分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/83578.html