前言
软件测试在软件研发过程中起到重要组成部分,是贯穿整个软件研发生命周期,与需求、开发、运维等人员起到沟通的桥梁。其目的是尽早的发现软件研发过程中的各种bug,从而降低软件的修复成本和团队间的沟通成本,提升软件产品的质量。随着互联网时代的发展,软件测试从手工测试逐渐演变成单元测试、接口测试、性能测试、自动化等。
单元测试:软件中的最小可测试单元进行检查和验证 。一般来说,单元测试是开发编写代码中的一个功能、一个函数、一个判断等最小可测单元代码。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个方法(函数)的功能操作。
集成测试:在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。 很多公司在集成测试时,单元测试已经完成的。如果不经过单元测试,则集成测试的结果将会受到很大影响,并且也会加大单元代码合并及运行的错误率。
系统测试:将被测的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素及环境结合在一起测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。
自动化经典的测试分层金字塔图(源于Mike Cohn在2009年的著作《Scrum敏捷软件开发》)。如下图所示:
三层金字塔中,最下层是单元测试,单元测试是自动化测试策略稳固的根基,因此也是金字塔结构的最底层;最上层是用户界面,通常用户界面是脆弱的,测试和修改的经济成本和时间成本较高;中间服务层是为了过渡用户界面和程序单元而设计的,认为所有应用程序都由各种服务组成。通过对服务(接口层面)进行测试,而不是对用户界面进行测试,可以极大缩短时间和成本。关于接口自动化方面的处理可通过三种方式来解决:
①通过代码<python/Java等>编写接口测试框架,实现接口自动化测试,其要求测试人员掌握扎实的编程基础;
②借助接口测试工具(Postman/Jmeter/SoapUI等),配合集成工具(Jenkins)实现接口自动化测试持续集成;
③借助开源接口测试( FasterRunner等)平台实现自动化测试。
下面我们通过Python搭建自动化环境来实现接口自动化操作。
本文部分内容引用《接口测试白皮书 》
接口测试基础知识
什么是接口测试
接口测试也叫API(全称:Applicatio