关于自动化测试的一些思考(三)

之前在一个项目组,写了两次粗浅的自动化方面的思考

关于自动化测试的一些思考(一)http://www.cnblogs.com/tobecrazy/archive/2012/12/18/2824248.html

关于自动化测试的一些思考(二)http://www.cnblogs.com/tobecrazy/archive/2013/06/10/3131338.html

这两份都是刚做自动化测试的时候能够想到的,回顾一下,令人唏嘘。之前做的主要是基于server端的自动化,并且是Linux平台,

所以做自动化相对来说比较容易。因为不需要考虑gui变化,关键字驱动就可以实现测试框架。

现如今做的web端测试,主要基于selenium测试框架的二次开发的框架。现在将项目中遇到的实际问题和一些思考分享一下。

接下来会详细介绍项目背景,团队以及自己的一些思考总结。

项目背景:B/S架构的web网站,属于长期产品,不断迭代(可参考淘宝),较复杂的业务逻辑测试框架比较完善,基于selenium二次开发深度定制。

团队:Global Team,做自动化的和做手工测试的严格分开,相对独立(专职的automation QA和manual QA)。

做手工测试的熟悉业务逻辑,主要参与设计case;做自动化的主要把manual QA的case

翻译成自动化的case,每个release不停的run

遇到的实际问题:分为团队方面和测试框架的一些问题

首先说一下团队方面:

  以前的团队里manual QA 和automation QA没有严格区分,case是我们自己写的,由于业务逻辑没有那么复杂可以说是得心应手,手到擒来。

现在的团队,由于automation QA focus在写自动化和跑Case,出现的最大的问题如下:

  a.不懂业务逻辑,测出问题不能断定是不是bug,反而要经过manual QA去二次确认。

  思考:automation QA要不断学习,充分熟悉业务逻辑,并且能站在customer角度考虑问题,留心一些不合理的设计。

b.如果case 比较久远,而case缺乏维护,这要已经被自动化的case维护起来比较难,逻辑已经不清楚。

  思考:需要经常花时间和manual QA沟通,定期更新case

c.绩效考核不够科学,考核的一个重要的指标,code coverage, 由于case是manual QA设计的,code coverage 不是说提高就能提高。

   考核的另外一个指标,翻译成自动化的case的数目,如果某个component被新增或者废弃,都不能做相应的调整,因为这个指标是年初制定。

这点还是管理团队思考吧

当然,以上都需要花费太多的时间,当然我们的时间主要花费在翻译case、跑case并分析。

下面是框架的问题:

  首先自动化框架已经很完善,有专职的architect维护,我说的问题并不是真正架构上的,而是维护起来的实际问题。

a. 页面变化

页面变化几乎是每个做web自动化头疼的问题,因为原来的页面元素和业务逻辑都会有相应的变化,以前所有的验证点都失效。而web 产品版本迭代免不了

页面变化。框架是一个好框架,关键是用的人,由于水平的原因,导致后期维护苦不堪言。上个图描述一下框架,以前的case,没有把 page action组装起来

直接在每个case里写,这要代码重用性和可维护性比较差。如果页面元素变化了,要修改到每个case里边。

如果使用actions,直接修改page和page action这要case不需要变化啦

思考: 要增加case的可维护性和代码的可重用性,就要进一步吧相应的共性的东西抽象出一个个方法,让容易变动的部分放在最底层

  b. 因为整个框架是基于selenium(testng)的,开源的框架,好处多多(省钱,知道源代码可以二次开发深度定制),但是缺点也不少。

case 不够稳定,常常出现找不到Web element的现象。可能网速太差,或者本身某些方法不够科学,wait时间太短。也可能是xpath写的不够科学。

思考:增强case的稳定性,需要在case里边设置科学的wait time和重复刷新,另一方面xpath写的时候要考虑到页面万一有微调的时候不受影响。

以上就是我对项目的一个初步总结。

接下来是我自己的一些想法:

  1.自动化测试和手工测试

   自动化和手工测试各司其职,由于我们框架比较成熟,在java代码技巧上没有特殊的要求,因为方法都是封装好的,这要对成长不利。

当然手工测试也很厉害,需要懂业务也要设计case,私以为测试能力主要体现在设计case的能力上。所以,在做自动化测试的同时,要思考为什么

case这么设计,要试着设计case去cover那些manual QA考虑不到的地方。

2.测试开发和移动自动化测试

这也是我极为纠结的,以后的趋势是往移动方面走,未来是往移动方面走还是做测试开发?

  

时间: 2024-08-29 08:57:47

关于自动化测试的一些思考(三)的相关文章

关于自动化测试的一点思考

测试十年,有一大半时间在做手工测试.最近几年开始看一些自动化测试的东西,有多年手工测试的基础,自动化测试进展相当快,尤其是接口自动化和功能自动化. 自动化测试在我看来就是用工具或者脚本一一实现手工测试的步骤.其中最重要的不是工具或脚本,而是测试思想.手工和自动化都可以实现测试思想所转化出的用例,只是在某些情况下自动化可以提高测试的效率. 这么多年的测试工作,测试方法总结起来只有一个:一定的条件下,做一定的操作,验证得到的实际结果与预期结果是否一致. 测试设计得好不好,在于条件和操作考虑的是否完全

自动化测试的优缺点思考

1. 自动化测试有什么好处: a) 节省人力,只要代码维护的好,不需要那么多人就可完成测试 b) 节省时间,测试脚本可以晚上或者是周末跑测试脚本 c) 优化资源分配,在运行测试脚本的同时,QA可以做其他事,比如设计新测试用例 d) 方便regression,极大提高效率 e) 增加软件的可信度,测试是机器执行的,排除了手工测试时因人为情绪而发生的随意性或疏忽性,测试结果更可信 f) 能完成手工不易控制的工作,比如采集系统cpu占有率信息,手工计算很复杂,还要进行数据比对,使用脚本更简单,更方便.

用户体验思考(三)

互联网产品的核心在于用户体验,而一款产品的用户体验,主要可以分为产品经理.UI设计以及前端3个部分. 前端工程师除了按照着产品经理的设计图.UI的视觉稿进行精确实现(首先能够实现)外,更需要关注: 可预测性(兼容性),性能(流畅度),开发效率

Web自动化测试—PO设计模式(三)

test_case目录下面放你要执行的用例 目录结构 ui_auto_test --src --test_case --__init.py --test_login_case --pages --__init.py --base_page.py --login_page.py test_login_case.py # conding:utf8 import unittest import os, sys #获取项目顶级文件夹绝对路径 src_path = os.path.split(os.pat

由项目中一个hash2int函数引发的思考

hash2int /** * 计算一个字符串的md5折算成int返回 * @param type $str * @return type */ function hash2int($str) { $md5str = md5($str, true); $one = unpack('l', substr($md5str, 0, 4)); $two = unpack('l', substr($md5str, 4, 4)); $three = unpack('l', substr($md5str, 8,

小钢的架构思考:架构设计

原创文章,转载请注明:转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160621微信订阅号:keeganlee_me写于2016-06-21 小钢的架构思考:什么是架构小钢的架构思考:架构规划小钢的架构思考:架构设计 最近一个多月因为忙于工作上的项目重构,所以文章一直没能更新.现在,重构终于暂时告一段落,于是,赶紧抽时间把文章写完更新发布.下面进入正文. 当架构规划的结果,整理出一堆不同优先级的需求,尤其是质量需求之后,接下

Java+TestNG+Maven+Selenium的web自动化测试脚本环境的搭建

一.环境搭建 1.安装java环境 a. 安装JDK b.安装eclipse c.安装maven 参考:http://www.cnblogs.com/s1328/p/4620812.html 2.安装eclipse下的testng插件 Eclipse中点击Help->Install new software -> 点击Add 在Location输入 http://beust.com/eclipse 选中Testng版本,点击Next,按照提示安装,安装完之后重启Eclipse 3.安装fire

【反传销】春节一个短暂误入传销和脱身的真实故事以及对技术的思考(一)简单的开始与症状

这是一段真实的,沉甸甸的经历,就发生在今年2015春节前后.希望看到这篇文章的每一个人 仔细读完,理解,并转发给身边的人,让你的家人出门之前一定要注意.同时也可以给已经有陷入传销的家人,你们可以做的一些事情.作为一个喜欢技术的,看完之后也思考了一些问题,如何能在法律允许的范围内,通过手机等设备,保护自身及家人的安全,希望大家一起交流. 自由诚可贵,且行且珍惜. 为了当事人的隐私,下面的故事的任务和地点,进行了缩写,大家基本可以猜测到: LotA :我和当事人工作的城市,是一个浙江沿海城市: Lo

阅读,享受,思考——一个爱书人写给大家的文章

我从初中开始有个不知是好还是坏的习惯,就是非常爱去逛校门外的书店,而且特别爱买课外练习册,什么黄冈密卷,龙门题库,X年真题X年高考,真是买了好多好多,结果当然是绝大部分都是买过之后大部分都没有做过.在高考后的那个暑假整理以前的书时候,看到那么多空白着的练习册,真是心生愧疚啊.可人啊就是秉性难改啊.到了大学,当然不会再买练习册了,我如愿学了我最喜欢的计算机,所以校门外的那家书店我四年里都不知道逛了多少次,买了多少本书,特别是上了大学自己的经济上可以管理每个月的生活费了,而后来知道了当当网更是让我可