测试开发¶
测试开发的核心是测试,开发的目的是更好地服务于测试。测试开发要深入理解测试业务,在此基础上设计开发,以帮助测试人员提高效率并解决实际问题,而不是按部就班纯粹意义上的开发人员。
自动化测试¶
-
自动化测试只是一种测试手段,仅能替代重复的手工操作,并不能替代手工测试。
-
自动化的本质是发现变化的东西对不变的东西的影响,即主要用于回归测试,验证新功能是否影响了旧功能。
-
自动化一定是基于业务的,必须要考虑可重用性和维护成本,不要为了自动化而自动化,从而违背测试的宗旨。
明确一些概念:
库¶
比如webdriver,提供一些接口
框架¶
比如pytest,解决一类问题
工具¶
- selenium,更抽象,屏蔽底层代码,一般有操作界面
- Testcafe 测试用例写法异于常规
- cypress 不建议用于爬虫
- puppeteer 主要用于爬虫和开展快速测试,Google出品,只能用于Chrome貌似
模型:工具与框架的设计思想¶
- 线性测试,不可复用
- 模块化驱动测试,复用性高
- 数据驱动测试,参数化
- 关键字驱动测试,傻瓜界面话,麻烦,没必要
- robot_framework
- 行为驱动测试,DSL,接近自然语言
- python behave lettuce(基于cucumber?使用gherkin语言)
- ruby cucumber
- java Jdave
最后更新:
2022-05-01