自动化测试===自动化测试分类(一)
分层的自动化测试
测试金字塔的概念由敏捷大师Mike Cohn 在他的《Succeeding with Agile》一书中首次提出,如图7.1所示。他的基本观点是:我们应该有更多的低级别的单元测试,而不仅仅是通过用户界面运行高层的端到端的测试。

Martin Fowler 大师在测试金字塔模型的基础上提出分层自动化测试的概念。在自动化测试之前加了一个“分层”的修饰,用来区别于“传统的”自动化测试。那么什么是传统的自动化测试?为何要提倡分层自动化测试的思想呢?

所谓传统的自动化测试我们可以理解为基于产品UI 层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。

在目前的大多数研发组织当中,都存在开发与测试团队割裂(部门墙)、质量职责错配(测试主要对质量负责)的问题,在这种状态下,测试团队的一个“正常”反应就是试图在测试团队能够掌控的黑盒测试环节进行尽可能全面的覆盖,甚至是尽可能全面的UI 自动化测试。

这可能会导致两个恶果:一是测试团队规模的急剧膨胀;二是所谓的全面UI 自动化测试运动。因为UI是非常易变的,所以UI 自动化测试维护成本相对高昂。

单元测试与模块测试
单元测试(Unit testing)
In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.
Intuitively, one can view a unit as the smallest testable part of an application. In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure.In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method. Unit tests are short code fragments created by programmers or occasionally by white box testers during the development process. It forms the basis for component testing。

总结一下就是:

1、单元测试是应用程序的最小可测试部分。
2、在面向过程编程中,单元也可以是整个模块,但常见的是单个函数或过程。
3、在面向对象编程中,单元通常是整个接口,例如类,但可以是单独的方法。
4、单元测试多数情况下是由程序员自己完成的。

模块测试(Module testing)
大多时候,我们认为单元测试与模块测试是一样的。我在国外某网站找到另段关于模块测试的定义。
A library may be composed of a single compiled object or several compiled objects. There is only a slightdifference between unit testing and module testing. Modules are fully formed chunks of coherent source code that can typically be tested by driving a few function signatures with various stimuli. On the other hand, unit testing (which is considered as part of the implementation phase for this software development process) may involve testing one small part of a function that will never formally implement any function interface.

我们读到了几个模块测试的解释:
1、首先,这段定义认为模块测试与单元测试有细微的区别。
2、模块测试是针对具有明显的功能特征的代码块进行的测试。
3、并且,它认为单元测试可能只涉及测试一小部分的功能。
4、模块测试多数情况下由其它程序员或测试人员进行。

接口测试
我根据自己的理解和认识大致把接口分为两类:程序接口和协议接口。

关于程序接口,也可以看作是程序模块接口,具体到程序中一般就是提供了输入输出的类、方法或函数。对于程序接口的测试,一般需要使用与开发程序接口相同的编程语言,通过不同的传入不同的参数,来验证程序接口的功能。

关于协议接口,一般指系统通过不同的协议来提供的接口,例如HTTP/SOAP 协议等。这种类型接口对底层代码做了封装,通过协议的方式对外提供调用。因为不涉及到程序层面,所以,不受编程语言的限制;我们可以通过其它编程语言或工具对其进行测试。

自动化测试的分类
SWTBOK
SWTBOK
本节以不同的视角重新审视测试象限。先来仔细看看象限图,如下图所示:

我们将支持团队的两个象限(象限一和象限二)标记为使用自动化。在象限四中,从技术视角来看,用于评价产品的工具通常也需要自动化。采用自动化业务测试工具来支持团队。只有象限三----评价产品的业务测试----没有标记为使用自动化。工具对于某些测试来说还是有用的,比如,自动化可以创建好测试数据和用户场景对日志进行分析。

请通过每个象限来识别每个项目(甚至是每个迭代)所需的各种自动化工具。仔细检查每个象限并给出所需工具的清单。假设我们准备重新设计UI,看看象限一,怎么能做测试先行呢?我们知道如何对表现层进行单元测试么?需要新的工具完成这项任务么?看看象限二,我们需要作出原型:仅仅写在纸上就行了么?还是需要创建一个Oz类型活动向导?需要使用什么工具创建可执行的业务测试来指导开发呢?需要更新或是替换掉现有的回归测试脚本么?我们知道象限三中有一个活动叫做可用性测试。这需要提前做好测试。我们希望通过工具追踪用户活动,这样就可以进一步分析这些活动了。看看象限四,我们发现负载测试脚本使用的还是旧的UI,因此不得不花些时间将其更新到新的UI上。

正如第三部分所强调的,象限的顺序与测试的顺序没有什么关系。在准备好每类测试所需的工具清单后,我们会考虑何时进行测试,这样就会提前准备好自动化工具。比如,某个团队重新设计了一个新的架构并打算尽快运行可伸缩性测试。这样,他们就需要在项目第一个迭代中花些时间来寻找或是实现性能测试工具。

象限有助于我们了解所需的工具,但各个层次上有这么多自动化工具,我们该何去何从呢?因此有必要了解不同类型的测试所适用的地方以及如何组织这些测试。为了快速、频繁的交付价值,自动化需要高度的ROI。测试金字塔可以帮助我们优化对测试的投入。

python自动化介绍相关推荐

  1. 【python自动化办公】Python自动化之pdf——PyPDF2、pdfplumber、fitz、pdf2image库介绍

    目录 前言 1. 学习python自动化办公目的 2. 未来持续打卡内容 3. 资料来源与思维导图 一.PDF处理库 1.PyPDF2--基础操作 2.pdfplumber--表格抽取 3.fitz- ...

  2. Blender中的Python脚本介绍学习教程

    Blender中的Python脚本介绍学习教程 MP4 |视频:h264,1280×720 |音频:AAC,48000 Hz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:1.63 ...

  3. python自动化教程_Python自动化开发实战视频课程-全新基础篇_Python教程

    教程名称:Python自动化开发实战视频课程-全新基础篇 课程目录: 0001.51CTO学院-01Pythons10 day1 开课前言- _* N, R+ w/ T 0001.51CTO学院-01 ...

  4. python自动化办公入门书籍推荐-用python进行办公自动化都需要学习什么知识呢?...

    自动化办公无非是excel.ppt.word.邮件.文件处理.数据分析处理.爬虫这些.我来一一介绍如何学习,找资料! 最近做了个Python办公自动化的Live讲座,不要脸的推一波~ python基础 ...

  5. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  6. python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  7. python自动化办公兼职-python自动化办公?学这些就够用了

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处 ...

  8. 怎么用python处理excel文件-Python自动化如何处理excel文件数据

    原标题:Python自动化如何处理excel文件数据 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似 ...

  9. python 自动化-利用Python语言实现实验室自动化

    作为一名系统和应用工程师,得益于自动化仪器和软件,我已经节省了不计其数的日日夜夜;例如LabVIEW,这是一款系统设计平台和开发环境,支持可视化编程语言.LabVIEW支持用户利用友好的图形用户界面( ...

最新文章

  1. 华为--PPP典型配置举例
  2. SAP发布S4/HANA 意义超过R3
  3. Java——网络编程练习
  4. 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2
  5. 2016下半年网络规划设计师考试下午真题
  6. Linux运维六:用户管理及用户权限设置
  7. SLAM--各种开源项目
  8. Spring源码之bean的初始化initializeBean方法解读
  9. Python调用搜狗语音API实现文字转音频
  10. android.dig机器人采访,机器人学导论心得 - osc_jjc36t9p的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. c语言根据日期求星期蔡勒公式,利用蔡勒公式获得给定日期的星期数
  12. QuickCHM V2.6
  13. 手机卫星定位系统_北斗三号最后一颗卫星发射成功完成组网!为何手机上还显示GPS?...
  14. GN_1_在Ubuntu22.04安装GN
  15. LuoguP1637 三元上升子序列
  16. 18位身份证号码编码标准
  17. Apache NIFI InvokeHTTP
  18. Jirafeau一键式文件共享软件安装教程
  19. NX带边界面铣——知识点
  20. 什么是冷钱包、热钱包?

热门文章

  1. JAVA(一)依赖注入的简单理解
  2. POI - Excel 打印配置
  3. wordpress实现全站HTTPS
  4. 利益相关者在敏捷项目管理中有什么用?
  5. CISP-PTE靶机练习(me-and-my-girlfriend)
  6. 一般怎样恢复u盘丢失的文件
  7. WTG:给苹果电脑安装Windows
  8. word论文页眉的横线怎么删除去掉
  9. 计算机网络stp和utp,关于网络线UTP FTP STP SFTP 屏蔽层区别
  10. 普及!cmnet、cmiot还傻傻分不清楚?APN设置看看这一篇就够了!!