测试基础理论(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(片面观点)

可移植性的依从性

  • 遵守规定,在不违法的情况下,变着法的抄也可以

CMM5质量图