自动化测试脚本的编写规范

总体原则

说明:QA编写自动化测试应当遵守AIR原则。执行自动化用例应该感觉像空气(AIR)一样快速健壮。好的自动化测试宏观上来说,具有自动化、独立性、可重复执行的特点。
A: Automatable(全自动化)
I:Independent(独立性)
R: Repeatable(可重复)


【全自动化】

说明:自动化测试应该是全自动执行的,并且非交互式的。测试用例通常是被高频执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的自动化测试。自动化测试中不准使用System.out来进行人肉验证,必须使用assert来验证。
反例:下面数据库连接使用system.out.println来判断数据库是否连接成功

     Class.forName(driver);
     //1.getConnection()方法,连接MySQL数据库!!
     con = DriverManager.getConnection(url,user,password);
     if(!con.isClosed())
        System.out.println("Succeeded connecting to the Database!");
     //2.创建statement类对象,用来执行SQL语句!!
     Statement statement = con.createStatement();

【独立性】

说明:自动化测试不依赖任何外界环境(比如sit或者隔离环境)的影响。自动化测试属于持续回归范畴,每次有发布回归时自动化测试都会被执行。如果用例对如下外部环境有依赖,容易导致持续集成机制的不可用。

  • 静态流水数据(比如商户合约、会员、帐户)
  • 域名写死,域名支持配置文件(持续回归每次拉起环境域名会有变动)

正例:在不同环境中使用不同的env.properties 和data.properties,分别提供域名账号信息和测试流水数据信息。
反例:用例假设测试环境只有一台机器,并且通过读取日志进行验证业务是否成功,机器部署变化或者日志一旦格式改变,用例就失败了

  @CCCheck(id = "getIdByLog")
    public static void getIdByLog(TestContext testContext, String host,String searchValue,String cmd,String idPatten) {
        //search rpc call default
        String rpcClientcommands = null;
        String hostName=host.split(":")[0];
    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值