开发者学堂课程【ALPD 云架构师系列:云原生 DevOps 36计-阿里云云效出品:好的测试应该怎样】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/772/detail/13519
好的测试应该怎样
内容介绍:
一、测试原则
二、FIRST 原则
三、持续测试的反模式
一、测试原则
好的测试应该是怎样的,这里存在一个简单的原则,
第一个:把测试锚订到需求上
因为这个软件是为了描述需求增量的,如果锚定在是线上,则是白格测试,只有锚定在需求上才是配合测试。
第二个:在测试集上描述需求
在 carreycat 上配置,告诉它是基础的还是常规的类型,然后另外测试集主要是针对那个特性来进行验证测试的。
第三:每个测试只验证一个概念
也就是说不要测试验证一个或者两个多个案例,这个时候如果测试挂了,搞不清楚倒底是那个概念导致的问题,在这个前提上应该是单一原则。
第四个:测试用例的名称应该清晰表达其目的
也就和锚定在需求上是一种类似的说法,其实很多情况上,如同通过测试用力是可以描述我的需求文档的。
第五个:测试之间不要相互依赖
因为这个一个挂了其他的也会跟着挂,此时也不知道什么原因导致。
二、FIRST 原则
Fast 快速:测试的执行应该快速,以快速获得反馈。
Isolates 隔离:测试用例之间是相互独立的,不能相互依赖。
Repeatable 可重复:测试可重复执行,每次执行结果应该是一致的。
Self-Vaildating 自验证:测试结果应该由自动化框架自动验证完成,无需人工参与。
Timely 及时:稍后再测意味着永远不测。
总结 FIRST 原则在执行时第一快速,第二隔离,第三可重复,第四自验证,第五及时。
三、持续测试的反模式
想搞清楚什么样的测试好,可以先弄清楚什么样的测试不好,可以搞清楚持续测试的反模式。
比如自动化模式,有人觉得写单元测试太花时间,所以进行自动化的生成,根据时间代码来测试,以前存在一个工具,给它框架即可自动生成,现在看是非常愚蠢的行为,因为基于生产代码生成的单元测试,如果生产代码存在问题,那生成的单元测试也是有问题的,此外白格单元测试是追求覆盖率的,追求覆盖实现的,但实际上应该去验证需求,还有追求高覆盖率则为对着代码去显示白格,还有追求高自动化率,也就是说,分子分母同时增加,即将容易做成自动化的做成自动化,还有一个问题就是将写成的自动化,很少执行,并不稳定,还有则为重复验证。
这里即为想要做质量保障过程当中一个完整的体系的过程,并在测试角度,分成几个象限,并且测试是分在整个软件过程当中的,第二个也就是说质量是所有团队里的事情,需要通过相应的策略,比如基于成本去完成相应的事情。