《测开方法论》之 二次开发

简介: 《测开方法论》之 二次开发

二次开发,大多数情况下,我们的技术水平,精力时间,都不允许我们对源码进行深度解读。

   想弄明白每一行代码的含义,每一个变量参数的含义,每一次调用和原作者每一次的意图,都非常困难。


   所以我们需要用更加经济,实用,性价比高的方法去实现我们的二次开发需求,在这个理论下去用最高效率的方式实现需求,如果第一次不顺利,则一点点增加成本,扩大范围,到正好足够为止,此方法论会节省大量时间和精力。


   第一步,找出源码中的运行流。

   (在庞大复杂的源码中,每个py脚本内大多有多个函数或类,那么我们应该找到我们使用这个源码库 的入口,也就是调用的方法是哪个,然后根据此方法,我们步步为营,多加一些打印语句print,这样既不会影响源码而引起bug,也会让我们测试出整个运行流,防止其他没有用到的函数干扰我们的视线。)


   第二步,权限。

   (如果涉及到一些官方源码库,比如python的一些依赖包,那么我们第一步的添加print,一定会引起权限系统的警告,此时我们要利用shell命令:sudo chmod 777 文件名 来将其权限释放。然后最好重启一遍你的ide,防止ide再次警告或修改不生效或保存报错。)


   第三步,找关键字。

   (虽然我们成功的找到了运行流,但是我们要确定我们此行的关键字,以便在茫茫如海的字段和变量中找到关键点,关键字比如是变量名,也可以是函数名等等,比如我要去修改unittest的teardown函数,想给它增加个入参,那么我进入unittest的庞大源码中,就去搜索关键字teardown。当然通过关键字搜索后,我们大概会搜索到十几处甚至更多,我们给它们按照嫌疑性大小进行排序。 )


   第四步,找到可疑方法。

   (在我们第一步,第三步的双重筛选下,结果范围其实已经小了很多,第四步就是在这个结果范围内,再根据函数名字的可疑程度来确定优先测试级。比如关键字出现且被运行的 几处中,有一处所在的方法函数叫做:run,那么这个地方就是最优先考虑测试的。诸如run,还有什么main, test, successs等等特殊方法名,都是可以优先测试的。)


   第五步,开始按优先级进行测试。

   (根据我们的需求,是增删改查,还是干什么,总是要实际的修改源码,那么到此,就可以按照之前的顺序逐个实验性测试了。这样可以最快的找到关键和正确的位置,实现需求。但是要注意,如果某处实验修改不成功,一定要迅速修改回原状,才能进行下一处实验。这个很重要,不然容易造成隐患。这里关于实验不成功,还有一点要强调,就是对于前面可疑性高的某处,若改动后失败了,不要着急放弃立马开始下一处的实验,而是最好尝试解决下,报错就修复下,不成功就研究下这里的代码逻辑,很多二次开发的结果并不是只修改一处代码就能办得到的,可能要多步,如果你半途而废,那么就永远不能成功了。而可疑性高的地方是值得我们多花费点心思的。)



   好了,二次开发方法论 到这里就结束了,欢迎小伙伴们反馈!


相关文章
|
20天前
|
存储 人工智能 数据可视化
从零到精通:文档管理背后的整合思维秘诀
在现代信息社会中,信息爆炸使得知识管理变得尤为重要。无论是企业还是个人,都面临如何有效管理和整合信息资源的挑战。整合思维和高效的文档管理工具成为关键。整合思维强调将多种资源和信息融合,创造更优的解决方案。现代文档管理工具通过统一存储、动态协作、任务关联和跨平台可视化等功能,帮助用户实现信息的高效整合与流动。建立统一的文档命名规则、定期清理归档、连接工具与团队流程,都是实现整合思维的重要步骤。未来,信息管理将更加依赖整合思维与技术工具的深度结合。
|
8月前
|
新零售 人工智能 大数据
推三返一互助系统开发|成熟案例|模式分析
他们更重视购物过程体验,希望与品牌商及零售商建立交易关系之上的信任感和亲密感
|
8月前
|
监控 测试技术 API
系统开发经验总结
系统开发经验总结
63 0
|
测试技术
测开-基础篇
测开-基础篇
154 0
|
前端开发 算法 搜索推荐
《饭谈》测开领域的“二次开发”
《饭谈》测开领域的“二次开发”
《饭谈》测开领域的“二次开发”
|
小程序 数据库 数据安全/隐私保护
经验总结 | 独立开发者如何打造自己的产品?
经验总结 | 独立开发者如何打造自己的产品?
772 0
经验总结 | 独立开发者如何打造自己的产品?
|
Java Linux 开发者
收藏!阿里毕玄16篇文章,深度讲解Java开发、系统设计、职业发展 | 技术日报(8期)
阿里毕玄结合自己的经历深度讲解Java开发、系统设计、职业发展等问题,快来一键收藏吧。
2069 0
|
架构师 容灾 应用服务中间件
阿里毕玄:系统架构师如何做好系统设计?
阿里妹导读:毕玄是阿里巴巴资深技术专家,07年加入阿里,一手打造了HSF,十多年来更见证参与了阿里在基础技术上的演进与发展。他觉得系统设计是远比 Java 编程技能更难的培训,很容易变成务虚课。为了挑战难题,毕玄决定大胆尝试在内部搞了个民间培训。
11859 0
产品经理十八章:产品创新能力(二)
这一节重点说说如何高效创新和四个创新技法。 一、如何高效创新 1、不断积累经验和知识 产品创新是以一种全新的方式满足用户的需求,进而为用户创造新的价值。换句话说,产品创新事实上就是新颖的产品功能与用户需求互动的一个过程——无论产品的功能多么新颖,只有能够更好地满足用户需求,为用户带来新的产品价值,这个产品的创新才算得上是一次成功的创新。
851 0
产品经理十八章:产品创新能力(一)
创新对于互联网企业来说,重要性不言而喻。互联网本身就是一个高速发展、充满活力的行业,新理念、新技术、新模式、新产品······不断涌现,层出不穷,所以在这个行业里,互联网公司想要跟上行业发展的步伐,乃至引领整个行业的发展,就必须通过不断创新来保持强有力的竞争力。
956 0