测试基础理论(1)-ISO9126体系
输入、处理、输出
- 经典登录
输入
可见
- 用户名
- 密码
- 验证码
- 勾选协议
- 登录按钮
不可见
- 登录时候的时间日期
- 地址ip
- 安全环境监测
- mac地址
- 本地配置文件
- 缓存数据
处理
可见
- 服务端
- 函数代码
- 密码加解密过程
不可见
- 外链引用
- 其他函数调用
- 第三方组件代码
- 第三方服务
输出
可见
- 登录成功动作
- 个人信息页
- 个人昵称
- 登录失败
- 提示信息
- 密码清空
- 验证码重置
- 重定向
不可见
- 接口返回的参数
- 缓存、数据库的数据
- 客户端本地配置
- 缓存文件信息
非功能
ISO9126体系
功能性
- 定义:软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力
适合性
- 标准定义
- 软件产品为指定的任务和用户目标提供一组合适功能的能力
- 软件提供了用户所需要的功能
- 软件提供的功能是用户所需要的
- eg:一个记账的app给你推送某某省钱计划合理,但是频繁推送不相关的内容如《论演员的自我修养》就违反了这一特性
准确性
- 标准定义
- 软件提供给用户功能的精确度是否符合目标。(例如:运算结果的准确,数字发生偏差,多个0或少个0)
- eg:不同场景对精确度要求不同,商城大电器一般是精确到元,而精品店里面的小物件会精确到分
互操作性
- 标准定义
- 软件与其它系统进行交互的能力
- eg:某一自研系统与三方系统对接,数据能否很好的传输
保密安全性
- 标准定义
- 软件保护信息和数据的安全能力。
- eg:用户权限、密码、异地登录
功能性的依从性
- 标准定义
- 软件产品符合和该功能相关的标准、规范、规则或特定的能力
- eg:一款计算器,计算规则要和数学中相关规则保持一致、用户名不能重复等
可靠性
- 定义:在特定条件下使用时,软件产品维持规定的性能级别能力
成熟性
- 标准定义:软件产品为避免因软件故障而导致失效的能力
- eg:修复登录bug,导致用户信息没了,引起的后果非常大,那么这个软件的成熟度是非常低的
容错性
- 标准定义:软件防止外部接口错误扩散而导致系统失效的能力
- eg:电脑卡顿导致正在编辑文档软件卡顿,最终丢失(负面)现在文档会有临时保存机制(高级容错)
易恢复性
- 标准定义:系统失效后,重新恢复原有的功能和性能的能力
- eg:依赖网络的游戏(网络中断,重新登录和网络中断,等待网络恢复重新连接,无须重新登录)
可靠性的依从性
- 标准定义:软件产品遵循与可靠性相关的标准、约定或规定的能力
- eg:通信类产品,系统的故障率不能高干多少、故障恢复时间不能长于多少、服务器容灾策略、备份策略、回滚策略
易用性
- 定义:使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力
易理解性
- 标准定义:软件交互给用户的信息时,要清晰,准确,且要易懂,使用户能够快速理解软件。
- eg:用户打开一个软件,根据交互信息能够明白这个软件是做什么的(流程类)
易学性
- 标准定义:软件使用户能学习其应用的能力,如帮助手册是否支持中英文,是否齐全,是否有在线人工帮助等。
- eg:用户根据使用说明书能够快速学会软件的细节操作
易操作性
- 标准定义:软件产品使用户能易于操作和控制它的能力
- eg:用户常用功能,或者操作app过程是否通俗易懂,不能说安装个app过程都很复杂,常用功能有的不知道藏在哪
吸引性
- 标准定义:吸引用户的能力,界面,外观等
- eg:针对使用应用软件的人群,整体UI设计应该遵循什么样的风格,有没有什么整体性的数据展示
易用性的依从性
- 定义:遵循一定的标准。
- eg:用户虽然接触的软件没有太多,但是这些软件当中大部分通用的操作流程基本是一样的,所以在设计的时候,可以略微改动,但是不要过分优化以导致用户不适应所设计的操作流程
效率性
- 定义:相对于所用资源的数量,软件产品可提供适当的性能的能力,通俗就是软件的各方面性能
时间特性
- 标准定义:软件处理特定的业务请求所需要的响应时间。
- eg:接口的响应时间、客户端渲染速度、缓存文件读写速度、数据库读写速度
资源利用性
- 标准定义:软件处理特定的业务请求所消耗的系统资源。
- eg:内存、磁盘、cpu、电、流量等的使用
效率依从性
- 参考市场同行竞品的效率,自己作为用户体验是不是能接受这样的效率
可维护性
- 纠正、改进软件产品和软件产品对环境、功能规格变化的适应性
易分析行
- 标准定义:软件提供辅助手段帮助开发人员定位缺陷产生的原因,判断出修改的地方
- eg:面对屎山代码,还有易分析性可言吗?
易改变性
- 标准定义:软件产品使得指定的修改容易实现的能力。(降低修复问题的成本)
- eg:要改个功能,不能牵一发动全身,高内聚低耦合就是为了方便软件升级和修改
稳定性
- 标准定义:软件避免因修改造成意外结果的能力
- eg:修改某一功能时,不会对另一无相关功能造成影响
易测试性
- 标准定义:软件提供辅助性手段帮助测试人员实现其测试意图
- eg:开发过程中,尽可能多的输出一些关键及详细的日志,方便测试人员更为全面的测试
维护性的依从性
- 比如开发过程中代码注释、变量名规范、配置规范等
可移植性
- 指软件产品从一种环境迁移到另外一种环境的能力
适应性
- 标准定义:软件产品无需作相应变动就能适应不同环境的能力。
- eg:一个软件在不同操作系统、浏览器的表现
易安装性
- 标准定义:尽可能少的提供选择,方便用户直接安装
- eg:常用的一键傻瓜式安装可谓是已安装性满满
共存性
- 标准定义:软件产品在公共环境中与其它软件分享公共资源共存的软件
- eg:就比如你安装了两种杀毒软件,A说B有威胁建议卸载、同样Bye说A有威胁建议卸载,当然开玩笑,不与其他系统软件起冲突就是很好的共存
易替换性
- 标准定义:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
- eg:就好比office和wps都能操作办公文档,具体看用户选择,之前office居多,后面wps的用户数慢慢上升,这也反应在慢慢替换office(片面观点)
可移植性的依从性
- 遵守规定,在不违法的情况下,变着法的抄也可以