最近几天,由于工作需要接触Web自动化测试,所以我从网上找的资料,学习了解,然后自己总结汇总的随笔,如文章中有不足的地方,请大家多多指教;或者文章内容与他人相似,望见谅。
手工测试跟自动化测试区别:
手工测试:就是由人去一个一个输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。
自动化测试:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
适用场合:配置和兼容性测试、执行压力测试,软件维护时回归测试。
自动化可以测试:崩溃、挂起、错误返回值、返回码、 异常和内存使用。
优点:
- 可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
- 对程序的回归测试更方便。 详情说明 :回归测试的动作和用例时完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
- 可以执行一些手工测试困难或不可能进行的测试。详情说明:自动化测试模拟同时有许多用户,从而达到测试的目的
- 更好地利用资源。
- 测试具有一致性和可重复性。详情说明:由于测试是自动执行,每次测试的结果和执行的内容一致性是可以得到保障的,从而达到测试的可重复的效果。
- 测试的复用性。详情说明:由于自动测试通常采用脚本技术,领测认为这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
- 增加软件信任度。详情说明:由于测试是自用执行的,所以不存在执行过程中的疏忽和错误,完全取决测试的设计质量。一旦软件通过强有的自动测试后,软件的信任度自然增加。
缺点:
- 不能取代手工测试,有很多需要人脑判断结果的测试用例无法用自动工具实现,或者代价太大。
- 手工测试比自动测试发现的缺陷更多。
- 对测试质量的依赖性极大。
- 测试自动化提高有效性。
- 测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
自动化测试工具
web自动化测试工具:Selenium/Selenium Webdriver、watir
详细说明: Selenium:是一个开源的自动化工具,目前是市场上最受欢迎和广泛应用的工具。同时也是Web应用程序编写的一个验收测试工具,UI功能测试框架;它可以跨越多个操作系统像Windows,Mac和Linux以及浏览器,如Firefox,Chrome,IE。Selenium测试脚本可以用Java,C#,Python,Ruby,PHP,Prel和JavaScript等编程语言编写。
Selenium IDE是一个用于Selenium脚本的集成开发环境,它以Firefox扩展形式实现,允许您记录,编辑和调试测试,它支持录制和播放,有记录和回放功能。
Selenium IDE:测试的录制;Selenium Remote Control:编写及运行;Selenum Grid:测试并行处理;Selenum WebDriver:提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。
版本:3个版本,一个叫Selenium—core,Selenium—rc;Selenium—core是使用HTNL的方式编写测试脚本,Selenium—rc是Selenium Remote Control简称,是具体语言来编写测试类的;Selenium RC是Selenium1.0,Selenuim2.0以WebDriver为主,Selenium3.0去掉了Selenium RC,Selenium3.0支持Java 8以上。
个人理解:Selenium IDE作为Firefox上的插件,提供录制功能;Selenium Remote Control 是一个客户端/服务器,可以在本地或在其他电脑上控制Web浏览器,使用几乎任何编程语言和测试框架,换言之是使用具体语言来编写测试类;Selenium Grid可以远程的控制到并在多个服务器上同时运行测试;Selenium WebDriver可以在本地或远程计算机上驱动浏览器
性能自动化测试工具:loadrunner、QTP、Jmeter
Selenium 环境配置
Selenium官网:http://www.seleniumhq.org/download/
Selenium自动化测试
Selenium C#学习网址:http://toolsqa.com/selenium-c-sharp/
Selenium自动化测试学习网址:https://testingbot.com/support/getting-started/csharp.html
Watir自动测试
Watir:是一个使用Ruby实现的开源Web自动化测试框架,同时脚本也是Ruby的脚本,所以需要在本机安装Ruby。
Watir学习网址:https://rubygems.org/gems/watir