- 1. 自动化测试技术分享
技术中心--刘东明
- 2. 何为自动化?01哪些能自动化?02
编写自动化用例中应注意的问题
目前编写的自动化用例介绍05自动化工具介绍03内 容 提 要测试用例编写及测试过程0406
- 3. 何为自动化?自动化(Automation)广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter等),或自己所写的一段程序,用于生成1到100个测试数据。狭义上来讲,通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。
我们测试领域中的自动化,就是“把以人为驱动的测试行为转化为机器执行的一种过程。”
- 4. 哪些能自动化? 软件需求变动不频繁
测试脚本的稳定性决定了自动化测试的维护成本,如果变动过于频繁,维护成本太高。
项目周期足够长
若项目周期太短,或是紧急上线的新功能,新产品是不适合去用自动化测试的。
自动化测试脚本可重复使用
若自动化脚本利用率不高,则会造成人力成本的浪费。
- 5. 自动化工具介绍PHPUnit 简介
PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计)。
类似的其他语言的还有JUNIT(java),NUNIT(c#),UNITTEST(python)以及Rspec(Ruby).
- 6. PHPUNIT的安装
方法一: 使用Pear
运行 pear channel-discover pear.phpunit.de;
pear install phpunit/PHPUnit
方法二 :手动安装
1 从http://pear.phpunit.de/get/下载软件包并解压
2 把解压后的目录加入php.ini中的include_path
3 将脚本pear-phpunit改名为phpunit
4 将phpunit脚本中的@php_bin@替换成php可执行脚本的路径
5 为phpunit脚本增加可执行权限并加入$PATH
6 将PHPUnit/Runner/Version.php中的@package_version@替换成3位 版本号。
- 7. 测试用例的结构
setBrowser("*chrome");
$this->setBrowserUrl("http://weibo.com/");
}
- 8. public function testMyTestCase()
{
//具体测试工作
$this->open("/");
$this->click("css=body");
}
public function tearDown()
{
//清除工作
$this->selenium->stop();
}
}
?>
- 9. 断言常用的有:
assertLocation(判断当前是在正确的页面)、
assertTitle(检查当前页面的title是否正确)
assertValue(检查input的值, checkbox或radio,有值为”on”无为”off")
assertSelected(检查select的下拉菜单中选中是否正确)
assertSelectedOptions(检查下拉菜单中的选项的是否正确)
assertText(检查指定元素的文本)
assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)
- 10. assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)
assertAttribute(检查当前指定元素的属性的值)
assertTable(检查table里的某个cell中的值)
assertEditable(检查指定的input是否可以编辑)
assertNotEditable(检查指定的input是否不可以编辑)
assertAlert(检查是否有产生带指定message的alert对话框)
waitForElementPresent (等待检验某元素的存在。为真时,则执行。)
- 11. Selenium介绍Selenium 是ThroughtWorks 公司一个强大的开源Web 功能测试工具系列,
1. Selenium 可以使用录制工具录制脚本,测试页面。
2. Selenium 可以生成类PHP代码,html 代码,java 代码,ruby 代码等。
3. Selenium 录制工具根据id 属性定位html 元素。
4.Selenium IDE 仅支持Selenium 语言。
5.Selenium RC 支持很多语言,如:PHP,C#,Java,Python,Ruby 等。
- 12. Selenium+PHPUNIT环境的结合1,安装Firefox,Selenium IDE 插件,Firebug 插件
2, 解压Selenium 的selenium-remote-control 包,得到一个服务器,或者在线安装:
pear install phpunit/PHPUnit_Selenium
3,下载Selenium-RC
http://selenium.googlecode.com/files/selenium-server-standalone-2.22.0.jar
安装selenium server:只要安装了jdk1.6 或1.7 都可以运行selenium-server,在命令行输入:
java -jar selenium-server-standalone-2.22.0.jar
- 13. 测试用例编写及测试过程测试脚本的录制
用Selenium录制测试操作,并转化成PHPUNIT脚本,保存成对应该的文件。在要检测的地方,加上适当的Assert语句。
运行Selenium Server 服务器
在CMD窗口是运行命令: java -jar selenium-server-standalone-2.22.0.jar
调试测试脚本
另外开一个CMD窗口,进入测试脚本所在目录,运行:phpunit 测试文件名.php
- 14. 根据运行结果,查找原因。分析一下是测试脚本的原因,或是被测试对象的原因。如果是脚本的原因,修改测试脚本,如果是被测试对象的问题,就查找程序的原因。
- 15. 编写自动化用例中应注意的问题测试对象的定位
在WEB级测试的过程中,最麻烦的是测试对象的定位。Selenium有很多定位的方法,请自行学习。有个注意事项:如果要定位新打开窗口中的元素,必须先选定新窗口:selectWindow()。
测试对象的扫描
在测试用例执行的过程中,有的时候由于页面刷新的原因,可能出现找不到的情况,这个时候加些儿必要的Sleep()语句。
- 16. Selenium 函数和Assert语句的选择
(1) Selenium API函数参考手册
(2)Selenium入门:http://blog.csdn.net/chinabluexfw/article/details/7331359
(3)Assert语句介绍
思想之地: http://be-evil.org/tag/phpunit
phpunit -assert系列函数:http://blog.sina.com.cn/s/blog_5d2184eb0100n9z1.html
- 17. 测试用例编写规范
在测试用例编写的过程中,一定要加上注释。最少要定位到函数级,在关键的语句前一定要加上注释。
扩展资料:
软件测试网:http://www.51testing.com/html/index.html
开源中国社区: http://www.oschina.net/project
未来发展
在测试用例编写完成后,要接入公司现有的测试用例管理框架weilink,汇总运行结果,还可以发给相关人员!
- 18. 目前编写的自动化用例介绍关系冒烟测试的自动化
下面请杜杰同学先来介绍自动化测试用例。
- 19. 谢 谢 大 家!!