项目讨论
- 项目中符合自动化测试的部分有哪些?(目标和范围 scope, 准入准出标准)
- 稳定的需求点、变动较少的页面
- 每日构建后的测试验证 daily build
- 比较频繁的回归测试
- 需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
- 自动化用例在整个项目的测试用例的覆盖率
- 一般的要求 50% +
- 重点的要求 80% +
- 根据项目的具体要求,变动特别大的项目需要额外单独考虑覆盖率
团队建设
建立自动化测试的组,理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;非理想的情况下,可能只有一个人。
-
测试开发:
基础答案
:自动化框架的建设,确定自动化框架的设计模式、第三方代码工具的封装、中间公共模块的设计和调用、测试用例、测试套件的管理和执行、测试报告和测试结果的输出(文件输出和邮件通知)可选高级
:如果可能的话,需要搭建持续集成服务器(CI,Continuous Integration Server)的环境,进行持续交付和自动化的冒烟测试等。培训的任务,需要将设计的框架以及封装的驱动,对其他成员进行培训。
有自动化方案的实施经验、有开发背景、以及持续集成的背景等。
-
中高级自动化测试工程师:
配合测试开发人员,实施测试框架的建设。主要负责中间公共模块的实现和实例化等,以及部分高难度和流程复杂的自动化用例脚本编写和调试等工作。
有参与过自动化方案的建设、脚本编写经验丰富、会代码调试、懂Web测试等。
-
初级自动化测试工程师:
根据中间公共模块的设计,进行实例化公共模块、方法组合,实现自动化用例脚本的编写。
有计算机编程思维、有代码经验、可以读懂脚本和HTML等。 -
若只有我一个人:
首先实现自动化用例的维护和执行。在这个基础上不断的抽取实现公共模块的设计以及测试报告的生成等工作。通过经验的积累,以及后续人员的补充,早日做好自动化框架的建设工作。 -
在这里向大家推荐一个自动化学习群(672899761)
技术方案
Selenium WebDriver、Python(unittest) Java(JUnit)、CI Server
技术方案:
选择Python + Selenium
的技术方案。
首先技术工具是免费的,Python的工具用PyCharm
社区版,Selenium的WebDriver
是开源工具。利用比较简洁的Python语言进行自动化测试,对于人员的学习成本来讲比较实用,学习时间短,有优势。
另外Python自带的unittest
单元测试框架可以很方便的实现自动化用例的设计和执行以及自动化用例套件的管理等任务。Python是纯面向对象的语言,后续也可以过渡到Java + Selenium
进行更加丰富的自动化测试。
此外,可以选择Jenkins
作为持续集成服务器,配合Python+Selenium的方案进行自动化冒烟测试。
源代码管理工具(VCS, version control system)
选择SVN(git)作为代码的源代码管理工具。集成在PyCharm中的步骤如下
- 把代码放到SVN在本地签出(check out)的文件夹目录中,例如
D:\SVN\XXProject\Trunck
- 用PyCharm打开 刚刚部署的代码
- 选择PyCharm的 VCS|Enable VCS integration,选择 Subversion(svn) 或者 Git
- 右键项目文件的根目录,选择 Subversion | add to VCS
- 右键项目文件的根目录,或者选 VCS | Commit Directory...
- 每天打开代码后,首先 Subversion | update project
硬件:
硬件的要求不高,主要需要独立的测试环境。另外测试人员用的电脑最好是Windows桌面操作系统,需要安装Firefox浏览器,避免47.0的最新版本。测试人员最好也使用Chrome浏览器辅助进行Web元素的定位。
Selenium 学习总结
Selenium IDE (火狐的插件)
- Selenium IDE
一个基于火狐浏览器的插件- 录制(需要确保右上角的录制按钮是按下去的),为了我们熟悉Selenium WebDriver/ RC
- 保存和另存为测试用例
- 无论是否保存用例,都可以直接回放
-
- 导出测试用例的对应的编程脚本
C#
Nunit
WebDriverJava
Junit
/testNG
WebDriver