《Web接口开发与自动化测试 -- 基于Python语言》 ---前言
前 言
本书的原型是我整理一份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语言》 ---前言的更多相关文章
- Python数据分析与挖掘所需的Pandas常用知识
Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...
- 10个步骤教你如何安装Anaconda安装,Python数据分析入门必看
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小白 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行 ...
- Python数据分析——numpy基础简介
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...
- 《谁说菜鸟不会数据分析》高清PDF全彩版|百度网盘免费下载|Python数据分析
<谁说菜鸟不会数据分析>高清PDF全彩版|百度网盘免费下载|Python数据分析 提取码:p7uo 内容简介 <谁说菜鸟不会数据分析(全彩)>内容简介:很多人看到数据分析就望而 ...
- 《Python金融大数据分析》高清PDF版|百度网盘免费下载|Python数据分析
<Python金融大数据分析>高清PDF版|百度网盘免费下载|Python数据分析 提取码:mfku 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领 ...
- [Python数据分析]新股破板买入,赚钱几率如何?
这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...
- 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化
继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...
- 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
随机推荐
- KNN邻近分类算法
K邻近(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法了.它采用测量不同特征值之间的距离方法进行分类.它的思想很简单:计算一个点A与其他所有点之间的距离,取出与该点最近的 ...
- L1,a private conversation
words enjoy喜欢,享受,欣赏 pay,支付,pay money for sth 报酬,I have not received my pay yet. bear,忍受,支撑,承担,负担 I c ...
- hdu_2546_饭卡(01背包)
题目连接:hdu_2546_饭卡 题意:中文,不解释 题解:先拿5元来买最贵的,最后就是一个01背包,这里也算用到贪心的思想 #include<bits/stdc++.h> #define ...
- 第13章 Swing程序设计----常用面板
面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...
- svn log操作
查看当前文件夹的最近N次提交记录 svn update; svn log --limit <N> -v 含义是:查询最近N次提交记录的详细信息,包括版本号,提交文件列表,log信息 对比某 ...
- zf-关于被发牌人没有显示环节的那个被发牌人的解决办法
是存储过程里的字段没有插入进去,添加个presonName即可--修改的时候可以执行 dbo.dingshi_fapai 来进行存储 如果添加presonName 必须在临时表里加上这个字段,然后在进 ...
- getHibernateTemplate()
getHibernateTemplate 前提条件:你的类必须继承HibernateDaoSupport 一: 回调函数: public List getList(){ return (List ...
- Beautiful Subarrays
Beautiful Subarrays time limit per test 3 seconds memory limit per test 512 megabytes input standard ...
- 总结自己的Git常用命令
总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...
- mutilple output reduce cannot write
package org.lukey.hadoop.classifyBayes; import java.io.BufferedReader; import java.io.IOException; i ...