-
python参数化是什么意思_Python 中如何实现参数化测试?
2021-02-03 18:08:041、什么是参数化测试?对于普通测试来说,一个测试方法只需要运行一遍,而参数化测试对于一个测试方法,可能需要传入一系列参数,然后进行多次测试。比如,我们要测试某个系统的登录功能,就可能要分别传入不同的...1、什么是参数化测试?
对于普通测试来说,一个测试方法只需要运行一遍,而参数化测试对于一个测试方法,可能需要传入一系列参数,然后进行多次测试。
比如,我们要测试某个系统的登录功能,就可能要分别传入不同的用户名与密码,进行测试:使用包含非法字符的用户名、使用未注册的用户名、使用超长的用户名、使用错误的密码、使用合理的数据等等。
参数化测试是一种“数据驱动测试”(Data-Driven Test),在同一个方法上测试不同的参数,以覆盖所有可能的预期分支的结果。它的测试数据可以与测试行为分离,被放入文件、数据库或者外部介质中,再由测试程序读取。
2、参数化测试的实现思路?
通常而言,一个测试方法就是一个最小的测试单元,其功能应该尽量地原子化和单一化。
先来看看两种实现参数化测试的思路:一种是写一个测试方法,在其内部对所有测试参数进行遍历;另一种是在测试方法之外写遍历参数的逻辑,然后依次调用该测试方法。
这两种思路都能达到测试目的,在简单业务中,没有毛病。然而,实际上它们都只有一个测试单元,在统计测试用例数情况,或者生成测试报告的时候,并不乐观。可扩展性也是个问题。
那么,现有的测试框架是如何解决这个问题的呢?
它们都借助了装饰器,主要的思路是:利用原测试方法(例如 test()),来生成多个新的测试方法(例如 test1()、test2()……),并将参数依次赋值给它们。
由于测试框架们通常把一个测试单元统计为一个“test”,所以这种“由一生多”的思路相比前面的两种思路,在统计测试结果时,就具有很大的优势。
-
【信息安全】如果在浏览器上记录了禅道的账号和密码,如何得知用户的密码...{严禁用于非法用途,否则后果自负}
2019-06-12 16:35:131、运行浏览器,打开禅道的地址: 2、运行fiddler,清除所有记录。 3、在禅道上点击登录,通过fiddler...MD5 :(Message Digest Algorithm)是一种不可逆的加密算法,什么意思呢:举个例子:网站一般会保存用户密...1、运行浏览器,打开禅道的地址:
2、运行fiddler,清除所有记录。
3、在禅道上点击登录,通过fiddler查到浏览器传递的参数,包括账号和密码。
4、得知密码经过MD5加密后的字符串为d427a2742d8e2a4499dca0dc94e3d821
补充:
MD5 :(Message Digest Algorithm)是一种不可逆的加密算法,什么意思呢:举个例子:网站一般会保存用户密码:为了不让数据库管理员看到用户的密码。比如你输入的密码明明是这样的:123456网站加密后的密码可能是这样的:E10ADC3949BA59ABBE56E057F20F883E (鬼都看不懂)
由于MD5数据是不可逆向的,所有数据库管理员也不知道你输入的是啥。那么服务器如何验证你的密码呢?
其实很简单,他会将你输入的密码 通过 MD5 加密后,然后用加密后的那一串字符拿去比对,如果一样,就说明 密码正确。5、登录https://www.somd5.com/,输入上面得到的密码字符串,得到密码的明文为Lwl123456。
-
Java 泛型
2018-01-18 18:58:33泛型是什么意思呢?这个型字和整型的型是一个意思,这个范字就是泛指整、浮、char等,所以泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。使不同数据需求的时候调用一个方法即可。 Java 泛型...泛型是什么意思呢?这个型字和整型的型是一个意思,这个范字就是泛指整、浮、char等,所以泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。使不同数据需求的时候调用一个方法即可。
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
泛型方法
下面是定义泛型方法的规则:
- 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的)。
- 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。
- 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
- 泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等)。
举个例子:
使用泛型打印一个数组,数组存的数据类型是不确定的
public class test{ // 泛型方法 printArray public static < T > void printArray( T[] inputArray ) { // 输出数组元素 for ( T element : inputArray ){ System.out.printf( "%s ", element ); } System.out.println(); } public static void main( String args[] ) { // 创建不同类型数组: Integer, Double 和 Character Integer[] intArray = { 1, 2, 3, 4, 5 }; Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 }; Character[] charArray = { 'H', 'E', 'L', 'L', 'O' }; System.out.println( "整型数组元素为:" ); printArray( intArray ); // 传递一个整型数组 System.out.println( "\n双精度型数组元素为:" ); printArray( doubleArray ); // 传递一个双精度型数组 System.out.println( "\n字符型数组元素为:" ); printArray( charArray ); // 传递一个字符型数组 } }
输出:
整型数组元素为: 1 2 3 4 5 双精度型数组元素为: 1.1 2.2 3.3 4.4 字符型数组元素为: H E L L O
有界的类型参数:
可能有时候,你会想限制那些被允许传递到一个类型参数的类型种类范围。例如,一个操作数字的方法可能只希望接受Number或者Number子类的实例。这就是有界类型参数的目的。要声明一个有界的类型参数,首先列出类型参数的名称,后跟extends关键字,最后紧跟它的上界。泛型类
泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分。
和泛型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。因为他们接受一个或多个参数,这些类被称为参数化的类或参数化的类型。例子:
public class Box<T> { private T t; public void add(T t) { this.t = t; } public T get() { return t; } public static void main(String[] args) { Box<Integer> integerBox = new Box<Integer>(); Box<String> stringBox = new Box<String>(); integerBox.add(new Integer(666)); stringBox.add(new String("Lamitry")); System.out.printf("整型值为 :%d\n\n", integerBox.get()); System.out.printf("字符串为 :%s\n", stringBox.get()); } }
结果:
整型值为 :666 字符串为 :Lamitry
类型通配符
-
ORACLE出现错误1033和错误ORA-00600的解决方法
2020-12-16 04:09:11在非法关机以后,Oracle数据库经常会出现这个错误: EXP-00056:ORACLE错误1033出现 ORA-01033:ORACLE initialization or shutdown in progress ...这个错误就不用具体研究是什么意思了,下面是解决 -
Java学习8——异常
2021-01-28 21:12:50异常指程序中出现的不期而至的各种状况,如:文件找不到、非法参数等。英文名:Exception,意思是例外。 异常发生在程序运行期间,它影响了正常的程序执行流程 ...异常笔记Notes-
什么是异常
-
异常指程序中出现的不期而至的各种状况,如:文件找不到、非法参数等。英文名:Exception,意思是例外。
-
异常发生在程序运行期间,它影响了正常的程序执行流程
-
-
要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常
-
检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了。
-
运行时异常:运行时异常是可能被成簇元避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
-
错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
-
-
-
异常体系结构
-
Java把异常当作对象来处理,并定义一个基类java.Thowable作为所有异常的超类
-
在JavaAPI中已经定义了许多异常类,这些异常类分为两大类,错误Error 和异常Exception
-
Error
-
Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关
-
-
Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止;
-
-
还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDeFoundError)、链接错误(LinkageError)。这些错误是不可查的,因为他们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。
-
-
Exception(一般是由程序逻辑错误引起的)
-
算数异常类:ArithmeticExecption
-
-
空指针异常类型:NullPointerException
-
类型强制转换类型:ClassCastException
-
数组负下标异常:NegativeArrayException
-
数组下标越界异常:ArrayIndexOutOfBoundsException
-
文件未找到异常:FileNotFoundException
-
字符串转换为数字异常:NumberFormatException
-
操作数据库异常:SQLException
-
输入输出异常:IOException
-
方法未找到异常:NoSuchMethodException
-
下标越界异常:IndexOutOfBoundsExecption
-
非法参数异常:IllegalArgumentException
-
区别:error通常是灾难性的致命错误,是程序无法控制和处理的,当出现这些异常时候,Java虚拟机(JVM)一般会选择终止线程;Eception通常情况下是可以被程序处理的,并且在程序中应该尽可能的处理这些异常。
-
-
java异常处理机制
-
抛出异常
-
捕获异常
-
-
异常处理的五个关键字
-
try、catch、finally、throw、throws
-
-
-
-
自定义异常
-
使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常,用户自定义异常类,只需要继承Exception类即可。
-
-
在程序中使用自定义异常类大体分为以下几个步骤:
-
创建自定义异常类
-
在方法中通过throw关键字抛出异常对象
-
如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throw关键字指明要抛出给方法调用者的异常,继续下一步操作。
-
在出现异常方法的调用者中捕获并处理异常
-
-
-
-
实际应用中的经验总结
-
处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
-
在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
-
对于不确定的代码,也可以加上try-catch,处理潜在的异常
-
尽量去处理一异常,切忌只是简单调用print Stack Trace()去打印输出
-
具体如如何处理异常,要根据不同的业务需求和异常类型去决定
-
尽量添加finally语句块去释放占用的资源
-
拓展 -
-
你必须知道的495个C语言问题
2015-05-08 11:09:253.20 “semanticsof‘’changeinANSIC”的警告是什么意思? 3.21 “无符号保护”和“值保护”规则的区别在哪里? 第4章 指针 基本的指针应用 4.1 指针到底有什么好处? 4.2 我想声明一个指针并为它分配... -
Java SE(Java的异常处理机制)
2021-01-22 13:29:26异常值程序运行中出现的不期而至的各种状况,如文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序运行流程。 二、异常的简单分类 检查性异常 最具代表性的检查性异常是用户... -
你必须知道的495个C语言问题.[美]Steve Summit(带详细书签).pdf 压缩版
2018-04-08 02:26:503.20 “semantics of‘>’change in ANSI C”的警告是什么意思? 71 3.21 “无符号保护”和“值保护”规则的区别在哪里? 71 第4章 指针 74 基本的指针应用 74 4.1 指针到底有什么好处? 74 4.2 我想声明一个... -
你必须知道的495个C语言问题.[美]Steve Summit(带详细书签).pdf 高清版
2018-04-08 01:22:393.20 “semantics of‘>’change in ANSI C”的警告是什么意思? 71 3.21 “无符号保护”和“值保护”规则的区别在哪里? 71 第4章 指针 74 基本的指针应用 74 4.1 指针到底有什么好处? 74 4.2 我想声明一个... -
你必须知道的495个C语言问题(中文高清版)
2013-03-20 13:28:281.11 extern在函数声明中是什么意思? 1.12 关键字auto到底有什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#define有什么区别? 1.14 我似乎不能成功定义一个链表。我试过typedefstruct{... -
[你必须知道的495个C语言问题]人民邮电出版社
2012-08-18 19:02:281.11 extern在函数声明中是什么意思? 1.12 关键字auto到底有什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#define有什么区别? 1.14 我似乎不能成功定义一个链表。我试过typedefstruct{... -
你必须知道的495个C语言问题(高清版)
2010-03-31 16:24:093.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明... -
《你必须知道的495个C语言问题》
2010-03-20 16:41:183.20 “semantics of‘’change in ANSI C”的警告是什么意思? 42 3.21 “无符号保护”和“值保护”规则的区别在哪里? 42 第4章 指针 45 基本的指针应用 45 4.1 指针到底有什么好处? 45 4.2 我想声明... -
Oracle 存储过程 字符串拼接 SQL注入的问题
2021-02-03 10:45:01之前项目中写的一个大的存储过程 中间用到的SQL字符串拼接的方法 来完成业务的流程 类似SQL的动态拼接把 ...但是这有个严重的问题 就是用字符串拼接的方法实现的sql , 如果传入的参数 是非法的 如(or ' 1=1 --)很... -
Day17 异常
2021-03-25 15:40:54异常 什么是异常 实际工作中,遇到的情况...异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序执行流程。 package com.Exception -
Java异常机制
2021-03-01 13:39:50异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序执行流程。 简单分类 检查性异常:最具代表的检查性异常是用户错误或问题... -
【KuangStudy】Java异常处理详解
2021-02-09 16:07:16异常处理详解 Error和Exception 什么是异常 程序实际运行中,遇到的情况不可能是非常完美的。...异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等 异常发生在程序运 -
Day10
2021-03-08 16:26:11异常 什么是异常? 实际工作中,遇到的情况可能不是非常完美的。...异常指程序中余小宁出现不期而至的各种情况,如:文件找不到、网络连接失败、非法参数等 异常发生在运行期间,它影响了正常的程序执行流程 -
《你必须知道的495个C语言问题(中文版)》.pdf
2011-05-19 12:34:053.20 “semantics of‘’change in ANSI C”的警告是什么意思? 3.21 “无符号保护”和“值保护”规则的区别在哪里? 第4章 指针 基本的指针应用 4.1 指针到底有什么好处? 4.2 我想声明一个指针并为它... -
异常
2020-12-21 01:50:14异常指程序运行中出现的不期而至的各种情况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序执行流程。 异常分类 检查性异常:最具代表的检查性异常指用户输入错误 -
异常学习-java
2020-12-19 16:47:18指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序执行流程 异常类型 检查性异常: 最具代表的检查性异常是用户错误或问题引起的异常... -
C语言FAQ 常见问题列表
2010-10-28 16:41:29o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6 我似乎不能成功定义一个链表。我试过 typedef struct { char *item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道... -
Java异常
2021-04-06 17:49:52什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户...异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了 -
异常处理
2021-04-12 19:59:32异常 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:写一个模块,用户输入不一定符合你的要求、你的程序...异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异 -
17、Java异常机制
2020-12-04 22:15:29一、什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要...异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数 -
[你必须知道的495个C语言问题]人民邮电出版社.扫描版.pdf
2011-10-01 21:39:523.20 “semantics of‘’change in ANSI C”的警告是什么意思? 3.21 “无符号保护”和“值保护”规则的区别在哪里? 第4章 指针 基本的指针应用 4.1 指针到底有什么好处? 4.2 我想声明一个指针并为它分配一些空间... -
你必须知道的495个C语言问题.pdf
2013-01-20 14:30:543.20 “semantics of‘’change in ANSI C”的警告是什么意思? 3.21 “无符号保护”和“值保护”规则的区别在哪里? 第4章 指针 基本的指针应用 4.1 指针到底有什么好处? 4.2 我想声明一个指针并为它分配一些空间...