| 课时随笔记录和一些相关书籍整理,此博客为我记录文章所用,发布到此,仅供网友阅读参考。所以请大佬勿喷
关于软件测试领域名词颇多,发现有许多测试新手混淆概念,从不同的角度可以将软件测试有不同的分类的方法。但是我这里就主讲自动化测试,其他测试简要了解下。
白盒测试与黑盒测试,主要是根据在软件测试工作中对软件代码的可见程度进行的划分;这也是软件测试领域中最基本的概念。
功能测试检查实际的功能是否符合用户的需求。性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试又可分为:功能自动化测试与性能自动化测试。
PS:这片文章主题为自动化测试,还有很多测试没打上就不一一例举 |
---|
自动化测试的概念有广义与狭义之分;广义上来讲所有借助工具来进行软件测试都可以称为自动化测试;狭义上来讲,主要指基于 UI 层的自动化测试;除此之外还有基代码编写阶段的单元自动化测试,基本集成测试阶段的接口自动化测试。
目前市面上的自动化测试工具非常多,下面几款是比较常见的自动化测试工具。
QTP
QTP 是 HP Quick Test Professional software 的简称,是一种企业级的自动测试工具。提供了强大易用的录制回放功能。支持 B/S 与 C/S 两种架构的软件测试。现在已经淘汰。
Robot Framework
Robot Framework 是一款 python 编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
watir
Watir 全称是“Web Application Testing in Ruby”。它是一种基于 Web 模式的自动化功能测试工具。watir 是一个 ruby 语言库,使用 ruby 语言进行脚本开发。
selenium
Selenium 也是一个用于 Web 应用程序测试的工具,支持多平台、多浏览、多语言去实现自动化测试。目前在 web 自动化领域应用越来越广泛。
什么是 selenium?
selenium 自动化测试浏览器,它主要是用于 Web 应用程序的自动化测试,但肯定不只局限于此,同时支持所有基于 web 的管理任务自动化。
selenium 的特点:
selenium 经历了两个版本,selenium 1.0 和 selenium 2.0 ,selenium 也不是简单一个工具,而是由几个工具组成,每个工具都有其特点和应用场景。
selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。现以淘汰
Selenium Grid 是一种自动化的测试辅助工具,Grid 通过利用现有的计算机基础设施,能加快 Web-app的功能测试。利用 Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。
selenium RC 是 selenium 家族的核心工具,selenium RC 支持多种不同的语言编写自动化测试脚本,通过 selenium RC 的服务器作为代理服务器去访问应用从而达到测试的目的。
selenium RC 使用分 Client Libraries 和 selenium Server,Client Libraries 库主要主要用于编写测试脚本,用来控制 selenium Server 的库。
Selenium Server 负责控制浏览器行为,总的来说,Selenium Server 主要包括 3 个部分:Launcher、Http Proxy、Core。其中 Selenium Core 是被 Selenium Server 嵌入到浏览器页面中的。其实 SeleniumCore就是一堆 JS 函数的集合,就是通过这些 JS 函数,我们才可以实现用程序对浏览器进操作。Launcher 用于启动浏览器,把 selnium Core 加载到浏览器页面当中,并把浏览器的代理设置为 Selenium Server 的Http Proxy。
搞清了 selenium 1.0 的家族关系,selenium 2.0 是把 WebDriver 加入到了这个家族中;简单用公式表示为:
selenium 2.0 = selenium 1.0 + WebDriver
需要强调的是,在 selenium 2.0 中主推的是 WebDriver ,WebDriver 是 selenium RC 的替代品,因 为 selenium 为了向下兼容性,所以 selenium RC 并没有彻底抛弃,如果你使用 selenium 开发一个新自动化测试项目,强列推荐使用 WebDriver 。那么 selenium RC 与 webdriver 主要有什么区别呢?
selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行selenese 命令(selenese 是 selenium 命令集合)。
WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入。
由于 selenium 基于 web 的自动化测试技术,我们的要操作的对象是页面,所以有必要对前端的技术和工具做一个简单的介绍。
HTML(Hyper Text Markup Language)中文为超文本标记语言,HTML 是网页的基础,它并不是一种编程语言,而是一种标记语言(一套标记标签),但我们可以在 HTML 标签中嵌入各种前端脚本语言,如VBScript、JavaScript 等。下面是一个简单的 HTML 页面:
现在我们通过浏览器打开任意一个页面,在页面上右键菜单选择“查看网页源代码”,在复杂的前端代码中你依然可以找到 HTML 的身影。
JavaScript 是一种由 Netscape 公司的 LiveScript 发展而来的前端脚本语言(脚本语言是一个种轻量级的语言),是一种解释性语言(代码执行不需要预编译);被设计用来向 HTML 页面添加交互行为,通常被直接嵌入到 HTML 页面。
如果要在 HTML 页面中使用 JavaScript ,我们需要使用 到何处结束。使用 document.write() 可以向文档输出写内容。
XML 是指扩展标记语言,是标准通用标记语言的一个子集;与 HTML 类似,但它并非 HTML 的替代品,它们为不同的目的而设计;HTML 被设计用来显示数据,其焦点是数据的外观。XML 被设计为传输和存储数据,其焦点是数据的内容。
一个应该包含 XML 的声明,它定义了 XML 文档的版本号。XML 允许我们自己定义标签,上例中的标签没有在任何 XML 标准中定义过,如 上面只是简单的介绍了 HTML 、JavaScript 以及 XML 等前端技术,Web 自动化测试就是与前端技术打交到,所以,了解前端技术有助于我们顺利的进行 web 自动化测试工作。 FireBug 是 FireFox 浏览器下的一套开发类插件,相信很多同学对这款前端工具并不陌生。它集 HTML查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发 JavaScript、CSS、HTML 和 Ajax 的得力助手。 安装方式:firefox 浏览器的菜单栏中选择 tools(工具)—>add-ons Manager(添加组件),搜索 FireBug ;对搜索到的插件进行安装,再次重启浏览器即可使用。 chrome 和 IE 浏览器同样也提供了类似 FireBug 的开发人员工具,可以帮助我们定位页面元素。 chrome 浏览器默认自带 chrome 开发者工具,浏览器右上角的小扳手,在下拉菜单中选择“工具”-- “开发者工具”即可打开,更为快捷的是通过 Ctrl+Shift+I 或 F12 打开。 通过前面的介绍,我们了解到 selenium webdriver 支持多种语言的开发,java、python、ruby、php、C#、JavaScript 等,那么我们应该选择哪一种语言结合 selenium webdriver 进行开发呢? 对于编程能力比较弱的初学者来说,python 与 ruby 等语言更容易学习和使用。通过自动化测试技术的实践,我们不仅掌握了自动化测试技术,从而也掌握一门语法简单且功能强大的脚本语言。python 语言除了在自动化测试领域有出色的表现外,在系统编程,网络编程,web 开发,GUI 开发,科学计算,游戏开发等多个领域应用非常广泛,而且具有非常良好的社区支持。也就是说学习和掌握 python 编程,其实是为你打开了一道更广阔的大门。 虽然本书中涉及到 python 的知识都会进行讲解,但为了你能系统全面的使用 python 语言,笔者建议准备好一本 python 基础教程在身边,以便有疑问的地方随时翻阅学习。5. 前端工具介绍
FireBug
我们可以通过他方便的查看页面上的元素,从而根据其属性进行定位。在前 web 自动化测试工作中,此工具必不可少。chrome 和 IE 的开发人员工具
IE 浏览器从 IE8 版本开始,加入了开发人员工具,使用它也非常方便,通过菜单栏“工具”—“开发人员工具”或者通过快捷键 F12 即可打开。值得一提的是,它提提供了浏览器的兼容模式,我们可以选择浏览器模式切换到 IE7 模式,IE 9/10 同样提供向下兼容模式到 IE7 ,这将非常方便的帮助我们测试 IE 浏览器的兼容性。
总结