1、什么是自动化测试
概念:软件自动化测试就是通过测试工具或者其他手段, 按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。
2、为什么进行自动化测试
(1)缩短测试周期计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。
(2)避免人为出错 测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误
(3)测试信息存储自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便
(4)轻易获取覆盖率自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。
(5)其他自动化测试可以是实现自动或者定时执行
3、自动化测试的分类
整体分类:
(1)自动化功能测试
(2)自动化性能测试
自动化功能测试的分类:
(1)单元测试程序员搞定
(2)接口测试
(3)功能测试
性能测试主要是使用测试工具
(1)Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。
(2)为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的
4、自动化条件和使用范围
前提条件
(1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化
(2)项目周期长,重复性的工作都交给机器去实现
(3)需求稳定,项目变动不大
(4)自动化测试脚本复杂度比较低
(5)可重复利用
自动化测试的场景
(1)频繁的回归测试
(2)冒烟测试
(3)传统行业需求变化不大,应用频繁
(4)性能测试
5、自动化常用的工具
(1)QTP(收费)QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。
(2)Selenium(开源)ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试
(3)RFT(收费)IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能
6、为什么学习元素定位
(1)计算机没有智能到人的程度。
(2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入。
(3)计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)
元素定位的工具或手段有哪些?
(1)css选择器
(2)xpath
7、环境及工具
材料:
(1)firefox35
(2)firebug插件
(3)firepath插件
8、xPath
(1)XPath 是一门在 XML 文档中查找信息的语言
(2)XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据