自动化测试应用推广 领导反思篇

最近看到一个报告让我想起有必要写点东西警示大家

据调查报告显示自动化测试人员 已出现过剩的现象

我在反思是什么让自动化这种一直被各大公司招聘主管认为是高大上的职位,出现的产能过剩,

难道是真的国内已具备足量的自动化框架开发人员,还是说这一行冒牌的比较多呢,我个人认为偏向第二点,往往好多面试者会了一点录制功能也会自吹拥有自动化技能,会关键字编程之类的,会编写脚本,,会用TESTNG 编写用例,感觉没有他不懂的技术似的,这种会吹牛的人招进去之后不要谈让他做自动化,能将功能测试做好就已很不错了

假如主管有幸招聘到真正能独产开发自动化代码的人,公司就一定能推广自动化吗,这种我也不完全赞同,为什么我说即使公司招聘么自动化框架开发人员,也不一定能推广自动化呢

这里用真实事例+真实代码跟大家讲解

我们看平安这种大公司的自动化是如何写的

public class MyMessagePage {private AndroidDriver driver;public MyMessagePage(AndroidDriver driver){this.driver = driver;}/*** @Method healthPlazaForTop* @Description: 我的消息-我的健康计划*/public void healthPlan() throws Exception {Thread.sleep(8000);LogUtil.info("点击右上方我的消息-我的健康计划");driver.findElementById("com.pingan.papd:id/image_chat").click();Thread.sleep(2000);driver.findElementByName("健康习惯提醒").click();LogUtil.info("选择健康习惯提醒");Thread.sleep(2000);driver.findElementByName("我的健康习惯").click();LogUtil.info("选择我的健康习惯");}/*** @Method healthPlanAdd* @Description: 我的消息-我的健康计划-添加我的健康计划*/public void healthPlanAdd() throws Exception {Thread.sleep(2000);LogUtil.info("点击右上方我的消息-我的健康计划-添加我的健康计划");driver.findElementByName("添加").click();LogUtil.info("点击添加,添加一条我的健康计划");List<WebElement> imgview = driver.findElementsByImgView();imgview.get(2).click();driver.findElementByName("添加完成").click();LogUtil.info("添加完成");}/*** @Method healthPlanRemind* @Description: 我的消息-我的健康计划-提醒*/public void healthPlanRemind() throws Exception {Thread.sleep(2000);LogUtil.info("点击右上方我的消息-我的健康计划-提醒");List<WebElement> layoutList = driver.findElementsByClassName("android.widget.RelativeLayout");layoutList.get(1).click();driver.findElementByName("提醒").click();LogUtil.info("点击提醒");driver.findElementById("com.pingan.papd:id/cb_summary").click();Thread.sleep(2000);driver.findElementByName("提醒时间").click();LogUtil.info("点击提醒时间");List<WebElement> editList = driver.findElementsByEditText();editList.get(0).sendKeys("09");editList.get(1).sendKeys("50");driver.findElementByName("修改").click();LogUtil.info("设置当天具体时间");if (driver.findElementsByName("重复").size() > 0) {driver.findElementByName("重复").click();driver.findElementByName("每周三").click();driver.findElementById("com.pingan.papd:id/title_back_icon").click();}LogUtil.info("设置完毕");}/*** @Method healthPlanDelete* @Description: 我的消息-我的健康计划-删除*/public void healthPlanDelete() throws Exception {Thread.sleep(2000);LogUtil.info("点击右上方我的消息-我的健康计划-删除");List<WebElement> layoutList = driver.findElementsByClassName("android.widget.RelativeLayout");layoutList.get(1).click();driver.findElementByName("删除").click();LogUtil.info("点击删除,删除一条健康计划");}/*** @Method healthPlanDelete* @Description: 我的消息-我的健康计划-取消*/public void healthPlanCancel() throws Exception {Thread.sleep(2000);LogUtil.info("点击右上方我的消息-我的健康计划-取消");List<WebElement> layoutList = driver.findElementsByClassName("android.widget.RelativeLayout");layoutList.get(1).click();driver.findElementByName("取消").click();LogUtil.info("点击一条计划,选择下方取消");}}

这种代码是用Testng框架 我不能怀恁,平安确实应用了当前主流技术,又是Appium ,又是Testng 看似确实是高大上

但我们得想一个问题,这样编写代码我们自动化工程师主要职责是什么,是功能用例转自动化用例吗,如果你们公司自动化工程师是这样定位,我建义你不要招,那样不但达不

到自动化测试,相反会增加人工成本,在这种环境下经常会出现以下对话

功能测试: 我们的自动化开发工程师什么都不做,弄出来的东西又没法测试

测试开发 :开天给功能测试人员转自动化脚本,天天码代码,一意思都没,浪费青春

功能测试: 我的用例已给你了,麻烦 你帮我转化下脚本

自动化测试: 你的模块我已帮你做了增删改查,功能全覆盖

功能测试 :执行测试发现一个模块我手工测试几十条用例,自动化帮我设计了4条用例功能全覆盖 (此后功能测试再也不找自动化测试转化用例了)

现在我们再来分析下出现这种现象的原因

为什么 测试开发 天天要去码代码  ,我想反问下 天天码代码的叫测试框架开发人员吗, 你听说过 开发架构师 会去码代码吗,他们只负责提供Demo 就行,结

构通了,其它的代码,就是开发人员按我的模板去码代码就行了,但测试这边就苦逼了,测试框架开发人员还要天天码代码,没起到框架师的作用

那有什么办法可以改善这种状况的呢,这时不得不对自动化框架重新定义了

眼睛可以近视,目光不能短浅。

自动化测试应用推广 领导反思篇

相关文章:

你感兴趣的文章:

标签云: