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

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

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

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


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


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

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


   第二步,权限。

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


   第三步,找关键字。

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


   第四步,找到可疑方法。

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


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

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



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


相关文章
|
9月前
|
敏捷开发 运维 供应链
构建安全软件开发:DevSecOps助你一臂之力!
DevSecOps — 在不影响敏捷性的前提下,将安全充分融入到SDLC的所有环节中 SDLC—软件交付生命周期 SCA—软件组成分析-用于识别和检测软件中使用的开源/第三方组件的已知安全漏洞 SAST—静态分析安全测试 DAS—动态分析安全测试 IAST—交互式分析安全测试 SBOM— 在这里特指软件中使用开源组件的完整信息列表
193 0
|
6天前
|
数据可视化 前端开发 数据库
低代码开发:创新之道还是软件开发的捷径?
低代码开发:创新之道还是软件开发的捷径?
|
6天前
|
数据可视化 安全 前端开发
低代码开发的困境与解药
随着企业数字化的不断深入,低代码技术已成为企业释放数字化创新能力的关键工具。很多企业客户也被低代码所宣传的快速开发、低维护成本所吸引。但实际落地过程中,最终经常因为以下几个问题而导致满意度大打折扣。
|
10月前
|
数据可视化 Oracle 搜索推荐
一文吃透什么是低代码开发?
一文吃透什么是低代码开发?
151 0
|
12月前
|
监控 数据可视化 测试技术
利用低代码,实现软件开发民主化
低代码的出现证明了曾经被软件开发人员垄断的开发技术,现在已经掌握在业余爱好者的手中,他们可以尝试和利用软件来发来实现业务增长。
相亲软件开发,好的架构应该是什么样的?
相亲软件开发,好的架构应该是什么样的?
|
存储 安全 算法
SocialFi项目开发(SocialFi链游系统开发)
什么是SocialFi? SocialFi的定义是社交化金融,顾名思义,SocialFi 即是 Social 和 Finance 的结合体,一种创造性的社交金融化新方式。 SocialFi的特点有哪些? 1. SocialFi 是社交、web3.0 和金融相结合,通过标记社会影响力为用户提供奖励和利益,用户拥有在平台的创作收益,在平台中的创作不会被平台垄断剥削。
|
前端开发 算法 搜索推荐
《饭谈》测开领域的“二次开发”
《饭谈》测开领域的“二次开发”
《饭谈》测开领域的“二次开发”
|
小程序 测试技术 项目管理
技术分享 | 软件测试入门必会-流程管理平台
技术分享 | 软件测试入门必会-流程管理平台
|
监控 数据可视化 IDE
技术扫盲:关于低代码编程的可持续性交付设计和分析
一、前言 二、什么是低代码 三、如何落地实现 四、总结
319 0
技术扫盲:关于低代码编程的可持续性交付设计和分析