前    言

  本书的原型是我整理一份Django学习文档,从事软件测试工作的这六、七年来,一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我主要的输出形式,这些输出同时也帮助到许多软件测试人员。

  说回到接口测试的话题上来,根据分层自动化测试的思想,上层为UI层,关于UI层的自动化测试我们已经很熟悉了,许多技术和工具都围绕这一层来设计的,我们要想做自动化,首先想到和尝试去做的也是一层的自动化实现;底层为单元测试,对于单元级别的自动化测试来说,虽然大多数测试人员并没有真正做过,但我们知道,它一般使用单元测试框架,通过一段代码去测试另一段代码;而接口测试刚好处于中间层,不太好理解,也不太好解释,因为在实际开发的项目中只有程序目录/文件、类、方法、函数这些,然而并没有一个叫“接口”的东西。但是,它又太非常重要!在项目开发过程中,它是一个出现频率极高的词,时间挂在开发人员嘴边。

  什么是接口呢?如何对接口进行测试呢?我曾经也有很长一段时间对接口测试并不理解。为什么没有一本讲接口测试的书呢?相比于性能测试和UI自动化测试每年都会出版好几本的节奏,你几乎找不到一本专门介绍接口测试的书。现在看来可能是因为它太简单了吧!简单到没什么可讲的,甚至接口测试比功能测试还要简单得多。但是想要真的做好接口测试又很难,你需要读懂接口代码的处理逻辑,这就要求你必须具备一定的开发基础,对许多测试人员来已经形成了门槛。

  如果要写一本关于接口测试的书,一种讨巧的做法就是把目前主流的接口测试工具都介绍一遍,然而,我并不认为把这些工具都学好就可以做好接口测试了,举个简单的例子,我的接口使用了加密,例如,用时间戳+密钥生成AES加密字符串,再将字符串生成base64字符串做为接口参数传输,这其实是一种常见的加密策略,而我所了解的大多接口工具都无法做到对这种加密接口的测试,原因是加密算法和加密策略是多样。但是,站在开发的角度上看接口测试就很简单了,开发怎么调用,测试也就怎么调用呗!只不过测试的目的是要验证传各种参数的情况下,接口是否可以正常的处理并返回相应的结果。

  所以,我选择另一种需要很高学习成本的方法来讲接口测试,从Web接口开发讲起,理解了接口是如何开发的,接口的测试自然就变得非常简单了。你会看到本书前几章就是在讲Web开发以及Web接口开发,你可能会怀疑自己是不是买错书了,明明是要学习接口测试的,怎么都是开发的技术。其实,如果你只是想学习Web开发的话,那么本书也是一本不错的入门教程。

  本书分为15个章节,虽然整本书不到300页,但确实包涵许多干货,这也是我在写作时对自己的要求,不要讲解太基础的东西,不要讲太多无聊的概念。第1章是Python基础,第2~5章是Web开发,第6章单元测试,第7~10章主要讲接口的概念、开发与测试。第11章接口的安全机制,第12~13章Web Service技术,第14~15项目的部署与性能测试。所以,你看到它并不是一本单纯面向测试同学的书,同样适合开发的小伙伴阅读。

  到了感觉部分,首先,感谢测试经理唐亮在我们尝试新技术时的支持,还有开发组的同事,蓝仕坤、陈晓发在技术上给了我很大帮助。其次,感谢接口自动化测试群里的小伙伴,他们给我这本书提了很多建议,包括本书的名字,也是在群里投票的结果。感谢我的妻子,她默默的容忍着我每天晚睡的坏习惯,感谢她一直以来的包容与理解。最后,感谢编辑安娜,没有她这本书也不会出版,我们合作一直很愉快。

  由于作者水平有限,本书错漏缺点在所难免,希望读者批评指正。

2017年1月13号凌晨

虫师

《Web接口开发与自动化测试 -- 基于Python语言》 ---前言的更多相关文章

  1. Python数据分析与挖掘所需的Pandas常用知识

    Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...

  2. 10个步骤教你如何安装Anaconda安装,Python数据分析入门必看

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小白 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行 ...

  3. Python数据分析——numpy基础简介

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...

  4. 《谁说菜鸟不会数据分析》高清PDF全彩版|百度网盘免费下载|Python数据分析

    <谁说菜鸟不会数据分析>高清PDF全彩版|百度网盘免费下载|Python数据分析 提取码:p7uo 内容简介 <谁说菜鸟不会数据分析(全彩)>内容简介:很多人看到数据分析就望而 ...

  5. 《Python金融大数据分析》高清PDF版|百度网盘免费下载|Python数据分析

    <Python金融大数据分析>高清PDF版|百度网盘免费下载|Python数据分析 提取码:mfku 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领 ...

  6. [Python数据分析]新股破板买入,赚钱几率如何?

    这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...

  7. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  8. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

  9. 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来

    最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...

  10. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

随机推荐

  1. HDU 3552 I can do it!

    脑洞题.http://blog.csdn.net/dgq8211/article/details/7748078 #include<cstdio> #include<cstring& ...

  2. 解决phpmyadmin 点击表结构时卡顿、一直加载、打不开的问题

    本文内容是转自其它站点,亲测可用. 第一步,打开 ./version_check.php文件,找到以下代码: $save = true; $file ='http://www.phpmyadmin.n ...

  3. PAT1004

    A family hierarchy is usually presented by a pedigree tree. 一个家族的层次结构经常用一个血缘树来呈现. Your job is to cou ...

  4. android studio没有浮现函数用法和属性说明?

    最近转用android studio,在使用eclipse和android studio时原本在鼠标停留处或智能提示能浮现文档相关内容,但我的是一直显示Fetching Documentation…… ...

  5. eclipse中创建NDK和JNI开发环境最简单配置方法

    一.使用环境 1.windows64位操作系统 2.ADT为adt-bundle-windows-x86_64-20130917 3.NDK为android-ndk-r9b 二.配置生成头文件.h ⒈ ...

  6. CentOS 6.2 安装vsftpd 服务器(转)

    CentOS 6.2 安装vsftpd 服务器 本人的CentOS 6.2是安装在win 2008 R2 server 的 Hyper-V 虚拟机中.centos使用光盘安装,以最小模式安装,完成后用 ...

  7. jenkins邮件设置

    不要忘记上面的系统管理员的邮箱也要先填好.

  8. 认识ExtJS(04)--常见Web框架的ExtJS改造

    常见Web框架的ExtJS改造 怎样开始改造工作? 改造主要集中在对表现层的修改,底层的数据库访问不需要进行任何的变动.也就是说主要集中早这2个方面:一方面是表现部分即是JSP页面:另一方面是客户端与 ...

  9. JavaScript中call,apply,bind方法的总结

    原文链接:http://www.cnblogs.com/pssp/p/5215621.html why?call,apply,bind干什么的?为什么要学这个? 一般用来指定this的环境,在没有学之 ...

  10. HDU 5438 拓扑排序+DFS

    Ponds Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...