why、what、how,楼主直接就写了 how 了,看完有点一头雾水。
why 和 what 建议补充下,文章更完整?
自己也是从外企的离岸外包做起,确实外企五险一金和工资发放会比较好。
接口测试中,新增了一个核心功能,是自动生成模糊用例,之前用的 pict,后来用了第三方模块来做,有兴趣的可以去看下,或者我有空帮忙介绍
这块比较感兴趣,后面可以细说下?
花了点时间完整看了下,确实整理得挺全的,也带有自己观点。
期望后面可以不断完善和做一下其中一些细节的分享~
外包且干得不咋地(没经验积累,就是单纯跟着公司一个一个项目做)是污点,如果是去过同类型大厂的,且有不错项目经验的,那是亮点呀。
只是外包大部分上升通道受限,也不会有太多的上升压力(基本要求就是做好分内事就行,也不要求你进一步提升),甚至很多外包几个月就换个全新项目,不好积累。所以从大样本来看,大部分人自主学习意识一般,然后外包做几年很容易会是一年经验重复几年应用。
PS:简历写外包就被刷的,大多应该是因为外包那段经历写得太简单(项目简介抄一下,加一句自己里面的岗位 tittle ,好点的加点自己做了些别人也会做的事)或者太详细(1 年干了 n 个项目,n>5)。不过说实话,不管是不是外包都会有这样的简历,都会容易被刷,因为没看出项目有你没你有啥差别,你的价值是啥。这种情况是不是外包其实差异不大。
这个总结挺不错的。期待楼主落地后的进一步总结分享,特别是哪些效果不错,哪些效果一般。个人经验,这些都能做到还是挺难的。
话说,比较好奇楼主是通过那些方式了解到以上的这些关键点,也可以分享下?
为了测试需要调整配置和环境,开发和运维都不接受,个人感觉你现在的大环境还不是太适合推覆盖率。
不管是动态还是静态的插桩,插桩后的代码和线上运行的或者其它环境的毕竟会有些区别,整体研发团队不能接受这种差异的话,基本上覆盖率不大能推起来。
人员流动后东西又给回来,这个确实比较坑。。。
不过看楼主的历史文章,楼主还是挺稳定的,比较好奇为啥其它同学都半年一年就跳槽呢?
看文章里的说明,这个平台好像主要用户和维护者都是作者本人?那确实蛮辛苦的,也善意提醒下,架子搭起来后,可以多考虑下让其他测试同学把平台用起来,个别有兴趣的可以拉拢一起维护,这样省力效果更佳。
另外,也分享下对于文中的提到的自动生成功能维护成本高,代码改动后得额外维护适配的问题,我们的解决方案,供参考:
1、自动生成背后的脚本逻辑直接是基于接口自动化脚本里面的流程型脚本进行,自动化脚本本身就会在测试中被测试人员进行应用和更新。
2、生成逻辑主要基于服务接口进行,基本不会直接插入数据库。并且尽量使用外层和客户端交互的接口(这类接口要考虑客户端发版慢,必须向下兼容),降低维护成本。
想了解下你的需求是什么,为何必须要在浏览器端做动态插桩?
学校的项目经验,可以找导师介绍,加入学校一些工作室,或者参加那些科技创新比赛之类的呗。
可以看看我第二篇文档里的对这个 demo 的源码关键点解析。
具体怎么用的,一般文档只会写到 api 入参出参设定的程度,要看真正的实例还是看 demo 比较完整。
找实习应该不强制要求实际工作的项目经验吧,我理解应该是你学校的项目经验?比如测试过什么软件啥的。
实习基本是第一个工作,不大可能会有之前在公司的那种项目经验。当然有的人可能机缘巧合在学校里做过类似的项目,但这个是加分项了。
要不你发下具体 JD(Job Description,职位描述),大家一起理解下里面的 “项目” 指的是什么?
那估计你得想办法找找看有什么软件能满足你的需求了。
UI 自动化目前大部分软件都会依赖 adb ,需要电脑连接。能做到脱离电脑的不多。
建议你跟着 https://testerhome.com/topics/8230#%E6%84%8F%E5%A4%96%E6%83%8A%E5%96%9C ,把这个 demo 跑起来。然后看看里面的源码具体是怎么写的。
可以试下去参加一些众测什么的活动。testin 貌似有。
但这个只是测试设计和执行的经验,项目的话不真正进公司工作,基本很难真的有项目经验。
详细看了下 solopi 的介绍,目前看确实只支持 json 格式,不支持编程语言。
网络请求这个,是这样的,从你的总部来看,他只会看到服务端的数据,不会看到你具体在手机上的操作(如果还做了用户操作埋点那确实能看到)。那手机上的操作,只需要保留和服务端有交互的部分,其实就可以让服务端看起来你 “在手机上操作” 了。那些刷登录量的都是这么弄得,网络请求比 UI 自动化快多了,而且网络格式本身就是适合程序识别的,比 UI 界面要容易做自动化一些。
至于具体用的什么网络请求,需要怎么骗过服务端,就需要你去抓包看看了。
客气啦,这么快就改好了,点赞!
好久没做这块相关的工作了,不大确定。 @zailushang 帮忙看下有没有这个限制?
有点好奇,为何 mybatis xml 里面需要用这么多应用 sql 只是个列名的 <include refid="user_status"/>
?我一般看到用 include 都是 sql 比较长而且比较多地方会需要 copy paste ,采用 include 方便维护的。如果只是个列名,且只有一处用到,好像没有用 include 的必要?
另外, query 如果输入框没填,没有做特殊判定处理的话,前端传给后端应该是个空字符串,而非 null 。那么此时 mybatis 里面
<when test="type == 0 and query != null">
and tu.user = #{query}
</when>
这里会变成 and tu.user = ''
,反而可能导致一个都没匹配到。
我见到这道题,第一反应是用 ASCII 码做运算。楼主思路基本是对的,只是这么用有点怪怪的。
lower() 本身就内置了判定是否字母和非大写字母不转换的逻辑,所以如果用自带的函数库,这里的最简单解法应该是
class Solution:
def toLowerCase(self, str: str) -> str:
return str.lower()
用手机运行,只是形式吧。最终目的难道不是你不用去特意动手机,就能自动完成签到么?
我的思路是,如果是用网络请求,代码处理起来会简单很多(网络报文本身就是便于程序阅读的),也不依赖手机,公司电脑不关机,定时任务执行就可以。
如果是纯手机运行,solopi 等都可以,具体使用建议可以看下官方的一些文档以及社区的分享。但这些软件我理解比较难做到纯后台定时自动运行(基本上锁屏状态下各个软件能做的事情不多,都被操作系统限制住了)。当然如果你需求只是我把 10 步操作变为一键点击,那这些软件应该可以满足你。
其实,可以考虑换个思路,直接抓包拿到所有请求,然后直接搞个脚本重跑这些网络请求就好?
说明你停留在 了解 阶段,看起来都懂,但面试一问就想不起来。还没到 掌握 。
除了看,还要写和用。写得多、用得多,自然就熟练了。
结合公司内部实际的一个很好的落地时间经验,加个精鼓励下
信息不够全,你给的信息看起来都不会导致这个问题。
Jenkins 构建日志、完整 pipeline 脚本也发下?