前    言

  本书的原型是我整理一份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. jquery_api(CSS)

    outerWidth([options]) 获取第一个匹配元素外部宽度(默认包括补白和边框). 此方法对可见和隐藏元素均有效. outerHeight([options]) 获取第一个匹配元素外部高度 ...

  2. 吾爱破解脱壳练习第五期------upx壳

    内存镜像法: 载入OD:

  3. MFC实现为窗体添加的背景图片

    将一个bmp图片添加到资源中 在资源视图中更改位图资源的ID为IDB_BITMAP_BACKGROUND. 第一种方法: 在Dialog中添加一个Picture Control控件,将Picture ...

  4. 【转】获取/设置IFRAME内对象元素的几种JS方法

    1.IE专用(通过frames索引形象定位): document.frames[i].document.getElementById('元素的ID'); 2.IE专用(通过IFRAME名称形象定位): ...

  5. 格式化一个文件的大小(size),或者说是格式化一个app的大小(size)

    long number = 6243161; Formatter.formatFileSize(context, number): 需要导包,import android.text.format.Fo ...

  6. notify vs nofifyall

    http://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again Do you want to tell ...

  7. elisp

    cons cell? 构建内存对象! 通过寄存器的基地址car和偏移地址cdr来--寻址内存对象,我是这样理解的. http://wiki.dourok.info/doku.php/%E5%B7%A5 ...

  8. 关闭和释放JDBC

    今天在项目中看到一段代码, Connection conn = null;  ResultSet rs = null;  PreparedStatement pss = null;  try  {  ...

  9. aapt: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

    前阵子在ubuntu上搭载安卓的开发环境(Eclipse+Sdk+Adt),搭载是完成了,但是却出现了该问题: aapt: error while loading shared libraries: ...

  10. eclipse工程名出现小红叉的解决办法

    前提是eclipse工程中每个子文件都没错,工程名上却显示了小红叉. 打开[Window]->[Show View]->[General]->[Problems],看看Problem ...