TA的每日心情 | 擦汗 前天 09:04 |
---|
签到天数: 1047 天 连续签到: 5 天 [LV.10]测试总司令
|
作者:萧三刀
来源:知乎
自动化测试是没有技术含量没有前途的;
支付宝的框架安全模块是基于spring mvc的,前面是策略引擎,然后对接风险识别模板,然后对接的是各种框架,kmi平台,加解密平台,然后是缓存等。
整个思路就是先起一个基类,里面加载各种启动引擎,然后到集成子模块,然后分本地远端模式,集成到sonnar平台看测试的覆盖率什么的。
总体而言,用到了spring框架的mock技术,也用到了appinuim还有selenium的东西,其它外没什么东西。
如果单纯的自动化测试框架只是对ui识别的话,各种工具都有,selenium,qtp,这些都很简单,无非是启动一个webdriver,然后去调用xpath和findbyid or findbyname,findbycss等识别引擎去获取页面元素,好一点的框架可能会包一层,然后将其作为一个识别模块子函数用以调用或者作为模拟qtp的对象层,然后再将db操作通过jdbc或者mybatis提供的xml配置或者map里面的方法来操作数据库层,再写引擎代码,来操作db和页面元素,用断言来处理页面元素的识别结果和数据库实际查询到的值——基本上是所有基于ui的自动化测试主流办法。
然后,高级一点的直接通过接口层调用,譬如通过httpclient直接发http请求去调用controller,然后解析controller的处理结果,断言可以直接通过解析出的接口返回值,或者是通过数据库匹对,基本上这些都是可以提高代码覆盖率,但是根本上技术含量也比较低。
自己写的话,比较好的框架就是基于springmvc框架结合本地测试和远端测试,结合selenium,testng,appium,采用三层框架来处理ui和接口比较好。
主要现在web的开发难度在于多线程处理和并发,还有就是大数据上,自动化测试还是难度偏低,但是可以通过自动化测试提升自己的技能,然后转作spring 开发。
testng主要是可以帮忙做兼容性测试,其他的话不好评论
|
|