test

Test(TDD)

我们两清 提交于 2020-03-24 01:08:34
3 月,跳不动了?>>> 测试分类 单元测试:白盒测试|开发人员测试|方法测试|单类测试 集成测试:灰盒测试|开发人员测试|类关联测试|模块测试 系统测试:黑盒测试|开发人员测试|模块集成测试|功能测试|端到端测试| 验收测试:黑盒测试|客户测试|功能测试|端到端测试|交互测试|可用性测试|性能测试|压力测试 测试环境 Dev环境测试: 单元测试|集成测试 Intg环境测试:单元测试|集成测试|系统测试|验收测试 Test环境测试:系统测试|验收测试 Prod环境测试:验收测试 测试过程 1) 明确当前要完成的功能。可以记录成一个 TODO 列表。 2) 快速完成针对此功能的测试用例编写。 3) 测试代码编译不通过。 4) 编写对应的功能代码。 5) 测试通过。 6) 对代码进行重构,并保证测试通过。 7) 循环完成所有功能的开发。 测试原则 测试隔离 。不同代码的测试应该相互隔离。对一块代码的测试只考虑此代码的测试,不要考虑其实现细节(比如它使用了其他类的边界条件)。 一顶帽子 。开发人员开发过程中要做不同的工作,比如:编写测试代码、开发功能代码、对代码重构等。做不同的事,承担不同的角色。开发人员完成对应的工作时应该保持注意力集中在当前工作上,而不要过多的考虑其他方面的细节,保证头上只有一顶帽子。避免考虑无关细节过多,无谓地增加复杂度。 测试列表 。需要测试的功能点很多

JS 常用正则表达式备忘录

假装没事ソ 提交于 2020-03-23 22:16:56
3 月,跳不动了?>>> 匹配正则 使用 .test() 方法 let testString = "My test string" ; let testRegex = /string/ ; testRegex.test(testString); 匹配多个模式 使用操作符号 | const regex = /yes|no|maybe/ ; 忽略大小写 使用 i 标志表示忽略大小写 const caseInsensitiveRegex = /ignore case/i ; const testString = 'We use the i flag to iGnOrE CasE' ; caseInsensitiveRegex.test(testString); // true 提取变量的第一个匹配项 使用 .match() 方法 const match = "Hello World!" .match( /hello/i ); // "Hello" 提取数组中的所有匹配项 使用 g 标志 const testString = "Repeat repeat rePeAT" ; const regexWithAllMatches = /Repeat/gi ; testString.match(regexWithAllMatches); // [ "Repeat" , "repeat" ,

MySQL 数据定义语言(DDL)

房东的猫 提交于 2020-03-23 18:05:46
SQL 包含以下 4 部分: 1 数据定义语言(DDL):DROP、CREATE、ALTER 等语句。 2 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 3 数据查询语言(DQL):SELECT 语句。 4 数据控制语言(DCL): GRANT、REVOKE、COMMIT、ROLLBACK 等语句。 MySQL之DDL(Data Definition Language): 数据定义语言:CREATE,ALERT,DROP等 DDL:操作数据库,表(CRUD) 1.操作数据库 (1)C(Create):创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [[DEFAULT] CHARACTER SET 字符集名] [[DEFAULT] COLLATE 校对规则名]; eg. mysql> CREATE DATABASE IF NOT EXISTS test -> DEFAULT CHARACTER SET utf8 -> DEFAULT COLLATE utf8_general_ci; Query OK, 1 row affected, 1 warning (0.01 sec) (2)R(Retrieve):查询 SHOW DATABASES [LIKE '数据库名']; eg.查询全部 mysql>

产品开发各阶段缩写解释(EVT,DVT,DMT,MVT,PVT,MP)

微笑、不失礼 提交于 2020-03-23 14:17:00
EVT : Engineering Verification Test, 工程验证测试 产品开发初期的设计验证。设计者实现样品时做初期的测试验证,包括功能和安规测试,一般由RD(Research & Development)对样品进行全面验证,因为是样品,问题可能较多,测试可能会做N 次。 DVT: Design Verification Test,设计验证测试 解决样品在EVT 阶段的问题后进行,对所有信号的电平和时序进行测试,完成安规测试,由RD 和DQA(Design Quality Assurance)验证,此时产品基本定型。 DMT: Design Maturity Test,成熟度验证 可与DVT 同时进行,主要极限条件下测试产品的MTBF(Mean Time Between Failure)。HALT(High Accelerated Life Test)& HASS(High Accelerated Stress Screen)等,是检验产品潜在缺陷的有效方法。 MVT: Mass-Production Verification Test,量产验证测试 验证量产时产品的大批量一致性,由DQA 验证。 PVT: Pilot-run Verification Test,小批量过程验证测试 验证新机型的各功能实现状况并进行稳定性及可靠性测试。 MP: Mass

映射一对一关联

天大地大妈咪最大 提交于 2020-03-23 12:54:50
Hibernate提供了两种一对一关联关系的方式,按照外键映射和按照主键映射. 一对一关系映射即为关系双方都含有对方一个引用其实在生活中一 对一关系也很常见比如人和身份证学生和学号等都是一对一的关 系映射一对一映射分为单向的和双向的没种关系映射又可以分为主 键关联映射,唯一外键关联映射。 保存员工档案的同时分配给员工一个账号.. 在映射持久化对象中的属性时,需要注意一些问题 Resume1.hbm.xml <many-to-many   name="users1"   class="cn.happy.entity.Users1"   column="resuserid"   cascade="all" //为了   unique="true" //表明每一个resume1对象和User1对象之间一对一的关联关系 /> Users1.hbm.xml <one-to-one name="resume1"   class="cn.happy.entity.User"   property-ref="users1" //表明Resume1的user1属性建立了从User1对象到Resume1对象的关联 /> Test代码 package cn.happy.test; import org.hibernate.Session; import org.hibernate

映射一对一关联

安稳与你 提交于 2020-03-23 12:54:34
00:hibernate提供了两种一对一关联关系的方式,按照外键映射和按照主键映射. 01.(1)保存员工档案的同时分配给员工一个账号.. 在映射持久化对象中的属性时,需要注意一些问题 Resume1.hbm.xml <many-to-many   name="users1"   class="cn.happy.entity.Users1"   column="resuserid"   cascade="all" //为了   unique="true" //表明每一个resume1对象和User1对象之间一对一的关联关系 /> Users1.hbm.xml <one-to-one name="resume1"   class="cn.happy.entity.User"   property-ref="users1" //表明Resume1的user1属性建立了从User1对象到Resume1对象的关联 /> Test代码 package cn.happy.test; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.After; import org.junit.Before; import org.junit.Test; import cn.happy.entity

hibernate的映射关系之一对多

╄→尐↘猪︶ㄣ 提交于 2020-03-23 12:52:27
关系 :事物之间相互作用、相互联系的状态。范围最大。 联系 :在关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n。 关联 :表示对象之间的关系,既有数量性,又有方向性;动词:将对象之间通过某种方式联系起来。 映射 :这里指java对象和数据库表的一种对应关系。动词:形成这种对应关系。 级联 :有关系的双方中操作一方,另一方也将采取一些动作。 关联的联系种类 在不考虑关联的方向前提下,联系就是关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n。 一对一联系(1:1):如用户和身份证、一夫一妻 一对多联系(1:n):如班级和学生 多对多联系(m:n):如学生和选课 关联的方向 关联关系的方向可分为单向关联和双向关联。 双向关联的方向其实就不重要了,因为通过任一一方都可以维护彼此的关系。也就是说:在双向关联中一对多和多对一都是一样的。 利用Java Project项目演示试用Hibernate技术添加数据到数据库 1 建立项目之后首先呢肯定是需要导入相关的JAR包的 2 然后是创建实体类 package cn.itcast.hiberate.sh.domain; public class Student { private Long sid; private String sname; private String description; public Long

Mybatis 框架学习

邮差的信 提交于 2020-03-23 05:45:35
Mybatis 一. 入门 1. JDBC 回顾 (1). 准备数据库 新建 mybatis_learn 数据库 执行 sql 脚本 1 -- ---------------------------- 2 -- Table structure for `Blog` 3 -- ---------------------------- 4 DROP TABLE IF EXISTS `Blog`; 5 CREATE TABLE `Blog` ( 6 `id` int(11) NOT NULL AUTO_INCREMENT, 7 `author` varchar(128) NOT NULL COMMENT '作者', 8 `title` varchar(128) NOT NULL COMMENT '博客标题', 9 PRIMARY KEY (`id`) 10 ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; 11 ​ 12 -- ---------------------------- 13 -- Records of Blog 14 -- ---------------------------- 15 INSERT INTO `Blog` VALUES ('1', '张三', 'Java基础概述'); 16 INSERT

【Java的JNI快速学习教程】

笑着哭i 提交于 2020-03-23 05:33:18
1. JNI简介   JNI是Java Native Interface的英文缩写,意为Java本地接口。   问题来源:由于Java编写底层的应用较难实现,在一些实时性要求非常高的部分Java较难胜任(实时性要求高的地方目前还未涉及,实时性这类话题有待考究)。   解决办法:Java使用JNI可以调用现有的本地库(C/C++开发任何和系统相关的程序和类库),极大地灵活Java的开发。 2. JNI快速学习教程 2.1 问题:   使用JNI写一段代码,实现string_Java_Test_helloworld(JNIEnv *env, jclass cls , jstring j_str)函数,实现在字符串j_str("world")前面加上hello,并返回。 2.2 解决问题过程:   I. 编写Test.java类: 1 public class Test{ 2 // native interface 3 public native String helloworld(String text); 4 5 public static void main(String[] args){ 6 // Load dynamic library 7 System.loadLibrary("Test2"); 8 Test ts = new Test(); 9 String text =

java test 1

久未见 提交于 2020-03-23 01:19:08
计划从今天开始推出Java每日一题,(都是一些很简单的Java基础问题,大部分是从百度知道的问题中整理出来的),希望大家能够积极参与,给出自己的解法,共同进步! 使用java.lang.Math类,生成100个0到99之间的随机整数,找出它们之中的最大者和最小者,并统计大于50的整数个数 Java代码 <embed height="15" width="14" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowscriptaccess="always" quality="high" flashvars="clipboard=package%20test01%3B%0Apublic%20class%20RandomNum%20%7B%0A%0A%09public%20static%20void%20main(String%5B%5D%20args)%20%7B%0A%09%09int%20number%5B%5D%20%3D%20new%20int%5B100%5D%3B%0A%09%09int%20record%20%3D%200%3B%0A%09%09for%20(int%20i%20%3D%200%3B%20i%20%3C