自动化测试 - 模糊测试

起源与发展

  1. 1988,Barton Miller,为了提高 UNIX 操作系统的可靠性(发送字符信息乱码导致系统崩溃)
  2. 技术构想:
    1. 核心组件:一组用于产生随机字符的程序
    2. 中心思想:以随机字符串作为输入,运行操作系统组件(Utilities),观察是否崩溃
    3. 最终结果:保留能够产生崩溃的字符串输入,分析崩溃的类型,对崩溃进行分类
阅读更多
云计算架构

云计算架构

计算架构和云计算架构的二维视角

云平台操作系统

阅读更多
Java String 深入理解

StringStringBufferStringBuilder 的区别

可变性

  1. String 是不可变的(详细原因后面分析)
  2. StringBuilderStringBuffer 都继承自 AbstractStringBuilder 类,在该类中也是使用 char 数组来保存字符串(JDK9 之后改为了使用 byte 数组,后面会介绍),对于这个数组,在 AbstractStringBuilder 中没有使用 privatefinal 的关键字修饰(在 String 类当中有 privatefinal 修复,不过这其实并不是导致 String 不可变的原因),同时 AbstractStringBuilder 提供了很多修改字符串的方法,比如 append()insert()delete()replace() 等。
阅读更多
Java equals() and hashcode()

equals() 的性质

  1. Refleive(自反性):对于任意一个对象 a,a.euals(a) 总是返回 true
  2. Symmetric(对称性):对于任意两个对象 a,b,如果 a.equals(b) 返回 true,那么 b.equals(a) 一定也会返回 true
  3. Transitive(传递性):对于任意三个对象 a,b,c:如果 a.equals(b)b.equals(c) 都返回 true,那么 a.equals(c) 一定也会返回 true
  4. Consistent(持续性):对于任意两个对象 a,b,多次调用 a.equals(b) 返回的都是 true 或者返回的都是 false(即多次调用都只会返回相同的结果,前提是没有修改过 a 或 b)
阅读更多
自动化测试 - 变异测试

背景

两个测试人员关心的问题

  1. 如何编写能够暴露缺陷的测试用例 \rightarrow 如何引导测试
  2. 如何评估测试套件的质量(提升测试可信度)\rightarrow 如何评估测试
阅读更多
云计算-Overview

云计算定义

  • 综合的概念 – 并不存在一个权威的定义 – 盲人摸象,各有侧重
  • 分析师和分析机构对云计算的理解
    • 非常抽象,不涉及任何实现,普通用户的视角
    • 一个集中的环境,统一提供各种 IT 服务,用户按需付费 – 通过资源共享节约成本
阅读更多
需求与商业模式创新-Introduction

问题域与解系统

软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。

软件解决问题的基础:模拟与共享

阅读更多
CSS 笔记

什么是 CSS

Cascading Style Sheets,层叠样式表

  1. CSS 不是编程语言
  2. CSS 告诉浏览器如何指定样式、布局等
  3. CSS 最重要的是选择器(Selector),其余需要学习的包括浮动、定位、动画等
阅读更多
HTML 笔记

概述

HTML, Hyper Text Markup Language 超文本标记语言

超文本:包括文字、图片、音频、视频、动画等。HTML5 提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图标、图像和动画,以及不需要安装任何插件直接使用网页播放视频等

阅读更多
Nacos config server and OpenFeign

Nacos 配置管理

统一配置管理

为什么需要配置管理

  1. 配置更新会导致服务重启
  2. 多个服务的相同配置更新需要修改多个地方,可修改性不足。
阅读更多