2.什么是测试用例? (1)测试用例主要记录了测试的目的、步骤、输入的数据、预期结果等内容,它是在执行测试之前由测试人员编写的指导测试的重要文档。...(2)解决要测什么,怎么测和如何衡量的问题 3.测试用例方法 (1)等价类划分法 (2)边界值法 (3)因果图法 (4)判定表法 (5)正交排列法 (6)场景法 (7)测试大纲法 4.编写测试用例参考内容...,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的,从每个部分中选取少数代表性数据作为测试用例。...编写测试用例 划分等价类: 细化等价类: 建立等价类表: 编写测试用例(有效): 编写测试用例(无效): 小结: 上面编写的测试用例,满足等价类划分法的要求...,但是存在一些问题: (1)存在数据冗余 (2)没有考虑控件之间的组合,所以会丢失一些情况 如:两个数据都是无效等价类的情况没有考虑 测试用例的设计就是个循序渐进、逐步完善的过程,慢慢积累经验测试会更完善
上一篇文章和大家介绍了测试的基础知识,用例设计方法我们讲到了5种。那么在设计用例时该如何应用用例设计方法、设计出覆盖率高的测试用例呢?今天,船长以登录测试为例,给大家深度剖析一下测试用例设计方法。...如果我们以登录框为核心写用例,那么到是否自动登录就会有重复的登录和密码用例,而如果以是否自动登录为核心(分类点),我们发现用例可以大大减少。...等价类划分 定义:等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。...这里使用等价类划分,即把账号划分为存在的账号【有效等价类】、不存在的账号包括空【无效等价类】两种;同理,密码分为正确【有效等价类】、错误包括空【无效等价类】。 那么写的时候怎么写呢?...注意,账号和密码的设置在注册阶段即确定了,所以输入内容真正的用例集中在注册功能的用例里面。而登录框这里只有两种情况,即账号是否存在、密码是否正确。
区块链技术的本质让人联想到疯狂,因为这个想法现在可以应用到任何值得信赖的记录上。它还将加密的全部力量掌握在个人手中,阻止了数字关系要求交易机构进行所谓的“拉交易”。 当然,也有很多炒作。...这种炒作可能是为了实现区块链技术应用程序的高级用例的容易程度。它被业内一些最聪明的人形容为“魔豆”。 如何测试区块链技术是否适用于我们的指南“为什么要使用区块链?”还有更多的内容。...现在,我们来讨论一下区块链技术的发展,看看它是如何有用的。 作为一个记录系统。 数字身份 在个人手中的加密密钥允许新的所有权和建立有趣的数字关系的基础。正如我们在指南中讨论的“区块链技术是什么?”...自动化治理 比特币本身就是一个自动化治理的例子,或者是一个DAO(去中心化的自治组织)。它和其他的项目,仍然是治理的实验,在这个问题上缺少很多研究。...以银行为例,这可能意味着提高反洗钱(AML)合规效率。区块链技术可以根据精确的规则进行不同的处理,允许交易或报告某一类型的事务。 这意味着银行可以自动化监管报告或交易授权。
using System; using System.IO; using System.Threading;
有些类,是需要计划生育的,就像数据库这种,在整个工程中只允许一个单一对象对其进行访问。 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。...巧了,这个模式只有一个类,叫单例类,所以类图我就不画了吧。...第二层if判断,是为了防止多个线程突破了第一层的限制,这时候只有一个线程可以获得锁,就保证了只有一个线程可以初始化单例。 这种单例类模式被称为“懒汉式单例类”。...饿汉式单例类 饿汉式的单例模式,单例对象的构造发生在类的初始化阶段。...一般饿汉式加载所导致的弊端是可能我并不想使用实例但是实例已经被构造,相对于懒汉式的用则构造会造成内存的浪费,但是其实现方式很简单,不用人为加锁保证线程安全。
前言 在开发中读取项目中的配置或者静态文件是家常便饭的事情,我相信很多同学都从网上找下面的例子来进行文件加载读取操作。...这时我们可以通过 Spring 提供的ClassPathResource来访问。例如在我最新的微信支付 SDK 项目中要加载微信支付的证书: ?...微信证书的类路径为wechat/apiclient_cert.p12 对应读取方法为: ClassPathResource resource = new ClassPathResource(keyPath...当你利用这个方法去读取 Jar 包里面类路径的文件的时候是行不通的。 经过代码调试,发现加载的地址是一个 Jar 文件协议地址,它类似这种格式jar:file:/xxx/xx.jar!/xxxx。...总结 ClassPathResource在读取类路径下的文件配置、或者 Excel 模板、静态配置时非常有用,封装了很多好用的 API,推荐大家在合适的场景下使用。
本人在使用 httpclient 做接口测试的过程中,用例是以代码形式写在一个用例包里面的,包里的每个类表示的一类用例,大致是按照接口所在模块划分。...这样就导致了一个问题,执行用例必须得把用例包里面所以类的用例方法都执行一边。之前使用过java 的反射来根据类名创建类对象,然后根据方法名执行相应的方法。...根据这个思路,加之上网查找了一些相关资料参考了一些其他人的代码,自己封装了一个执行用例包里面所有类的用例方法的用例执行类,分享出来,供大家参考。...void main(String[] args) { excuteAllMethodInPackage("pie.normal"); } /** * 执行包内所有类的非...,这里需要提醒一点,一定要对方法名进行过滤,不然可能会把其他类的 main 方法也执行了。
用例图 分析:对于银行的客户来说,可以通过ATM机启动几个用例:存款、取款、查阅结余、付款、转帐和改变PIN(密码)。银行官员也可以启动改变PIN这个用例。...类图 分析:类图显示了取款这个用例中各个类之间的关系,由四个类完成:读卡机、账目、ATM屏幕和取钱机。类图中每个类都是用方框表示的,分成三个部分。...我们对取款这个用例分析,它有很多可能的程序,如想取钱而没钱,想取钱而PIN错等等,正常的情况是取到了钱,下面的序列图就对某客户Joe取20美元,分析它的序列图。...序列图的顶部一般先放置的是取款这个用例涉及的参与者,然后放置系统完成取款用例所需的对象,每个箭头表示参与者和对象或对象之间为了完成特定功能而要传递的消息。...取款这个用例从客户把卡插入读卡机开始,然后读卡机读卡号,初始化ATM屏幕,并打开Joe的账目对象。屏幕提示输入PIN,Joe输入PIN(1234),然后屏幕验证PIN与账目对象,发出相符的信息。
”,按照书上说的指向系统就是一个系统用例,那是不是所有的微信小程序、h5页面都有这样一个用例?...如果是这样,那么图中这两个“启动二维码对应的程序”是两个系统用例,但是名字相同,这样是合理的吗 UMLChina潘加宇 系统暴露给微信的接口,应该就是“启动二维码对应程序”,参数是“二维码”,二维码的信息应该包括指定页面或小程序的路径和服务参数...所以,图中这两个“启动二维码对应的程序”是同一个责任,只不过参数值,也就是具体二维码不同。 当时这样的考虑是序列图中有微信扫码,小程序等信息,这样这个建模示范视频更好卖。...如果是严谨的做法,应该把“微信”从序列图中删掉,把扫码等责任也删掉,用例仍为食客→取号,食客→点菜。 然后,在设计工作流再考虑这个边界类实现的问题。 这个问题似乎我之前回答过。...不过当时没归纳到答疑记录,把之前的回答也贴一下。
吃软件测试这碗饭的,如果基础理论都不懂,说不过去吧? 欢迎点进来学习!助你月薪翻倍哦~ 前言 ❝场景法,也叫流程图法,是针对一些复杂场景和流程的测试方法,比如取款机。...最终每一个流程就是一条用例。...预告下,这个基础理论系列即将结束,大家闲暇时间可以扩展阅读下,博主的志向就是发扬光大测试传统基础理论,但因为现在业界浮躁的风气,全部代码至上,博主最近的面试中甚至全在探讨底层原理,内存管理,架构算法这种异常卷的行为...,如果不说,没人知道这是测开的面试。...所以决定后续把传统了理论结合自动化技术进行发扬光大,借此精华市场的浮躁风气。 希望这股风气掀起的时候,你能有足够的基础来抓地而不会被风吹下摔倒地上....
全覆盖式测试 用例包含一整套单元测试,涵盖了各种可能的函数使用方式。对于大型项目,要实现全覆盖可能很难。通常,最初只要针对代码的重要行为编写测试即可,等项目被广泛使用时再考虑全覆盖。...这个类必须继承 unittest.TestCase 类,这样 Python 才知道如何运行你编写的测试。...如果它通过了,我们就知道在给定 Janis Joplin 这样的姓名时,这个函数依然能够正确地处理。 不能通过的测试 测试未通过时结果是什么样的呢?...要确认在开发这个模块时没有破坏既有行为,可以编写针对这个类的测试。...存储这两样东西的变量名包含前缀 self (即存储在属性中),因此可在这个类的任何地方使用。
---- CS224d-Day 2: 在 Day 1 里,先了解了一下 NLP 和 DP 的主要概念,对它们有了一个大体的印象,用向量去表示研究对象,用神经网络去学习,用 TensorFlow 去训练模型...Day 2 先认识 TensorFlow,了解一下基本用法,下一次就写代码来训练模型算法,以问题为导向,以项目为驱动。 ---- 本文结构: 1. TensorFlow 是什么 2....TensorFlow 是什么 是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。...来填充数据和抓取任意的操作结果; 先看个栗子: 例1,生成三维数据,然后用一个平面拟合它: # (tensorflow)$ python 用 Python API 写 TensorFlow 示例代码...构建图 例2,计算矩阵相乘: import tensorflow as tf # 创建一个 常量 op, 返回值 'matrix1' 代表这个 1x2 矩阵. matrix1 = tf.constant
这样的决策模型,可以帮助商城为客户提供建议并鼓励产品消费。 机器学习通常分为三类: 第一类是无监督学习,指的是从信息出发自动寻找规律,并将其分成各种类别,有时也称"聚类问题"。...最后一类为强化学习,是指可以用来支持人们去做决策和规划的一个学习方式,它是对人的一些动作、行为产生奖励的回馈机制,通过这个回馈机制促进学习,这与人类的学习相似,所以强化学习是目前研究的重要方向之一。...OK,讲到这里,相信大家对几者之间的概念已经有所了解了,至少知道这些是什么东西了。...你还可以方便地根据需要来构建数据流图,用简单的Python语言来实现高层次的功能。...如果你要使用这个Python来做其他用途的话,这个方法是不可行的。一个常见的做法就是在虚拟环境中安装TensorFlow,通过一个叫做virtualenv的软件实现。
上图中给出的是应用了 TensorFlow 的 Google 用例,如翻译、语音生成、医疗,以及节能等,他们有各自的意义,比如根据用户实际情况,节能用在数据中心最大可以节约 40% 。...二、一起进入 TensorFlow Extended 阶段 机器学习为我们带来了很多便利,但上面的三个示例具体应该如何实现呢?我们可以先想想机器学习的代码层面是什么样子。...但如果数据是垃圾数据的话,出来的模型肯定也是有问题的。如果再加上迭代,用模型再去改进它获取新的数据,那相当于错上加错,所以这会进入一个恶性循环,效果会越来越差。 ? 怎样防止这个问题?...如做图象识别类、文本识别类的工作,第一步要建立一个检测模型,第二步做识别模型对行里做序列检测,接下来进入到机器学习核心代码部分去做训练。...现在上图所示是 TensorFlow Extended 中已经开源的四个部分。还有更多的东西会陆续地开放,当然还会结合 TensorFlow 资源调度类的框架做一些更深度的整合。
s.ok()) { *out_session = nullptr; } return s; } 代码很枯燥,我们看一下上述代码的时序图(以创建DirectSessione为例)。...但是,大家在看时候,有没有这样的疑问:不同的SessionFactory的是什么时候写入到SessionFactory map中的?何况tensorflow这种没有main函数的程序?...这个问题曾经一直很困扰我,在gdb debug后,我发现了下面的小trick。 诀窍在这行代码中static DirectSessionRegistrar registrar;。...SessionFactory map初始化的能量蕴含在这个static变量的构造函数。下面的流程图揭示所有的秘密。结合代码,从图的左下角看起(下面的代码对应上面NewSession的时序图)。...tensorflow这里使用了单例中一种更灵活的模式:单件注册表,也就是使用的一个Singleton类的集合(从上图看到存储结构是std::unordered_map),Singleton类通过一个注册接口将自己的单件实例注册到集合中
然而为啥这么多人用 TensorFlow?...简而言之,TensorFlow 比之前好用多了! 好,以上说了这么多,我今天的要说的正题是什么呢?嗯,就是我基于 TensorFlow Eager 模式和 Keras 写了一个深度学习的框架。...所以我写这个框架的目的是什么呢? 第一,模型存在很多默认配置且可复用的地方,可以将默认的一些配置在框架中进行定义,这样我们只需要关注模型本身就好了。...第三,现在你可以看到要搜一个模型,会有各种花式的实现,有的用的这个框架,有的用的那个框架,而且参数、数据输入输出方式五花八门,实在是让人头大,定义这个脚手架可以稍微提供一些规范化的编写模式。...第四,框架名称叫做 ModelZoo,但我的理想也并不仅仅于实现一个简单的脚手架,我的愿景是把当前业界流行的模型都用这个框架实现出来,格式规范,API 统一,开源之后分享给所有人用,给他人提供便利。
还有一类就是GPU,这是一个目前深度学习应用比较热门的领域。最后一类就是FPGA(可编程逻辑门阵列)。 为什么是GPU?简单来说就是性能的表现导致这样的结果。...以p2.16xlarge为例,提供了16块K80 GPU ,GPU 显存达到了192G,并行处理单元的数量达到了惊人的39,936个。...实际上这个表述很难理解,用我自己的语言解释Tensor 就是“N维数组”而已。...利用Tensorflow 以及上面提到的那个项目的代码,在一个AWS 的p2类型的实例上进行了一个一千次的迭代,于是就得到了下图这样的处理结果。...每一个程序员都可以很容易的掌握这种技术,利用所具备的资源,让我们很快成为深度学习的程序开发人员。 结束语 未来究竟是什么样,我们没有办法预言。
本篇是神经网络体系搭建的第四篇,解决体系搭建的TensorFlow相关问题,详见神经网络体系搭建(序) TensorFlow安装 建议用Anaconda。...比如权重矩阵w这一类,需要用tf.Variable,用tf.Variable声明的变量必须在session用tf.global_variables_initializer()初始化所有变量 n_features...batch的计算方法(用例取自优达学城) 例如有 1000 个数据点,想每个 batch 有 128 个数据。但是 1000 无法被 128 整除。...有了上面的基础知识,就可以用TensorFlow搭建模型了,当然,需要的比如softmax,交叉熵等等函数TensorFlow里都封装,具体用时查看API就行。...问题回答 至此,TensorFlow上手完毕。 - TensorFlow如何使用?套路是什么? 见上。简单讲除了所有数据封装在tensor中,运行在session中外没什么特别的。
PyTorch Hub是什么? 近日,Facebook新推出了一个深度学习工具包:PyTorch Hub,这是一个简单的API和工作流,提供基本的构建模块从而可以改善机器学习研究的可重现性。...浏览可用模型 直接用torch.hub.list() API列出所有可用的入口点即可。...前Google Brain员工mat kelcey吐槽“Hub”这个词简直是机器学习模型项目的共享单词,TensorFlow Hub了,PyTorch也Hub了。...开发人员可以针对开发用例来浏览TF模块,通过TensorFlow Hub推出新的Web体验可以更容易的进行搜索和浏览,同时为multi-publisher平台奠定了基础。...网址: https://tfhub.dev/ 从官方的介绍来看,TF Hub的出发点是开发用例,而PyTorch Hub的出发点是论文复现。
领取专属 10元无门槛券
手把手带您无忧上云