zoukankan      html  css  js  c++  java
  • 公司自动化测试“蛋疼到蛋碎”的过程。。。

      前两个月,Boss说要搞自动化测试,这里说明一下,之前公司测试都是测试人员手动点来点去(个人觉得这样确实比较蛋疼,手点麻了也测不出太多的BUG,还要反复操作相同的步骤,这也有些太难为我们公司搞测试的两个小妹妹了。)

      开始决定是用selenium工具,决定了就开始干起来,安装Eclipse,JDK,配置环境变量.......!这里说一下,本公司测试人员没有太多开发经验,所以这些都是在开发人员协助下完成的,风风火火前前后后差不多搞了一个星期,就在我们觉得可以用的时候,发现问题一大推,测试人员对工具不熟悉,测试用例不太会编写,最主要的是程序一直不稳定,这个时候真心觉得太TM坑爹了,搞了这么长时间竟然不能用。由于本公司两位测试人员开始不知道有C#版本的,就用JAVA版本的来部署,结果CTO建议改用C#版本,所有又从新来过。

       在决定换版本之前,我们开了一个研讨会,讨论接下来这个事到底该怎么搞,避免再做无用功。会议上,公司的屌丝都积极发言,并且就在会议上,我们简单部署了一下测试环境,(本公司的单元测试之前已经实现自动化,用Nunit+CruiseControl,在CruiseControl上面可以很直观看到单元测试的运行结果,有错误会自动提示,现在我们想做的就是把系统测试也部署到CruiseControl上面,)录制了一个测试用例,然后把录制生成的代码Copy到测试类里面,这样就可以运用单元测试的环境来跑系统测试了,试了一下,确实爽了一把,所以我们就决定使用这个了。

      接下来的工作主要就是测试人员录制测试用例,然后Copy到测试类里面,开发这边负责给她们提供数据接口,好让她们验证测试是否通过,本以为接下来的事情就是这么简单,可是接下来遇到的一系列问题都会让我怀疑我的IQ、EQ、MQ、AQ、QQ,现在就不是蛋疼了,简直就是蛋碎。

      最初发现selenium录制的代码根本用不了,录制成功之后在运行的时候根本就通不过,(不是每次都通不过,抽风的时候会过。至于什么原因,后面会介绍)我们就改用WebDriver,按照录制的思路,自己写测试用例的代码。这样一来,让我们公司两个小妹妹可就头疼了。大家都知道,要写好测试代码也不是件容易的事,还要考虑性能,稳定性等原因。

      公司廖姓程序员负责给自动化测试提供数据接口,接下来的几周,就开始了他们的自动化测试之旅。我们还是用Nunit的机制来跑测试用例,结果发现有时候单个的测试用例可以用过,但是一起跑的时候就会报错,而且还有时候第一次跑的时候通过,第二次跑就通不过,第一次没通过的,第二次会通过,总之就是各种不稳定,各种通过与不通过交织进行,寻找其原因,发现跑测试用例的时候,元素定位不准确、数据有冲突、账户有冲突、提示框有问题.......。一系列的问题就导致前面出现那么多的不稳定,我们廖姓程序员在给自动化测试提供数据接口的同时,还负责解决了这一系列问题,元素定位不准确就用各种方法在页面上查找元素,数据有冲突就先备份数据库,测试跑完再还原数据库,账户有冲突就需要的时候在测试用例中切换用户,监测提示框何时弹出。在解决这些问题的过程中,新的问题不断出现。公司两个搞测试的小妹妹整天修改自己的用例,这里修改好,哪里出问题。我不禁想说,生活把我们QJ了。

      到这个时候我以为我再也不会相信爱情了。我终于发现永远没有完美的程序,就像没有完美的人一样,多少都会有点BUG。为了不让这么多天的努力与付出白费,我们依然在不停的解决问题、解决问题、解决问题,此处省略500个字......(说多了都是眼泪啊!!),终于在一个阳光明媚、鸟语花香、风和日丽的早上,所用的测试用例全部通过,看着测试报告一片的绿色,我们的心变成了红色,在这一刻,我理解了守得云开见月明的真谛,懂得了阳光总在风雨后的道理,重要的是我发现自己又开始相信爱情了。

      回顾整个过程,发现我们还是走的不少弯路,开始的时候没有想太多可能存在的问题,导致问题出现的时候没有相应的解决办法。软件开发是一个靠经验累积成长的过程,是每一个菜鸟都必须经历的,技术也是一条学无止尽的不归路,如果你一直停滞不前,那等待你的必将是淘汰出局。

      现在我们自动化测试已经非常稳定了,每天定时跑一次就OK。今天来公司之后,Boss说明天是七夕情人节,给你们放一天假,去寻找爱情吧,哈哈~~!

      整理了一下我们做自动化测试用到的一些资料,

       1.http://www.seleniumcn.cn/

            2.http://www.17test.info/         

            3.WebDriver使用指南

            4.http://www.nunit.org/ 

            5.公司的项目,欢迎各位大牛提建议和意见。

  • 相关阅读:
    公用表表达式(CTE)的递归调用
    c# 如何让tooltip显示文字换行
    实战 SQL Server 2008 数据库误删除数据的恢复
    SQL SERVER数据库中 是否可以对视图进行修改删除
    asp.net中实现文件批量上传
    sql server 2008学习2 文件和文件组
    sql server 2008学习3 表组织和索引组织
    sql server 2008学习4 设计索引的建议
    sql server 2008学习10 存储过程
    .net 调用 sql server 自定义函数,并输出返回值
  • 原文地址:https://www.cnblogs.com/liufeng429/p/3248189.html
Copyright © 2011-2022 走看看