《Web接口开发与自动化测试——基于Python语言》| 每日读本书

简介: 这不仅是一本接口自动化测试书,同时还是一本Django Web入门书,以Web开发为切入点,全面介绍了Web接口开发与自动化测试过程中使用的相关技术。每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。

编辑推荐

本书特色:

  • Django Web开发,通过开发发布会签到系统,全面了解Django MTV模型。
  • Django单元测试,在Web应用中如何编写单元测试。
  • Django接口开发/Django-REST-Framework应用接口开发。
  • 主流接口测试工具介绍:Postman、JMeter、Robot Framework、soapUI。
  • 接口自动化测试框架设计:Requests + unittest + HTMLTestRunner。
  • 接口安全机制:认证、签名、加密。
  • Web Services接口开发与测试。
  • Django Web项目部署。
  • Python性能测试框架:Locust。

test
虫师 编著 / 2017年4月出版

内容提要

《Web接口开发与自动化测试——基于Python语言》以接口测试为主线,以Web开发为切入点,全面介绍了Web接口开发与自动化测试过程中使用的相关技术。《Web接口开发与自动化测试——基于Python语言》分为15章,第1章介绍了Python的基础知识,解答初学Python的同学都会遇到的一些问题;第2章到第5章以开发发布会签到系统为需求,介绍了Django Web开发技术;第6章介绍了unittest单元测试框架,以及在Django中如何编写单元测试;第7章到第10章主要围绕接口的相关概念,Web接口开发,接口测试工具和接口自动化测试框架的开发;第11介绍了安全接口的开发与测试;第12、13章介绍了Web Services技术;第14、15章介绍了Django Web项目的部署和接口性能测试。

精彩导读

前言

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

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

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

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

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

本书共分为 15个章节,涵盖了不少话题,这也是我在写作时对自己的要求,不要讲解太基础的东西,不要讲太多无聊的概念,要有很强的可操作性。第 1章是 Python基础,第 2~5章是 Web开发,第 6章是单元测试,第 7~10章主要讲接口的概念、开发与测试,第 11章介绍安全接口的开发与测试,第 12~13章讲 Web Service技术,第 14~15章介绍项目的部署与性能测试。所以,这并不是一本单纯面向测试人员的书,同样适合开发的小伙伴阅读。

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

由于作者水平有限,希望你带着怀疑的精神阅读本书,如果发现错误,欢迎批评指正。

2017年 1月 13号凌晨
虫师

相关文章
|
19小时前
|
网络协议 数据格式 Python
Python进阶---HTTP协议和Web服务器
Python进阶---HTTP协议和Web服务器
15 4
|
1天前
|
缓存 API 数据库
构建高效Python Web应用:Flask框架与RESTful API设计原则
【5月更文挑战第20天】 在现代Web开发中,构建一个轻量级且高效的后端服务至关重要。本文将深入探讨如何使用Python的Flask框架结合RESTful API设计原则来创建可扩展和易于维护的Web应用程序。我们将通过分析Flask的核心特性,以及如何利用它来实现资源的合理划分、接口的版本控制和请求处理优化等,来指导读者打造高性能的API服务。文中不仅提供了理论指导,还包括了实践案例,旨在帮助开发者提升开发效率,并增强应用的稳定性和用户体验。
|
3天前
|
安全 Java C语言
【Python 的内存管理机制专栏】Python 内存管理机制与底层实现:C 语言视角的剖析
【5月更文挑战第18天】Python的内存管理涉及对象分配、引用计数和垃圾回收。对象分配类似C的动态内存,但更自动化。引用计数跟踪对象引用,计数为0时回收。垃圾回收机制自动清理不再使用的对象,避免内存泄漏。这种高效自动化管理让开发者能专注于业务逻辑,而底层实现的理解有助于解决特殊问题和优化性能。
【Python 的内存管理机制专栏】Python 内存管理机制与底层实现:C 语言视角的剖析
|
4天前
|
缓存 监控 API
利用Python构建高性能的Web API后端服务
随着微服务架构的普及和RESTful API的广泛应用,构建高性能、可扩展的Web API后端服务变得尤为重要。本文将探讨如何利用Python这一强大且灵活的语言,结合现代Web框架和工具,构建高效、可靠的Web API后端服务。我们将分析Python在Web开发中的优势,介绍常用的Web框架,并通过实际案例展示如何设计并实现高性能的API服务。
|
4天前
|
JavaScript Java 测试技术
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
【5月更文挑战第10天】本文介绍了使用Java和Selenium进行Web自动化测试的实践,以安居客网站为例。最后,提到了在浏览器开发者工具中调试和观察页面元素的方法。
18 2
|
5天前
|
Web App开发 JavaScript 测试技术
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
【5月更文挑战第9天】本文介绍了在Appium中处理App自动化测试中遇到的Toast元素定位的方法。Toast在Web UI测试中也常见,通常作为轻量级反馈短暂显示。文章提供了两种定位Toast元素的技巧.
12 0
|
6天前
|
负载均衡 Go 调度
使用Go语言构建高性能的Web服务器:协程与Channel的深度解析
在追求高性能Web服务的今天,Go语言以其强大的并发性能和简洁的语法赢得了开发者的青睐。本文将深入探讨Go语言在构建高性能Web服务器方面的应用,特别是协程(goroutine)和通道(channel)这两个核心概念。我们将通过示例代码,展示如何利用协程处理并发请求,并通过通道实现协程间的通信和同步,从而构建出高效、稳定的Web服务器。
|
6天前
|
前端开发 Java 测试技术
selenium+python自动化测试--登录
selenium+python自动化测试--登录
14 2
|
6天前
|
存储 NoSQL Redis
在Python Web开发过程中,为什么Redis运行速度快
【5月更文挑战第15天】Redis在Python Web开发中运行速度快,原因包括:1) 丰富数据类型满足多样化需求;2) 简单数据模型提升查询效率;3) 单线程模型结合非阻塞I/O实现高效处理;4) 持久化机制保证数据安全;5) 二进制协议与管道技术优化网络通信。这些因素共同确保Redis能处理大量请求并保持高性能。
28 1
|
6天前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
198 0