Web自动化测试

1. 什么是自动化?

概念:由机器设备代替人为自动完成指定目标的过程              

1.1 优点:

1. 减少人工劳动力
2. 工作效率提高
3. 产品规格统一标准
4. 规模化(批量生产)

2. 什么是自动化测试

概念:让程序代替人为去验证程序功能的过程        

2.1 为什么要进行自动化测试?

1. 解决-回归测试
2. 解决-压力测试
3. 解决-兼容性测试
4. 提高测试效率,保证产品质量

回归测试:项目在发新版本之后对项目之前的功能进行验证;
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等

2.2 自动化测试相关知识

自动化测试在什么阶段开始?

功能测试完毕(手工测试)

手工测试:就是由人去一个一个输入用例,然后观察结果;

自动化测试所属分类

1. 黑盒测试(功能测试)
2. 灰盒测试(接口测试)
3. 白盒测试(单元测试)

提示:Web自动化测试属于黑盒测试(功能测试) 

优点

1. 较少的时间内运行更多的测试用例;
2. 自动化脚本可重复运行;
3. 减少人为的错误;
4. 测试数据存储

缺点

1. 不能取代手工测试;
2. 手工测试比自动化测试发现的缺陷更多;
3. 测试人员技能要求;

误区:    
    1). 自动化测试完全替代手工测试
    2). 自动化测试一定比手工测试厉害
    3). 自动化可以发掘更多的BUG

思考

在软件测试领域中,自动化测试有哪些分类呢?

3. 自动化测试分类

1. Web-(UI)自动化测试(本阶段学习)
2. 接口-自动化测试
3. 移动(app)-自动化测试
4. 单元测试-自动化测试

1.1 Web自动化测试的目标

课程目标:
    掌握selenium web UI界面自动化测试流程、方法,完成web UI界面元素自动化测试。
    掌握使用selenium进行web UI测试的方法并结合unittest框架实现用例的管理及报告的输出。

2. 什么是Web自动化测试?

概念:让程序代替人为自动验证Web项目功能的过程

3. 什么Web项目适合做自动化测试?

1.需求变动不频繁
2.项目周期长
3.项目需要回归测试

4. 如何进行Web自动化测试?(主流测试-工具)

1. QTP(收费)
        QTP是商业的功能测试工具,收费,支持web,桌面自动化测试。
2. Selenium(开源)【本阶段学习】
        Selenium是开源的web自动测试工具,免费,主要做功能测试。
3. Jmeter(开源、Web、接口、性能)
        Jmeter是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试)
        提示:Web测试在通信层(无UI界面)
5. Loadrunner(收费、Web、性能)
        Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试

4.1 主流工具-汇结:

    Web自动化测试:selenium
    App端自动化测试:Appium、UIautomation
    PC客户端(win32)自动化测试:QTP
    接口自动化测试:Jmeter、Postman
    性能测试:Jmeter、LoadRunner

5. 什么是Selenium?

概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
selenium是ThoughtWorks公司的一款强大的开源web界面自动化功能测试工具套件,
用来实现整个测试过程的管理,包括读入测试套件、执行测试和记录测试结果。 
selenium测试直接运行在浏览器中,模拟手动界面操作。

5.1 Selenium特点

1. 开源软件:源代码开放可以根据需要来增加工具的某些功能
2. 跨平台:linux 、windows 、mac
3. 核心功能:就是可以在多个浏览器上进行自动化测试
4. 多语言:Java、Python、C#、JavaScript、Ruby等
5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

5.1 Selenium家族(发展史) 【了解】

Web自动化测试_第1张图片

 

5.2 Selenium RC和Selenium webdriver的工作原理对比

1. Selenium RC工作原理图

Web自动化测试_第2张图片

Web自动化测试_第3张图片

selenium webdriver执行效率更高的原因:
    可以直接操作浏览器,省去了中间环节,操作更直接。
    利用浏览器自身特定的api完成命令执行,执行方式更有针对性,执行效率更高。

selenium RC与selenium webdriver的区别:
    selenium RC不支持无头浏览器(运行在内存中,不依赖于拥有实际页面的浏览器)。
    selenium RC面向过程,selenium webdriver面向对象。
    selenium RC不支持移动端自动化测试。


重点:    
    1. SeleniumIDE
    2. Selenium2.0(WebDriver)

 

你可能感兴趣的:(测试(开发,自动化)工程师专栏,测试(开发,自动化)工程师专栏)