静态测试

使用Docker测试静态网站

主宰稳场 提交于 2019-12-04 17:48:45
使用Docker测试静态网站 目录 1.1 Sample网站的初始Dockerfile 1.2 构建Sample网站和Nginx镜像 1.3 从Sample网站和Nginx镜像构建容器 1.4 修改网站 Sample网站的初始Dockerfile 创建Dockerfile文本 mkdir sample cd sample touch Dockerfile 配置Nginx文件 cd sample mkdir nginx && cd nginx wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/ master/code/5/sample/nginx/global.conf wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/nginx.conf cd .. Dockerfile文件 FROM ubuntu:14.04 MAINTAINER Ja Tu "JAMES@example.com" ENV REFESHED_AT 2019-11-17 RUN apt-get update RUN apt-get -y -q install nginx RUN mkdir -p /var

java中的静态代理和动态代理

余生颓废 提交于 2019-12-03 02:35:07
java中的静态代理和动态代理 一、什么是代理 假如有一个目标对象A,使用者想使用A中的方法,它可以先访问一个代理对象B,再由B去访问A,此时B对象就是A的代理;这时可以在不改变A源码的情况下,通过B来增强A中方法的功能。其中的A类被称为委托类,B类被称为代理类。 代理的实现方式有两种,静态代理和动态代理。 二、静态代理 静态代理实际上是创建了一个代理类,传入原始的委托类的对象,在代理类的内部先执行增强的功能,再执行委托类的方法。为了保持功能的一致,委托类和代理类会实现同一个接口,以下以一个UserService的场景举例。 假设存在一个IUserService接口,其中有对用户相关操作的方法 package com.lyy.service; /** * UserService接口,提供用户相关的操作 */ public interface IUserService { void addUser(String username); void deleteUser(String userId); } UserServiceImpl是实现类 package com.lyy.service.impl; import com.lyy.service.IUserService; public class UserServiceImpl implements IUserService {

软件测试方法小结

匿名 (未验证) 提交于 2019-12-03 00:39:02
一 软件测试分类 软件测试的分类五花八门,最关键的是:在系统或非系统学习了软件质量与测试之后,要明白在什么阶段、什么情况下主要使用什么方法做软件测试。   1.以是否执行程序:静态测试、动态测试。     静态测试:桌面检查、走查、审查、软件评审。     动态测试:       黑盒测试: 等价类划分法、边界值分析法、因果图法 、判定表法、 场景法 、错误推测法等。       白盒测试:语句覆盖法、 判定覆盖法 、条件覆盖法、判定/条件覆盖法、条件组合覆盖法、 路径覆盖法 、 基本路径覆盖法 、 程序插桩测试法 、程序变异测试法、循环语句测试法、代码检查法(含: 代码评审[静态测试方法] 、 基于缺陷模式测试 等)等。   2.以是否重点关注程序内部程序或外部输出结果分:黑盒测试与白盒测试。   3.以时间阶段划分: 单元测试 / 集成测试 / 系统测试 / 验收测试 原文:https://www.cnblogs.com/johnnyzen/p/9247713.html

Spring代理模式

久未见 提交于 2019-12-02 16:35:08
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法 举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,来达到同样的目的.明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决.这就是代理思想在现实中的一个例子 用图表示如下: 代理模式的关键点是:代理对象与目标对象.代理对象是对目标对象的扩展,并会调用目标对象 1.1.静态代理(类似于装饰者模式) 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类. 下面举个案例来解释: 模拟保存动作,定义一个保存动作的接口:IUserDao.java,然后目标对象实现这个接口的方法UserDao.java,此时如果使用静态代理方 式,就需要在代理对象(UserDaoProxy.java)中也实现IUserDao接口.调用的时候通过调用代理对象的方法来调用目标对象. 需要注意的是,代理对象与目标对象要实现相同的接口

动态SQL、绑定变量、静态SQL的性能对比

点点圈 提交于 2019-11-30 19:47:08
1 测试样例 下面的三个存储过程,分别使用了动态 SQL 、绑定变量、静态 SQL 三种编程方式。具体存储过程内容如下: l 动态 SQL create or replace procedure proc1 as begin for i in 1 .. 100000 loop execute immediate 'insertinto t values (' || i || ')'; commit; end loop; end proc1; l 绑定变量 create or replace procedure proc2 as begin for i in 1 .. 100000 loop execute immediate 'insert into t values(:X)' using i; commit; end loop; end proc2; l 静态 SQL create or replace procedure proc3 as begin for i in 1 .. 100000 loop insert into t values(i); commit; end loop; end proc3; 2 测试过程 测试过程的步骤为 1) drop table t purge; 2) create table t (x int); 3) alter system

单元测试junit使用

你说的曾经没有我的故事 提交于 2019-11-30 10:59:17
1.maven依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>2.0.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>2.0.2</version> <scope>test</scope> </dependency> 2.方法介绍(junit) (1)@BeforeClass:静态方法,当前测试类加载前调用; (2)@AfterClass:静态方法,当前测试类回收前调用; (3)@Before:每一次执行@Test修饰的测试方法前调用,常用于初始化; (4)@After:每一次执行完@Test修饰的测试方法后调用; (5)

虚拟化之VMware vsphere安装

早过忘川 提交于 2019-11-29 19:32:47
web管理主页 管理端 登录设置静态网络IP 测试网络是否修改后正常 建议对虚拟机做快照,方便后期恢复基础环境。 2、安装 VMware vCenter Server: 快捷键:win+E进入文件管理器、选择光驱启动 安装 同意版权 同意协议 选择切入式安装 定义FQCN名称、注意,一旦修改将无法改变 问题: 设置密码要符合复杂度:密码:Qw546803. 设置复杂密码 使用本地账户登录 使用本地数据库 使用默认端口即可 使用默认目录 下一步即可 验证安装信息 等待安装完成,大概需要十分钟,耐心等待 来源: https://www.cnblogs.com/pansn/p/11529709.html

Lambda表达式与方法引用

ε祈祈猫儿з 提交于 2019-11-28 10:43:23
1 Lambda表达式 1.1 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做数据” 面向对象思想强调“必须通过对象的形式来做事情” 函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做” 而我们要学的Lambda表达式就是函数式思想的体现 1.2 体验Lambda表达式 需求 :启动一个线程,在控制台输出一句话:多线程程序启动了 方式1: 定义一个类MyRunnable实现Runnable接口,重写run()方法 创建MyRunnable类的对象 创建Thread类的对象,把MyRunnable的对象作为构造参数传递 启动线程 // MyRunnable类实现了Runnable接口 public class MyThread implements Runnable{ @Override public void run() { System.out.println("多线程程序启动了"); } } // Test类 public class Test { public static void main(String[] args) { MyThread myThread = new MyThread(); Thread thread = new Thread(myThread,"Yuki"); thread.start(

PowerMock用法[转]

允我心安 提交于 2019-11-28 02:14:11
转:http://agiledon.github.io/blog/2013/11/21/play-trick-with-powermock/ 当我们面对一个遗留系统时,常见的问题是没有测试。正如Michael Feathers在Working Effectively with Legacy Code一书中对“遗留代码”的定义。他将其简单归纳为“没有测试的代码”。真是太贴切了!正是因为没有测试,使得我们对遗留代码的任何重构都有些战战兢 兢,甚至成为开发人员抵制重构的借口。从收益与成本的比例来看,对于这样的系统,我一贯认为不要盲目进行重构。因为重构的真正适用场景其实是发生在开发期 间,而非维护期间。当然,提升自己的重构能力,尤其学会运用IDE提供的自动重构工具,可以在一定程度上保障重构的质量。然而,安全的做法,还是需要为其 编写测试。 测试是分层的,即使是针对自动化测试。面对遗留系统,成本相对较低的是针对功能特性编写的功能测试(或者说是验收测试),这可以运用一些BDD框架 如Cucumber、JBehave等。由于它的测试粒度较粗,可以以较少的测试用例覆盖系统的主要功能。然而,它的缺点同样存在,那就是反馈周期相对较 长。这就好像你置身一个陌生的城市,在找不到路的情况下,只是跟着感觉走。走了数十公里之后,方才幡然醒悟,想起要翻一翻带在手上的地图。倘若发现方向走 错,再要回转就已经晚了

Spring三种实例化Bean的方式

三世轮回 提交于 2019-11-27 20:34:52
使用类构造器实例化(默认无参数) 使用静态工厂方法实例化(简单工厂模式) 使用实例工厂方法实例化(工厂方法模式) 第一种: 无参构造器的方法 测试: 第二种:静态工厂的方法 测试: 第三种:实例工厂的方法 测试: 来源: https://www.cnblogs.com/yangHS/p/11375229.html