前言
学一个最简单的自动化脚本需要多久?答 :五分钟。明白自动化测试的意义需要多久?答 :五年
曾经有个公众号说,说我国能写软件自动化测试脚本的不下十万人。但能真正称为自动化测试工程师的不到一千人。
为何会这么说?答案就在于脚本你会写,但是你不知道如何写,不知道为什么写,不知道脚本什么时候运行最好,不知道脚本的意义何在。
所以面试官问:你谈谈自动化测试的理解的时候,你可能都说不出三句话:
1能降低手工测试的执行成本
2用xx语言xx框架可以做
3能回归用例,也能线上轮询监控
这时面试官想了想说,本来想给你定p7的,但是你这个回答和p4的新人一样,看来还不是能够深刻理解的层次啊。
所以我们今天就来好好复习一下吧
自动化测试的技术有哪些
- 代码的静态动态分析
- 测试过程的录制和回放
- 脚本技术
- 虚拟用户技术
- 自动管理技术 等等,琳琅满目,你的自动化项目用了哪些呢?
自动化测试的限制:
不适合做自动化的项目特点:测试很少运行,软件不稳定,人工测试也很容易,涉及到过多和其他软硬件交互。
相比较手工测试,自动化测试的缺点有:bug发现的又浅又少;对测试质量依赖性大;成本风险高;软件的部分反自动化设计;工具本身比较木讷扥等。
自动化测试用例生成:
如何写好一个脚本 ,其实可以扯的非常非常多,博主在之前的【饭谈】系列中也详细探讨过脚本的质量问题,这里不再过多赘述。
脚本注释:很多同学都没写太多,感情这是一次性的东西?
脚本功能:每个脚本用例的划分全凭心情,毫无目的性可言的反面例子比比皆是。
脚本结构:应该易读,易理解,易维护。
脚本文档:从来没看谁写过,这可不行啊。
脚本的结构:
你肯定听过线性脚本吧?
线性脚本:从头到底,直肠动物,不需要什么高端设计,重用能力太低。
结构化脚本:选择,分支,迭代,循环等都有,好处是可重用和维护简单。
共享脚本:属于组件类脚本,可以同时被多个用例调用,属于很底层的东西,可靠性一定要高,且要做好跟踪日志等等。
数据驱动脚本:业务逻辑简单,数据多样化的情况适用。
关键字驱动脚本:代码自动生成,用关键字自然语言进行控制,利于推广和维护。