一、前言
1 软件测试的维度
- 从软件测试的过程看:单元测试、集成测试、确认测试、系统测试、验收测试
- 从软件测试的方法看:白盒测试、黑盒测试、灰盒测试
- 从软件测试的测试点看:功能测试、性能测试、兼容性测试、安全测试、探索性测试、配置测试
- 从软件测试的技术程度看:手工测试、自动化测试、测试开发
2 自动化测试概述
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试简介
现在很主流的一个观念,分层自动化测试(经典图如下)分三层,最底层是单元层,中间是服务层,顶部是UI层,而这三层越底层做自动化测试,实现成本越低,越容易看见成效。
建议:轻UI,重API。如果你是在一个迭代频繁,需求变化大的团队,那么我建议你把更多的时间花在API自动化测试上,而UI自动化测试仅仅需要做到主流程的覆盖便可。
自动化测试的场景
自动化测试应用的场景:
- 测试 UI 界面、测试接口调用
- 冒烟测试(预测试、确认测试)
- 回归测试
- 验收测试
什么样的项目适合自动化测试
- 任务测试明确,不会频繁变动
- 每日构建后的测试验证
- 比较频繁的回归测试
- 软件系统界面稳定,变动少
- 需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
- 软件维护周期长
- 项目进度压力不太大
- 被测软件系统开发比较规范,能够保证系统的可测试性
- 具备大量的自动化测试平台
- 测试人员具备较强的编程能力
自动化测试工具介绍
- HP UFT (QTP)
- Selenium
- HP LoadRunner
- Robot Framework
- Watir (webapplication test in ruby)
- SoapUI
- Appium
3 selenium概述
selenium简介
Selenium是开源的自动化测试工具,它主要是用于Web 应用程序的自动化测试,不只局限于此,同时支持所有基于web 的管理任务自动化。
Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器