junit

简时——alpha冲刺测试随笔

拥有回忆 提交于 2020-08-06 15:50:12
这个作业属于哪个课程 2020春|S班 这个作业要求在哪里 团队作业第五次——站立式会议+alpha冲刺 团队名称 TimeMaster 这个作业的目标 描述项目进展状况 作业正文 简时——alpha冲刺测试随笔 其他参考文献 《构建之法》 测试工作安排 前端: 没有专门的测试人员,主要由前端负责人进行测试 后端: 没有专门安排一个测试人员,而是选择对自己编写的controller以及service进行完整的单元测试(黑盒) 测试工具选择和运用 前端: android studio 里上运行虚拟机,验证各个页面之间的跳转和信息传递 后端: IDEA内置的Junit4,service层简单利用断言验证正确性,controller利用Mock和postman进行测试,Mock的测试结果在控制台查看,postman的测试结果看返回的responsed。 测试用例文档 测试用例文档链接 测试体会 陈伟杰:软件测试是程序开发过程的必要阶段,必须认真对待软件测试。测试过程发现很多没考虑到的东西,测试用例比较少今后还要边学边用。由于本次测试经验不足,仅仅使用单元测试可能不够完整,还需在后续的完善和下个版本冲刺进行性能测试,网络测试等工作。 林羽希:安卓端的测试。单元测试问题不是太大,不过仍有一些功能考虑不周,例如锁屏的功能,没有考虑特殊情况,直接将整个手机锁死,什么app都不能用

OO 第四单元总结

时光总嘲笑我的痴心妄想 提交于 2020-08-06 14:52:10
OO 第四单元总结 目录 OO 第四单元总结 本单元三次作业的架构设计 第一次作业 第二次作业 第三次作业 四个单元中架构设计及 OO 方法理解的演进 第一单元 第二单元 第三单元 第四单元 总结 四个单元中测试理解与实践的演进 第一单元 第二单元 第三单元 第四单元 总结 课程收获 Java 编程 OO 思想 架构 测试 分析 正则表达式 JML 规格 JUnit 单元测试 多线程 三个具体改进建议 线上学习 OO 课程的体会 总结 本单元三次作业的架构设计 第一次作业 实际上本单元三次作业,做的是信息查询的工作。 .mdj 文件是用 JSON 格式表示的 UML 图,通过官方给的转换器转换成 JSON 文件。每个 JSON 文件一个节点,可以在 AppRunner 中解析回原来的对象。整个是一个序列化与反序列化的过程,但 UML 图的各种关系需要被重建。 由于操作以查询为主且 UML 图各种元素的关系比较清晰,使用分类的方式进行重建, UmlClass 、 UmlOperation 、 UmlParameter 等类的对象按照单独的类处理,每个类有它的管理器来管理。顶层的 MyInteraction 负责从各种管理器中得到相应的数据,并进行查询和判断。管理器中普遍使用了记忆化,确保只遍历一遍 elements 就能记住所有需要记住的关系。 具体存储对应关系是以 Map 为主

简单Servlet的get/post请求获取参数

☆樱花仙子☆ 提交于 2020-08-06 13:45:31
一.通过maven创建一个servlet项目 二。将创建好的项目转化为web项目 三,pom文件 <? xml version ="1.0" encoding ="UTF-8" ?> <project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi :schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.huawei </groupId> <artifactId> servlet_demo </artifactId> <version> 1.0-SNAPSHOT </version> <dependencies> <!-- JUnit配置 --> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 3.8.1 </version> <scope> test </scope>

软件测试培训单元测试学习资料

怎甘沉沦 提交于 2020-08-06 11:06:50
最近,在网上看到过一个调查,调查的内容是“程序员在项目开发中编写单元测试的情况”。当然,至于调查的结果,我想聪明的你已经可以猜到了。高达 58.3% 的比例,一般情况下不写单元测试,只有偶尔的情况才会写写。16.6% 的程序员从来都不写单元测试。只有很少的一部分程序员才会在自己的代码中进行单元测试,并保证方法测试通过。看到这些,你想到了什么?   虽然,这个调查可能会有些片面性,但这也基本反应了国内程序员的开发现状,很少有程序员能够比较认真的去编写单元测试。而且,甚至有的程序员根本就不知道为什么要写单元测试(这一点让我很郁闷)。他们经常会说,公司里不是有测试人员嘛,测试应该是他们要做的事,我们的工作只是开发(这位仁兄肯定没有学过软件工程)。当然,这些并不是偶然的,正如佛经里边说的“因果循环”,有果必有因。那么,到底是什么原因,导致程序员对单元测试这么不感冒呢?   通过与几个朋友的讨论,以及网上的调查,主要有这几种原因,导致程序员对单元测试很排斥,或许说很不以为意。   · 不知道怎么编写单元测试   · 项目没有要求,所以不编写   · 单元测试价值不高,完全是浪费时间   · 业务逻辑比较简单,不值得编写单元测试   · 不管怎样,集成测试将会抓住所有的 bug,用不着进行单元测试   · 在项目的前期还是尽量去编写单元测试,但是越到项目的后期就越失控   · 为了完成编码任务

JDBC事务复习

故事扮演 提交于 2020-08-06 03:14:21
目录 点睛 事务编程一般步骤 需求 Junit单元测试 数据库 代码 点睛 要么都成功,要么都失败。 ACID原则:保证数据的安全。 事务编程一般步骤 1 开启事务 2 事务提交 commit 3 事务回滚 rollback 4 关闭事务 需求 实现一个转账需求 A:1000 B:1000 实现A向B转账100元。 Junit单元测试 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> 数据库 CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `money` float DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into account(id,name,money) values(1,'A',1000); insert into account(id,name,money) values(2,'B',1000); 代码 package com.cakin; import

Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法

人盡茶涼 提交于 2020-08-05 23:10:20
1. BeanFactory   BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。   Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统或应用。   实例化容器 1 Resource resource = new FileSystemResource("beans.xml" ); 2 BeanFactory factory = new XmlBeanFactory(resource); 1 ClassPathResource resource = new ClassPathResource("beans.xml" ); 2 BeanFactory factory = new XmlBeanFactory(resource); 1 ApplicationContext context = new ClassPathXmlApplicationContext( new String[] {

OO第三单元总结

穿精又带淫゛_ 提交于 2020-08-05 20:50:04
一.JML理论基础及应用工具链 1.理论基础 原子表达式 \result :表示一个非void的方法执行后的返回值。 \old(expr) :表示一个表达式expr在执行相应方法前的取值 \not_assigned(x, y, ...) :表示括号内的变量在方法执行过程中是否被赋值。没有被赋值则返回true;否则返回false \not_modified(x, y, ...) :类似not_assigned,区别是表示变量取值是否变化 \type(type) :返回类型type对应的Class 量化表达式 \forall :全称量词修饰的表达式,表示对于给定范围内的元素,每个元素都满足相应约束 \exists :存在量词修饰的表达式,表达对于给定范围内的元素,存在某个元素满足相应的约束 \sum :返回给定范围内的表达式的和 \max 和 min :分别返回给定范围内表达式的最大和最小值 方法规格 前置条件:前置条件通过requires子句来表示: requires P ,即要求确保条件P为真 后置条件:后置条件通过ensures子句来表示: ensures P ,即要求确保方法执行返回结果一定满足谓词P 副作用限定:通过 assignable 和 modifiable ,分别表示可赋值、可修改 类型规格 不变式invariant:是要求在所有可见状态下都必须满足的特性,

Spring葵花宝典

不打扰是莪最后的温柔 提交于 2020-08-05 09:24:14
一 Spring简介 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 为了解决企业应用开发的复杂性而创建 二 Spring功能 1. 方便解耦 简化开发 Spring就是一个大工厂 专门负责生成Bean 可以将所有对象创建和依赖关系维护交给Spring管理 2. AOP编程的支持 Spring提供面向切面编程 可以方便的实现对程序进行权限拦截 运行监控等功能 3. 声明式事务的支持 只需要通过配置就可以完成对事务的管理 而无需手动编程 4. 方便程序的测试 Spring对Junit4支持 可以通过注解方便的测试Spring程序 5. 方便集成各种优秀框架 Spring不排斥各种优秀的开源框架 其内部提供了对各种优秀框架的支持 6. 降低JavaEE API的使用难度 对JavaEE开发中一些难用的API(JDBC JavaMail WebService等) 都提供了封装 使这些API应用难度大大降低 三 Spring体系结构 四 Spring初体验 1. 新建一个Maven项目 pom.xml <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001

elasticsearch返回指定字段

ε祈祈猫儿з 提交于 2020-08-05 06:18:29
1. postman 请求elasticsearch 返回指定字段   1.直接在请求体当中,json 数据,对应的是一个列表 {   "_source":['title','id','desc'],   "from":10,   "size":100, }    至于from和size是浅分页    2. 或者这样 { " _source " :{ "includes " :[ " title " , " url " , " id " ], "excludes " :[ " desc " ] } }   其中includes代表需要返回的字段,excludes代表不要返回的字段   3.直接在请求url带上需要查询参数 curl -XGET ' localhost:9200/_search?pretty&filter_path=took,hits.hits._id,hits.hits._score ' { " took " : 3 , " hits " : { " hits " : [ { " _id " : " 3640 " , " _score " : 1.0 }, { " _id " : " 3642 " , " _score " : 1.0 } ] } }   对_source的字段进行过滤 curl -XGET ' localhost:9200/_search

BUAA_OO_2020_UNIT3

試著忘記壹切 提交于 2020-08-04 20:01:47
一、JML初探 ​ JML(Java Modeling Language) 作为一种形式化语言,可以约束 Java 代码中类和方法的状态和行为形成规格,通过将一系列具体代码实现抽象成明确的行为接口,可以形成一种契约式编程模式, JML 设计者无需考虑实际的数据结构与算法,可以聚焦于程序的整体逻辑, JML 形式化语言的无二义性能让实现者准确理解接口功能,根据问题需要选择合适的实现方式,同时 JML 可以帮助实现者开展代码测试与形式化验证,当然这时就要分析出模型语言映射到具体代码的抽象函数了。 JML表达式 ​ JML 可以内嵌在 .java 内,很方便,以 // @ 行注释或 /* @ ... @ */ 块注释, JML 表达式支持 Java 表达式作为基础。针对更复杂的逻辑引入了量词表达式, \forall 关键字类似数学中的 ∀ ,用法为 \forall v; P(v); Q(v) ,等价于 ∀v(P(v) → Q(v)) ; \exists 关键字类似数学中的 ∃ ,用法为 \exists v; P(v); Q(v) ,等价于 ∃v(P(v) ^ Q(v)) ;这是在本单元比较常用的,当然还有 \max, \sum, \min 等实用的关键字。 ​ 还可以使用特殊操作符 ==> <==> 表示蕴含与等价关系,使用这种操作符可以增强 JML 的可读性,同时还有 \nothing