学习笔记3

113 阅读2分钟

软件质量模型

测试是一面镜子 测试无需为产品质量提升负责,但是要对有效的质量负责 质量评估是看产品是否满足了用户需求

质量模型

图为GB/T 25000.10-2016

软件测试的8个属性

常见的测试类型

  • 功能性测试:验证产品是否满足用户功能
  • 安全性测试
  • 兼容性测试
  • 配置测试
  • 稳定性测试(验证产品在长时间运行的情况下,能否保证系统正常的性能水平,存在异常的情况下系统是否可靠)
  • 易用性测试:易于理解、学习、操作
  • 性能测试:提供某项功能室对时间和资源的使用情况
  • 压力测试

曾经有面试官问我:你怎么理解可靠性测试?我就回答了长时间运行,但见解太浅薄了。

根据软件模型:可靠性代表了系统的成熟度、系统的可用性、容错性、易恢复性,针对这些角度进行的测试都是可靠性测试。

长时间运行可以看系统成熟度,大并发、各种混合业务、新建连接等手段都可以用用来测试成熟程度

人工加大负载、故障注入可以看系统容错性和可恢复性

测试优先级:功能测试一定是最优先的,然后可以进行其他测试,可靠性测试等,否则毫无意义。(写给我自己,感觉自己总是喜欢先提一些优先级比较低的bug,但其实不影响主流程)

另外提示自己,测试计划的执行顺序一定是按照用例的优先级排序的,而不是按照执行难易排序的,也不是按照容易出bug的地方排序的(😊)

功能测试

略()

可靠性测试

  1. 异常值测试:系统不允许输入的数值
  2. 故障注入: 实例故障:cpu高负载、内存占用过高、网络隔离、网络分区、实例退出、实例无响应、 java服务调用延迟、抛出自定义异常、内存溢出(OOM)、指定类返回值、进程cpu满载、杀JVM、触发垃圾回收、杀死进程、进程无响应、redis击穿 网络故障:接口拒绝、网络拒绝、接口请求延迟、网络延迟、丢包、乱序、损坏、重复、域名解析故障、 SQL故障:SQL异常注入