优秀设计师网站,qq刷赞网站推广全网,莲花网站建设,怎么做外网的网站说起自动化测试#xff0c;我想大家都会有个疑问#xff0c;要不要做自动化测试#xff1f; 自动化测试给我们带来的收益是否会超出在建设时所投入的成本#xff0c;这个嘛别说是我#xff0c;即便是高手也很难回答#xff0c;自动化测试的初衷是美好的#xff0c;而测试…说起自动化测试我想大家都会有个疑问要不要做自动化测试 自动化测试给我们带来的收益是否会超出在建设时所投入的成本这个嘛别说是我即便是高手也很难回答自动化测试的初衷是美好的而测试工程师往往在实现过程中花费了很多成本、精力而最终以失败告终。 失败的原因会很多我总结几项 
1.    太过依赖测试工具高估了工具的力量最终会以失望告终。 
2.     项目紧急的情况为了规避那些多余的环节干脆人工测试结果整个链路中断。 
3.     研发和测试人员不能很好的交互如果这两个角色之间有了一道防火墙那别说自动化测试了手工测试也不会有好的效果。测试人员可以把研发想象成自己的女朋友 努力培养相互之间的感情。 
4.     自动化测试人员实力被低估而导致的情绪低落这个问题在所有岗位上都会发生当然要看领导重视程度了。 
5.     资源不够公司不舍得资源投入或者蹑手蹑脚那就不要浪费时间了。 
6.     太高的期望过低的回报。 
现在国内没有几家公司说能玩转自动化测试的在看国外那些耳熟能详的企业像google Microsoft 它们反而搞得热火朝天的。可笑的是在微软中国的测试部门工作过几年的测试经理出来搞个什么《微软自动化测试体系最佳实践课程》就能忽悠国内的那些知名的企业掏钱去听我这也不是说他们的东西不好 只是希望我们自己也能够重视起来要知道人家“卓越”体系也是由那些“专业团队”花了很多的时间和精力才搭建起来的所以先不说收益如何即便是为了这一个美好的初衷我们也应该去尝试一下即使是失败。 
我也做了几年的测试但也是最近才开始研究自动化测试的在工作中多多少少接触过几种常见的工具如 silktest 和Selenium 搞过测试的应该都听过我最近刚刚为现有项目搭建了一个测试框架为其中的部分模块编写了一些测试case, 收益还是颇丰的先说说这两种工具吧。 
SilkTest 是商业工具想使用是需要花钱的但是有现成的平台和框架也比较容易学习可以基于windows unix 平台。ie firefox 部分浏览器。可以录制回放对象识别或者手工编程也能基于数据驱动关键字驱动等等测试框架。SilkTest 里面的语言4test 其实是类C 也有Silk4J 用Java 写编程能力相对较强。 
Selenium 是免费的需要有类似ide 如eclipse 原先是thoughtworks 的几个牛人开发的现在google 维护人都跳槽过去了。可以基于windows unix mac 等平台。ie firefox 等浏览器。 测试团队经费不足能力很强Java 上面有对测试平台和环境要求比较高ie firefox safari 等等那么Selenium 是很不错的选择。 
一、工具准备 二、Junit的安装 
1.        Eclipse本身会自带Junit.jar包所一般情况下是不需要额外下载junit的。 2.        将junit3的library添加到工程的buildPath中 3.        因为junit的日志是通过Ant来生成的所以一定要将Junit.jar添加到ant_home里 三、selenium的安装 
1.        安装seleniumIDE打开火狐浏览器然后进入工具—添加附件搜索seleniumIDE 2.        查询出对应的IDE后点击直接安装安装结束后重启FireFox看到下面的菜单说明安装成功 3.        安装selenium-rc先去http://www.openqa.org/selenium/下载selenium包。用命令行来到解压到文件夹下d:/autoTesting/selenium-server-standalone-2.0b1.jar目录下 
4.        运行java -jar selenium-server-standalone-2.0b1.jar启动selenium server。为了在运行时应用运行的浏览器与selenium服务的浏览器分开可在其后面加–multiWindow。 5.        在Eclipse创建一个项目在项目的build path里面加上elenium-server-1.0-beta-1下selenium-server.jar、selenium-java-client-driver-1.0-beta-1下selenium-java-client-driver.jar这两个在刚解压的包里面和eclipse/plugins/org.junit_3.8.1下junit.jar。 6.        将制定的Jar包导入到工程里然后你就可以集成并使用相应的API编写自己的测试CASE了。 
四、Coverlipse的安装 
1.        直接通过Eclipse即可安装步骤如下 
In Eclipse, click Help - Software Updates - Find and Install. In the dialog, select Search for new features to install, then Next. In the next step, add a New Remote Site. Name it Coverlipse update site, the URL is http://coverlipse.sf.net/update/. Press Finish. Eclipse now searches for the Coverlipse feature to install and shows that to you. 2.        配置Coverlipse以获取代码覆盖 
3.        一旦单击了RunEclipse会运行Coverlipse并在源代码如图7所示中嵌入标记该标记显示了具有相关JUnit测试的代码部分 
4.    Coverlipse生成的具有嵌入类标记的报告 5.     正如您所见使用Coverlipse Eclipse插件可以更快地确定代码覆盖率。例如这种实时数据功能有助于在将代码签入CM系统前更好地进行测试。 
五、ANT安装eclipse自带只需要配置环境变量ant_home即可。 
六、创建一个案例 
1.        创建一个工程testSelenium安装下面目录结构 2.        录制脚本打开Firefox浏览器进入selenium IDE菜单 3.        输入相应录制的地址点击红色按钮开始录制 
4.        将脚本转换成junit代码然后将其拷贝到测试类中做为测试CASE编码的雏形。 
七、如何查看日志这里日志分两类 Junit日志通过junit写的断言和标准输出这些操作产生的日志记录。 
l         Selenium日志当运行junit脚本时selenium相关的脚本就会产生回放日志例如打开界面的url标准输入输出等信息。 虽然这两种日志没有交集需要分开查看。但一般情况下我们只需要观察Selenium日志已经足够用了与其相比Junit日志更适用于编码阶段。 
1.      Junit日志只需要配置脚本build-selenium.xml如下 
project nameseleniumTestdefaultjunit basedir.propertyenvironmentenv /conditionpropertyia.home value${env.IA_HOME}issetpropertyenv.IA_HOME //conditionpropertynamerun.classpath value../class/propertypropertynamerun.srcpath value../testSelenium/propertypropertynametest.xml value../xml/propertypropertynametest.report value../report/propertypropertynamelib.dir value../lib /pathidcompile.pathfilesetdir${lib.dir}includenamejunit.jar /includenameant.jar //fileset/pathtargetnameinitdeletedir${run.classpath} /mkdirdir${run.classpath} /deletedir${test.report} /mkdirdir${test.report} /deletedir${test.xml} /mkdirdir${test.xml} //targettargetnamecompile dependsinitjavacdestdir${run.classpath} srcdir${run.srcpath} //targettargetnamejunit dependscompilejunitprintsummaryfalseclasspathpath${run.classpath}pathrefidcompile.path //classpathformattertypexml /batchtesttodir${test.xml}filesetdir${run.classpath}includename**/Test*.class /includename**/*Test.class //fileset/batchtest/junitjunitreporttodir${test.xml}filesetdir${test.xml}includenameTEST-*.xml //filesetreportformatframes todir${test.report} //junitreport/target/project 
2.      运行ant脚本以后就可以生成相应的junit日志。 selenium日志 当运行junit脚本时selenium相关的脚本就会产生回放日志但默认记录的东西可读性太差了所以我们使用loggingSeleniumhttp://loggingselenium.sourceforge.net/usage.html 可以将每个case可以生成记录selenium命令的html格式的result了。 
4.      plugin的下载地址 
Download logging-selenium-1.2.jar (LoggingSelenium) 
5.      安装方法只需要将下载的logging-selenium-1.2.jar导入到工程里即可。 6.      编写代码如下 
Beforepublic void setUp() {finalString resultPath absolute-path-to-where-your-result-will-be-written;finalString resultHtmlFileName  resultPath  File.separator result.html;finalString resultEncoding  UTF-8loggingWriter  LoggingUtils.createWriter(resultHtmlFileName,resultEncoding);LoggingResultsFormatter htmlFormatter newHtmlResultFormatter(loggingWriter, resultEncoding);htmlFormatter.setScreenShotBaseUri(); // this is for linkingto the screenshotshtmlFormatter.setAutomaticScreenshotPath(resultPath);// wrapHttpCommandProcessor from remote-controlLoggingCommandProcessor myProcessor new LoggingCommandProcessor(newHttpCommandProcessor(your-configs), htmlFormatter);selenium new LoggingDefaultSelenium(myProcessor);selenium.start();}Afterpublic void tearDown() {selenium.stop();try {if(null ! loggingWriter) {loggingWriter.close();}} catch(IOException e) {//do nothing}} 
7.      运行成功以后在指定的目录中生成相应的reports 八、框架优势 
1.      记录测试的过程所见即是所得selenium的所有内部程序都是用Javascipt编写的比较灵活 
2.      可以通过selenium IDE录制脚本脚本可以回放可以作为junit编码的雏形 
3.      支持多种操作系统; 
4.      支持多种编码语言。JAVA,.NET, Perl,Python, Ruby 
八、框架劣势 
1.    selenium的录制工具只能安装在firefox浏览器上 如果系统界面不被firefox支持那就要花费一定的时间去手写case。 不过最近听说有一个工具叫360WebTester ,可以支持IE的录制而且是国产的评价还不错有时间我要研究一下。 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你