不知道大家还记不记得软件质量模型这个概念。
软件质量模型是一个衡量软件整体质量效果的度量标准,目前比较常见的质量模型有 McCall 模型、Boehm 模型、FURPS 模型、Dromey 模型和 ISO9126 模型。
一般来说,软件产品需要满足的特性包括功能性、可靠性、易用性、效率、可维护性和可移植性。
你可能会说,这种东西华而不实,并没什么用处。并不是的,我们对产品制定准入准出标准时就需要根据软件质量模型评估产品的质量,只是不同产品的度量方式和侧重点不同。
软件质量模型还有一个作用:当你不知道某个产品的测试用例如何设计,或者不知道还需要补充什么用例的时候,可以参考软件质量模型的标准。
我们以简单的登录模块作为例子。
功能性
软件产品提供满足明确和隐含需要的功能的能力。
这要求产品要有特定的能力,并且能正确、完整、准确地工作。
正确的账号和密码要能正常登录,错误的账号和密码需要拦截并给出正确的提示,同时虽然是登录模块,但是应该要有新用户注册、找回密码的功能。还需要能确保数据的传输方式和存储方式是安全保密、不可被恶意篡改的。
可靠性
软件产品维持规定的性能级别的能力。
不会经常因为软件内部问题导致该功能无法使用,同时重新启动、重试多次、出现中断时该功能还能正常使用,服务出现异常后该功能可以恢复使用,面对sql注入等非法操作方式能拦截。
易用性
软件产品被理解、学习、使用和吸引用户的能力。登录路径是否明显,账号密码输入框和提交按钮是否清晰,登入入口是否符合用户常规操作,下次用户进来还能不能直接找到登录入口。
效率
在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。用户输入账号密码后,能在可接受的时间内作出响应,并且该功能不会造成电量流量消耗过高、内存占用过大等问题。
可维护性
软件产品可被修改的能力。修改可能包括纠正、改进或软件对环境、需求和功能规约变化的适应程度。当出现缺陷时该模块可以被修改,并且不会因为修复了问题而导致其它意外。
可移植性
软件产品从一种环境迁移到另一种环境的能力。比如可以正常安装、升级、卸载,可以和其它软件共存,在不同操作系统、不同屏幕分辨率下该功能都能正常使用。
是不是发现一般测试点中涉及的功能、性能、安全、兼容性等用例都包含在这里了呢。这里只是软件质量模型的一部分,大家仔细研究还可以发现更多好玩有趣的点。
作者:circle_hyy