美文网首页我爱编程
可借鉴的自动化测试实践

可借鉴的自动化测试实践

作者: 罗斯汀 | 来源:发表于2018-04-19 17:53 被阅读0次

    上周参加了一个测试活动,了解到一些可以借鉴的深入自动化测试的点,摘要如下:

    准备自动化测试数据的多种方法

    1.对于一个对象的属性设置一些默认值,例如CreateUser.user()不关心这个user的特定属性,只要是个user.而CreateUser.withCountry(CHN)代表创建一个中国的user.

    2. 准备测试数据,抽象为4类: CreateUser.Create_Only代表一定要创建user.CreateUser.Search_Only代表只查出一个已经存在的user.CreateUser.Smart代表先找有没有这样的一个user,找到就用,没有找到就create,保证能返回一个user.CreateUser.Golden_data_only代表拿特定的数据.

    3.创建一个数据,当这种类型的数据总量低于某个阈值,系统自动创建多条类似数据存到DB,下次可以直接使用,提高执行的效率。

    API自动化

    1. 自动产生测试数据,如空值,超长字符串,以很低的代价暴露问题.

    2. 发现API行为的变化:初期可能是对某个关键字段进行判定,但这样容易遗漏.改进的方法是把上次的request/response存下来,重跑之后,去除特定的一定会变化的值(如session,time stamp等),若response不同,则报告问题.

    微服务架构下的API测试挑战

    1.   我知道consumer A将如何”有限地”使用我,所以可以在A和SUT之间放入一个proxy.记录request/response作为contract.下次验证contract就可以.

    2.    当被调用的某个微服务X不能正常工作时,mock X,就可以不依赖X测试其它和X有关的微服务了.

    测试执行环境

    1. 在Jenkins job外面包一层,支持多种执行方式

    2.Selenium Grid可提高并发执行能力,找到特定的机器/浏览器/分辨率,分发job

    3.  用Docker实现Selenium Grid的动态扩展与收缩

    测试报告

    1. Full trace test report帮助定位/重现bug,自动提交给DEV

    2. GUI video-based test report: fail之后retry3次,看它们产生的Full trace test report是否相同。若是,则在一台可以录video的节点执行并自动录制视频(太大,后改为图片)。基本这样自动化测试发现的问题就不需要人工干预报bug了。

    相关文章

      网友评论

        本文标题:可借鉴的自动化测试实践

        本文链接:https://www.haomeiwen.com/subject/sexgkftx.html