软件自动化测试的学习步骤
大概步骤如下:
-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。
自动化测试的本质
自动化测试的本质是:用程序测试程序。 也就是说学习 “编程语言” 是学习自动化测试的基础。
很多人问我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具
自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。
学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。
自动化测试学习的误区
很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。
如果不先理解 HTTP 协议, 就不会理解 Jemeter, LoadRunner, Fiddler, SoapUI 这些工具的。
如果不先理解 HTML,DOM, 就不会理解 Firebug 这种工具的
如果不先理解 Win32 API, 就不会理解 Windows 窗体自动化测试的原理的。
如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。
总之学习自动化测试,需要循序渐进, 把基础打好。
自动化测试的职位
自动化测试工程师的职位叫做:(SDET)Software Development Engineer in Test. 专注于自动化测试
手动测试工程师叫: (STE)Software test enginer. 专注于手动测试
在微软有很多 SDET 的职位,但是没有 STE 的职位, STE 职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。
自动化测试分类
自动化测试也有非常多的种类,
对 Web UI 的自动化测试程序
对 Windows 窗体 UI 的自动化测试程序
API 测试, 比如(测试 WCF service, Web API 等)
数据库测试, 比如测试存储过程
接口测试 (这种只能用自动化测)
单元测试
性能测试, 性能测试都需要用到自动化
Web 自动化测试分类
目前大部分项目都是 Web 的, 所以我们说的自动化测试,大部分都是针对 Web 程序的自动化测试, Web 自动化测试分两类:
第一类是:模拟用户真实操作,比如,模拟点击鼠标,键盘输入,等,去操作浏览器上的控件。 (代表框架有 selenium-webdriver, VS Coded UI)
这类的自动化测试的是通过高级语言 (C#, JAVA, Python 等) 来调用 selenium 的一些工具来操作浏览器,帮助我们实行 Web UI 自动化
第二类是:模拟 HTTP 请求。 类似于这种【12306 火车票网站自动登录工具】, 这方面的知识,目前市面上资料比较少。(以后我会出一个系列的教程)
自动化测试的书籍推荐
关于软件自动化测试的书,真心不多, 我查过市面上所有关于自动化测试的书,只找到下面这边书, 掌握了这边书,基本上自动化测试就入门了。
自动化测试工具
测试套件工具: JUnit, Nunit, MSTest, 这几个工具功能都一样学起来比较简单。
性能测试工具: JMeter, VSTS 负载测试, LoadRunner(收费), QTP(收费)
Web UI 测试框架:WebDriver/Selenium, VSTS Coded UI, Watri
Windows UI 测试框架:VSTS Coded UI
其他工具: firebug, Fiddler