专栏首页开源优测测试开发基础之如何分析源码

测试开发基础之如何分析源码

为什么极力推荐新手阅读源码或是源码分析呢?

根据群里交流的情况、带新人的经验和个人学习编程的经验,在具备了一定的编程基础后,阅读优秀的代码、模仿优秀的代码是进阶最快的途径,没有之一。

所以有几个建议

新手随意抄代码,一定要找小而精的优秀代码研习,关注开源优测和在微信群里的朋友都很清楚,我一定会推荐去阅读selenium webdriver的源码。

但今天不仅仅推荐selenium webdriver源码,也推荐大家阅读另一个优秀的代码库:webpy

为什么推荐这个库?作为一个长期应用Python进行企业级自动化测试实践的人,以及每一个Pythoner都不会忘记webpy的作者Aaron H.Swartz,一位伟大的程序员在2013年1月11日自杀身亡,结束了短暂的26年生命。但是,作为一个开源项目,目前还是有很多开发者在持续更新。

web.py是一个小巧灵活的Python框架,它简单而且功能强大。

webpy的设计理念力求精简(Keep it simple and powerful),源码很简短,只提供一个框架所必须的东西,不依赖大量的第三方模块,它没有URL路由、没有模板也没有数据库的访问。这样的优点是,框架给开发带来的限制少,可以根据自己的需求进行定制。缺点就是,很多东西都需要自己亲自动手开发。

笔者以为如果你能深入的研习了webpy源码,那是再去学习发flask、或django应该是手到擒来,并且能够深深的理解Python web开发之精髓。

除了前文阅读代码三板斧,这里继续源码分析技巧,纯是个人平时阅读代码的习惯。

一看其应用场景,设计机制

二看源码目录结构

三结合典型场景应用API和源码深入细节

四结合实际代码通过debug模式进入实际调试研习

五反复看,看代码跳转、看核心代码、由代码反馈想其设计机制/思想

本文分享自微信公众号 - 开源优测(DeepTest),作者:苦叶子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 测试开发基础之 pyunit

    相信对于学习Python的小伙伴来讲,pyunit是一点都不陌生的,最为python标准的单元测试框架,每一个接触利用Python进行自动化测试的人来讲,都会第...

    苦叶子
  • 【java基础之ConcurrentHashMap源码分析】

    ConcurrentHashMap这个类在java.lang.current包中,这个包中的类都是线程安全的。Concurrent...

    用户5640963
  • MyBatis源码分析之——构建源码分析测试用例

    首先,到MyBatis官方GitHub地址将MyBatis源码Fork到自己的GitHub仓库中。

    冰河
  • Android基础开发实践:如何分析Native Crash

    Native Crash常常发生在带有Jni代码的APP中,或者系统的Native服务中。作为比较难分析的一类问题,Native Crash其实还是有较多的方法...

    天天P图攻城狮
  • 测试开发基础之Python标准库

    在学习一门编程语言时,很多人认为掌握了基本语法就以为入门了该编程语言,这无疑是停留在理论阶段,对于任何一门编程语言要想熟练、乃至精通,必须掌握其标准库。

    苦叶子
  • Docker 基础技术之 Linux namespace 源码分析

    上篇我们从进程 clone 的角度,结合代码简单分析了 Linux 提供的 6 种 namespace,本篇从源码上进一步分析 Linux namespace,...

    猿大白
  • sharding-sphere源码分析之基础应用篇

    进入sharding-spring-boot-mybatis-example模块,先来通过boot和mybatis整合版本整理下基本功能: 关于springbo...

    开发架构二三事
  • ApiPost自动化测试基础之:如何使用测试校验(测试用例)?

    我们在《ApiPost的环境变量的定义和使用》和《ApiPost自动化测试基础之:接口参数依赖的情景处理》分别讲解了ApiPost环境变量的定义、使用以及基于环...

    骑马的少年
  • AutoLine源码分析之如何构建restful API

    在autoline开源平台中我们采用了blueprint来统计管理路由,使用flask-restful插件来实现restful API

    苦叶子

扫码关注云+社区

领取腾讯云代金券