软测的原则
- 测试尽早介入(如果开发人员代码交晚,就报风险)
- 穷尽的测试是不可能的(只能检查大的漏洞,有一些在特定的条件下才能促发,或者一些细小的缺陷)
- 测试显示软件存在缺陷(软件都或多或少存在着缺陷)
- 缺陷的集群性(2/8原则)(20%的用例可以发现80%的缺陷,80%的缺陷出现在20%模块)
- 杀虫剂悖论(抗药性:要随时改变测试的方法、手段,或者组内评审,交叉测试)
- 测试活动依赖于测试内容(按照质量模型测试,但有些企业不会按照这个模型)
- “无错就是好”的谬误(要站在公司的角度来测试)
ISO9126质量模型(软件生产的质量模型)
ISO9126质量模型是评价软件质量的国际标准,由6个特性和27个子特性组成
背景:
功能性 (软件是否满足了客户的需求)
- 适合性,(合不合适,实不实用,所提供的功能是客户所需要的)
- 准确性 (追踪数据。例如Sql查询的表对不对)
- 互操作性(调用接口,兼容其他软件)
- 保密安全性(一些数据不能被直接看到,尽量不要被抓包工具抓出来)
- 功能的依从性(遵循各种法律法规。)
可靠性(软件是否能够一直在一个稳定的状态上满足可用性,就是不容易崩溃)7*24小时测试
- 成熟性 软件系统防止系统内部错误而导致失效的能力
- 容错性 软件系统防止外部接口错误扩散而导致系统失效的能力(教务系统崩溃,重启服务器,页面提示服务器在维护)
- 易恢复性 系统失效后重新恢复原有的功能、性能的能力,包括对原有恢复能力的程度与速度(回滚)如果存在大规模删除时,要做一个数据备份
易用性 (用户体验性好,易学习和使用,可减轻使用负担)
- 易理解性(给用户的信息是否准确
- 易学性 (帮助用户使用。如使用手册)
- 易操作性 用户基本不要额外使用学习就能操作软件
- 吸引性(软件具有某些独特的,能让用户眼前一亮的属性,包括GUI,多媒体应用
效率
- 时间效率(指用户在特定的时间内完成特定的业务请求,一般在3秒内)
- 资源效率(指系统软件在完成用户指定的业务请求所消耗的系统资源)
可维护性(衡量对已经完成的软件进行调整需要做多大的努力
- 易分析性 操作日志
- 易改变性 单元测试
- 稳定性 系统在长时间连续工作下不崩溃
- 易测试性 从验证的角度,软件存在可检测性的难易程度
可移植性
- 适应性 软件产品无需作用相应变动就能适应不同环境的能力
- 易安装性 尽可能少提供选择,方便用户直接安装
- 共存性 软件产品在公共环境中与其他软件分享公共资源共存的软件
- 易替代性 软件产品在同样的环境下,替代另一个相同用途的软件产品的能力