本书以接口测试为主线,以Web开发为切入点,全面介绍了Web接口开发与自动化测试过程中使用的相关技术。全书分为15章,第1章介绍了Python的基础知识,解答初学Python的同学都会遇到的一些问题;第2章到第5章以开发发布会签到系统为需求,介绍了Django Web开发技术;第6章介绍了unittest单元测试框架,以及在Django中如何编写单元测试;第7章到第10章主要介绍接口的相关概念、Web接口开发、接口测试工具和接口自动化测试框架的开发;第11介绍了安全接口的开发与测试;第12章和第13章介绍了Web Services技术;第14章和第15章介绍了Django Web项目的部署和接口性能测试。
这不仅是一本接口自动化测试书,同时还是一本Django Web入门书
前 言
本书的原型是我整理的一份Django 学习文档。在从事软件测试工作的这六七年里,我
一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我
主要的输出形式,这些输出同时也帮助到许多软件测试人员。
说回到接口测试的话题上来,根据分层自动化测试的思想,上层为UI 层。关于UI 层
的自动化测试我们已经很熟悉了,许多技术和工具都是围绕这一层来设计的,我们要想做
自动化,首先想到和尝试去做的也是这一层的自动化实现。底层为单元测试,对于单元级
别的自动化测试来说,虽然大多数测试人员并没有真正做过,但我们知道,它一般使用单
元测试框架,通过一段代码去测试另一段代码;而接口测试刚好处于中间层,不太好理解,
也不太好解释,因为在开发的项目中只有程序目录/文件、类、方法、函数这些,并没有一
个叫作“接口”的东西。但是,它却又无处不在,是一个出现频率极高的词,时刻挂在开
发人员的嘴边。
什么是接口?如何对接口进行测试呢?我曾经也有很长一段时间并不太理解什么是接
口测试。为什么没有一本讲接口测试的书呢?性能测试和UI 自动化测试的书籍每年都会出
版好几本,与之相比,几乎找不到一本专门介绍接口测试的书。现在想来可能是因为它太
简单了吧!简单到没什么可讲的,甚至接口测试比功能测试还要简单得多。但是,真的做
好接口测试又很难,或者说难点并不在于接口测试本身,而是需要有读懂接口代码处理逻
辑的能力,这就要求你必须具备一定的开发基础,因而对许多测试人员来说,已经形成了
门槛。
要写一本关于接口测试的书,一种讨巧的做法就是把目前主流的接口测试工具都介绍
一遍,这很符合主题。然而,我并不认为把这些工具都学好就可以做好接口测试。举一个
简单的例子,我的接口使用了加密,例如,用时间戳+密钥生成AES 加密字符串,再将字
符串生成base64 字符串作为接口参数传输,这其实是一种常见的加密策略,而我所了解的
IV ∣ Web 接口开发与自动化测试——基于Python 语言
大多数接口测试工具都无法做到对这种加密接口的测试。原因很简单,加密算法和加密策
略多种多样,而工具却很难模拟这种多样性的加密策略。但是,站在开发的角度上看,接
口测试就很简单了,开发怎么调用,测试就怎么调用呗!只不过测试的目的是验证在传各
种参数的情况下,接口是否可以正确地处理并返回结果。
所以,我选择另一种需要很高学习成本的方法来讲解接口测试,从Web 接口开发讲起,
理解了接口是如何开发的,再做接口测试自然就变得非常简单了。你会看到本书前几章都
是在讲Web 开发以及Web 接口开发,你可能会怀疑自己是不是买错书了,明明是要学习接
口测试的,怎么介绍的都是开发的技术。其实,如果你只是想学习Web 开发的话,那么本
书也是一本不错的入门教程。
本书共分为15 个章节,涵盖了不少话题,这也是我在写作时对自己的要求,不要讲解
太基础的东西,不要讲太多无聊的概念,要有很强的可操作性。第1 章是Python 基础,第
2~5 章是Web 开发,第6 章是单元测试,第7~10 章主要讲接口的概念、开发与测试,第
11 章介绍安全接口的开发与测试,第12~13 章讲Web Service 技术,第14~15 章介绍项目
的部署与性能测试。所以,这并不是一本单纯面向测试人员的书,同样适合开发的小伙伴
阅读。
到了感谢部分,首先,感谢身边的同事,一年多的接口自动化测试实践过程中,我收
获了很多,感谢测试经理唐亮对我们在尝试新技术时的支持,感谢开发组的蓝仕坤、陈晓
发在技术上给了我很大的帮助。其次,感谢接口自动化测试群里的小伙伴,他们给本书提
了很多建议,包括本书的名字,也是在群里投票的结果。再次,感谢我的妻子,她默默地
容忍着我每天晚睡的坏习惯,感谢她一直以来的包容与理解。最后,感谢编辑安娜,没有
她这本书也不会出版,我们合作一直很愉快。
由于作者水平有限,希望你带着怀疑的精神阅读本书,如果发现错误,欢迎批评指正。
2017 年1 月13 号凌晨
虫师
买了看不了
有没有PDF格式之类的文件呀,这个电子档不方便阅读
PC 没法看?
已经购买了电子版 请问该怎么看